)]}'
{
  "log": [
    {
      "commit": "37c7910072de4bf282f95f7c64f91155d6f2ce7e",
      "tree": "538255b51699481f3a3ea092c882c7c048b758d2",
      "parents": [
        "5501e8f84b7e735f1592b86492ab785a2f401bcf"
      ],
      "author": {
        "name": "Csaba Ringhofer",
        "email": "csringhofer@cloudera.com",
        "time": "Mon Sep 15 14:40:17 2025 +0200"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Tue Sep 16 18:23:18 2025 -0700"
      },
      "message": "THRIFT-5892: Always define PY_SSIZE_T_CLEAN before including Python.h\n\nThe error THRIFT-5488 tried to solve resurfaced in a spefic\nenvironment: Python3.11.13, chainguard based docker image, GCC 15\n\nDefining PY_SSIZE_T_CLEAN in module.cpp fixed the issue in that\nenvironment. Also defined it in types.cpp to consistently define\nit before including Python.h, which seems to be the recommended way:\nhttps://docs.python.org/3.11/c-api/intro.html#include-files\n\nIt is not clear to me why this was a problem in some environments\nand not in others. My guess is that including Python.h with different\ndefines leads to different behavior based on GCC version and options.\n"
    },
    {
      "commit": "0a760ff35ab8f348001aeaf85d00dd43ab3fc1a7",
      "tree": "7074be78e4db1fe759912486a1ddf90036691fc4",
      "parents": [
        "72a714ee5176a2c62e4a0b99c92036f30f0c09be"
      ],
      "author": {
        "name": "Hasnain Lakhani",
        "email": "m.hasnain.lakhani@gmail.com",
        "time": "Tue Aug 26 18:02:09 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 26 18:02:09 2025 -0700"
      },
      "message": "Fix python tests\n\nFix a Python test issue exposed by OSS-fuzz integration in https://github.com/google/oss-fuzz/pull/13874\n\nI can reproduce this with the oss-fuzz build (by setting UBSan flags locally). I do not know why the issue only shows up then, but this fix is correct - the method signatures are the same as the Compact protocol factory. The factory is supposed to not be passed any argument, or the arguments that are passed should be the limits. This manifested as the below failure:\n\n```\n2025-08-26T18:20:18.9632418Z /usr/local/bin/python test/thrift_TSerializer.py\n2025-08-26T18:20:19.0144330Z .E..\n2025-08-26T18:20:19.0145197Z \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n2025-08-26T18:20:19.0146549Z ERROR: test_TBinaryProtocolAccelerated (__main__.TestSerializer.test_TBinaryProtocolAccelerated)\n2025-08-26T18:20:19.0148344Z ----------------------------------------------------------------------\n2025-08-26T18:20:19.0149187Z Traceback (most recent call last):\n2025-08-26T18:20:19.0158543Z   File \"/src/thrift/lib/py/test/thrift_TSerializer.py\", line 68, in test_TBinaryProtocolAccelerated\n2025-08-26T18:20:19.0159474Z     self.verify(self.binary_serialized, factory)\n2025-08-26T18:20:19.0160254Z   File \"/src/thrift/lib/py/test/thrift_TSerializer.py\", line 50, in verify\n2025-08-26T18:20:19.0160914Z     deserialize(Message(), serialized, factory).body,\n2025-08-26T18:20:19.0161739Z     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n2025-08-26T18:20:19.0162428Z   File \"/src/thrift/lib/py/build/lib.linux-x86_64-cpython-311/thrift/TSerialization.py\", line 37, in deserialize\n2025-08-26T18:20:19.0163082Z     base.read(protocol)\n2025-08-26T18:20:19.0163513Z   File \"/src/thrift/lib/py/gen-py/TestServer/ttypes.py\", line 45, in read\n2025-08-26T18:20:19.0164259Z     self.body \u003d iprot.readString().decode(\u0027utf-8\u0027, errors\u003d\u0027replace\u0027) if sys.version_info[0] \u003d\u003d 2 else iprot.readString()\n2025-08-26T18:20:19.0164897Z                                                                                                       ^^^^^^^^^^^^^^^^^^\n2025-08-26T18:20:19.0165620Z   File \"/src/thrift/lib/py/build/lib.linux-x86_64-cpython-311/thrift/protocol/TProtocol.py\", line 179, in readString\n2025-08-26T18:20:19.0166301Z     return self.readBinary().decode(\u0027utf-8\u0027)\n2025-08-26T18:20:19.0166624Z            ^^^^^^^^^^^^^^^^^\n2025-08-26T18:20:19.0167302Z   File \"/src/thrift/lib/py/build/lib.linux-x86_64-cpython-311/thrift/protocol/TBinaryProtocol.py\", line 234, in readBinary\n2025-08-26T18:20:19.0167990Z     self._check_string_length(size)\n2025-08-26T18:20:19.0168745Z   File \"/src/thrift/lib/py/build/lib.linux-x86_64-cpython-311/thrift/protocol/TBinaryProtocol.py\", line 48, in _check_string_length\n2025-08-26T18:20:19.0169531Z     self._check_length(self.string_length_limit, length)\n2025-08-26T18:20:19.0170268Z   File \"/src/thrift/lib/py/build/lib.linux-x86_64-cpython-311/thrift/protocol/TProtocol.py\", line 57, in _check_length\n2025-08-26T18:20:19.0170906Z     if limit is not None and length \u003e limit:\n2025-08-26T18:20:19.0171360Z                              ^^^^^^^^^^^^^^\n2025-08-26T18:20:19.0171764Z TypeError: \u0027\u003e\u0027 not supported between instances of \u0027int\u0027 and \u0027TBufferedTransport\u0027\n2025-08-26T18:20:19.0172088Z \n2025-08-26T18:20:19.0172231Z ----------------------------------------------------------------------\n```"
    },
    {
      "commit": "72a714ee5176a2c62e4a0b99c92036f30f0c09be",
      "tree": "25a3c6627ceac9c205d5d6af66ecb2f8f3dd5ce2",
      "parents": [
        "4afb7d9ebeb0b6110cb6223e1c05c5e0ff9ee35b"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Aug 26 22:12:07 2025 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Aug 26 22:12:07 2025 +0200"
      },
      "message": "Fixed a ton of missing ASF headers ... again.\n"
    },
    {
      "commit": "d2743005dab9ec95764af32075b4705089140d25",
      "tree": "dc41a7e6703f7e4f9daf0179a606103d51a1b086",
      "parents": [
        "aa18332cb03f61ccde38394e7186894f72bc1a09"
      ],
      "author": {
        "name": "Hasnain Lakhani",
        "email": "m.hasnain.lakhani@gmail.com",
        "time": "Mon Aug 25 14:22:15 2025 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 25 14:22:15 2025 -0700"
      },
      "message": "THRIFT-5855: Add py fuzzers\n\nAdd fuzzers for py support, to improve the reliability/robustness of the implementation"
    },
    {
      "commit": "7aea524e13d2a6fbeb942716f4224cd51bfda0ea",
      "tree": "67a38151e73361026b44bf5773179aa33e0b0dfa",
      "parents": [
        "270696c9bea3b8cdbf464f8b4da5a157123a29e7"
      ],
      "author": {
        "name": "Jeffrey Tolar",
        "email": "tolar@yahooinc.com",
        "time": "Fri May 30 11:20:05 2025 -0500"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Jun 02 23:17:53 2025 +0200"
      },
      "message": "THRIFT-5873: py: fix client auth support for THttpClient\n"
    },
    {
      "commit": "c79d1cc179e5cc0792d012961e32d5acebc6eb5b",
      "tree": "a683fe7bcb26147871cb85bed16ef74c29865a45",
      "parents": [
        "e402bb05e45145db0e78f459e07bde446662b04c"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed May 14 22:08:35 2025 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed May 14 22:08:35 2025 +0200"
      },
      "message": "Branch 0.22.0 created\n"
    },
    {
      "commit": "4bacc1a8df30b2c4fd55bbca0d2fa07c749b0d0a",
      "tree": "50d118c7d22b7880831863514d6119d359a9a9ee",
      "parents": [
        "7e45f58ad7b6553ecd64c7472d392c31a6e0e2ac"
      ],
      "author": {
        "name": "Vlad",
        "email": "vzhd1701@gmail.com",
        "time": "Thu Apr 17 16:32:06 2025 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 17 09:32:06 2025 -0700"
      },
      "message": "remove unused writeUtf8 and readUtf8 from TProtocol.py (#3123)\n\ncleanup after https://github.com/apache/thrift/pull/3105"
    },
    {
      "commit": "0414755b6080e53c9de087912bafce264c07da9a",
      "tree": "04f65d67156163bee2e09d4c1c220e50a8236cb8",
      "parents": [
        "c5c0e6effed33b076b558f42c52ec5fcb26a208e"
      ],
      "author": {
        "name": "Asjad Syed",
        "email": "syedasjadsyed@gmail.com",
        "time": "Tue Apr 08 14:51:30 2025 -0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Apr 09 22:41:55 2025 +0200"
      },
      "message": "THRIFT-5861: Add isOpen method to TTornadoStreamTransport\n"
    },
    {
      "commit": "135b79e3f8cc058642a6c3ec05262dda79fd5392",
      "tree": "278077367c82085239ddc41a99fc1f70f1a8c4db",
      "parents": [
        "b28a4c48cd03d3e637a409f7f980d372a3251907"
      ],
      "author": {
        "name": "Asjad Syed",
        "email": "syedasjadsyed@gmail.com",
        "time": "Thu Mar 13 00:38:06 2025 -0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Mar 30 23:04:37 2025 +0200"
      },
      "message": "THRIFT-5857: Remove deprecated Tornado io_loop usage\nClient: py\nPatch: Asjad Syed\n\nThis closes #3117\n"
    },
    {
      "commit": "3494e1cd087f1d89848275445d92274a8734dbbf",
      "tree": "1828999aa358e4754c995abf371125c48ac57c40",
      "parents": [
        "21ed4a2f690fb8547593c64df376b97a877b1675"
      ],
      "author": {
        "name": "Alexandre Detiste",
        "email": "alexandre.detiste@gmail.com",
        "time": "Wed Feb 19 21:53:40 2025 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Mar 08 10:29:18 2025 +0100"
      },
      "message": "replace \"utf8\" alias by canonical \"utf-8\" locale code + remove the second Python2 vs Py3 compat.py\nClient: py\nPatch: Alexandre Detiste\n\nThis closes #3105\n"
    },
    {
      "commit": "6e380306ef48af4050a61f2f91b3c8380d8e78fb",
      "tree": "f17754bc37b6f8e914ef6382e79ab54894a7228f",
      "parents": [
        "1075010915ee9638e22b33a11ea37b55699e267b"
      ],
      "author": {
        "name": "Vitaly Zdanevich",
        "email": "zdanevich.vitaly@ya.ru",
        "time": "Sat Mar 01 09:29:48 2025 +0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Mar 04 01:06:37 2025 +0100"
      },
      "message": "http.client.HTTPSConnection: drop key_file, cert_file\n\nBecause remove in Python 3.12 https://docs.python.org/3/whatsnew/3.12.html#others\n"
    },
    {
      "commit": "d078721e44fea7713832ae5d0f5d9ca67317f19e",
      "tree": "2aa232e808ef697980b1cbc6f1c9c198c62d12b6",
      "parents": [
        "da54fc814cb872bf5ae782364760dfbc4fe414d8"
      ],
      "author": {
        "name": "Alexandre Detiste",
        "email": "alexandre.detiste@gmail.com",
        "time": "Thu Dec 26 02:44:13 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Jan 15 22:27:26 2025 +0100"
      },
      "message": "remove more Python2 compatibility\n"
    },
    {
      "commit": "23e0e5ce75300451f49727ee438edbc76fcbb372",
      "tree": "a8b9e5a928a5c68d056867864944366aa21ac212",
      "parents": [
        "0f027530d7d46ae25f3ed6d6ee453ca18ca43eb6"
      ],
      "author": {
        "name": "Susanne Lindgren",
        "email": "susanne.lindgren@foi.se",
        "time": "Tue Nov 19 09:44:37 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Nov 20 22:31:06 2024 +0100"
      },
      "message": "Don\u0027t use legacy ssl hostname validation for python \u003e\u003d 3.12\n"
    },
    {
      "commit": "8f9fba8a94b088ea274bd8c544ff997ffee74c9c",
      "tree": "be5229c173761d7133d882e8b42aa75b3b11c9b2",
      "parents": [
        "607cd54e1d68174a7e0351a4b2eafdeb375093d5"
      ],
      "author": {
        "name": "Alexandre Detiste",
        "email": "alexandre.detiste@gmail.com",
        "time": "Wed Aug 28 14:28:39 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Nov 01 18:49:00 2024 +0100"
      },
      "message": "remove dependency on Six\n"
    },
    {
      "commit": "7ec41775f2f244741c7c1ef1236a96d71648c498",
      "tree": "05670e2b85cbba6012c7edb49d45d5d60540edca",
      "parents": [
        "0f0243e1f0d4a97ad1abf05fa516acf2952811ac"
      ],
      "author": {
        "name": "Susanne Lindgren",
        "email": "susanne.lindgren@foi.se",
        "time": "Tue Oct 08 08:12:27 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Oct 21 22:40:03 2024 +0200"
      },
      "message": "Make ssl work with python 3.12\n\nIn python 3.12, ssl.match_hostname has been removed.\n\nssl.PROTOCOL_SSSLV23 has been deprecated since python 3.6.\n"
    },
    {
      "commit": "ef199ccbc2a56831bbacc436fff1de49fa7aac16",
      "tree": "ec1b9ec9588c6e1e5f6a4655deacd111f2556448",
      "parents": [
        "467c6bdcb14f1fcdfb416df92b76ca9e5abbdc90"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Sep 03 01:28:31 2024 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Sep 03 01:33:19 2024 +0200"
      },
      "message": "bump version number\n"
    },
    {
      "commit": "efe5e027355318c9b12993c829a80c68735e199b",
      "tree": "b667582e0b941f929ac998c55d846ef8c44d8881",
      "parents": [
        "cb9ceada554f47aa5ebbedfe3984de0983cf0226"
      ],
      "author": {
        "name": "Csaba Ringhofer",
        "email": "csringhofer@cloudera.com",
        "time": "Fri Aug 23 14:08:35 2024 +0200"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Aug 23 08:32:35 2024 -0700"
      },
      "message": "THRIFT-5813: Close the socket in TSocket.isOpen() when peek() fails\nClient: py\n"
    },
    {
      "commit": "0bc2cb98d22d87a7af9ec3ccfa41383441a09629",
      "tree": "5ceb6ad31d299a5935e1a3d2b56b18b8ade67e82",
      "parents": [
        "0f0e11fbcee4f9230fdba6c7020c9f10fd09684a"
      ],
      "author": {
        "name": "Alexander Shadchin",
        "email": "shadchin@yandex-team.com",
        "time": "Sun Jul 21 23:27:26 2024 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Jul 24 22:07:07 2024 +0200"
      },
      "message": "Switch from `logger.warn` to `logger.warning`\n"
    },
    {
      "commit": "1405831722ac0e1e1ba100801bf21073a0d17940",
      "tree": "0b479a3c232e65c44ab1742aeb2e7568bffbcb04",
      "parents": [
        "0ed4a1deb441d71d928cf7fc58701ce1da6574dd"
      ],
      "author": {
        "name": "Charles Coulombe",
        "email": "charles.coulombe@calculquebec.ca",
        "time": "Mon Apr 15 20:29:50 2024 -0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Jun 29 11:41:47 2024 +0200"
      },
      "message": "Use pip install instead of deprecated python setup.py install command\n"
    },
    {
      "commit": "0ed4a1deb441d71d928cf7fc58701ce1da6574dd",
      "tree": "00497c3c2e092b8519127c2bc8a3b1aaf19e0c8c",
      "parents": [
        "98a1ba250f4dd904d0d01388259baa147c7e3146"
      ],
      "author": {
        "name": "bwangelme",
        "email": "bwangel.me@gmail.com",
        "time": "Mon Apr 15 12:17:40 2024 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Jun 29 11:38:21 2024 +0200"
      },
      "message": "THRIFT-5777: python fix mismatched timeout exceptions\n\nClient: [\"python\"]\n"
    },
    {
      "commit": "63f04583e389e7afee330f0341e045a73cdb1979",
      "tree": "58bc0d1ce220eb8e0c12844543a745d23a68eb7f",
      "parents": [
        "f6972f1a29cb3c94929f5eecef816e65bed755ef"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Thu Mar 21 22:51:07 2024 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Apr 02 14:09:27 2024 +0200"
      },
      "message": "Manually remove $(BUILT_SOURCES) since no-dist-built-sources doesnt work\n"
    },
    {
      "commit": "58000ccb185d504a03375ebac10a69bf2789440f",
      "tree": "28c47b1af58cdc5691bad05c33215684ff27c2c1",
      "parents": [
        "ac52d8dac15425f65f6e7ad4ecf776bfea1a3b18"
      ],
      "author": {
        "name": "bwangelme",
        "email": "bwangel.me@gmail.com",
        "time": "Mon Nov 06 12:21:38 2023 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sun Feb 25 12:37:12 2024 +0100"
      },
      "message": "Fix: fix readMessageBegin name type error\nClient: [\"python\"]\n"
    },
    {
      "commit": "75cf93ed22264fecaa79e82f05fa9f02d49fc58b",
      "tree": "ad7e483b593040fadd747648624c844ceeef3b58",
      "parents": [
        "0c637d7aa553a52b11bf92855448a20914d59817"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Feb 04 14:50:37 2024 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Feb 04 14:50:37 2024 +0100"
      },
      "message": "bump version number\n"
    },
    {
      "commit": "be1c8fd836132fe9d7d6058db05fd9aacd3b3002",
      "tree": "5018a69f46de6801544541ce869e0a8f291bca4a",
      "parents": [
        "5cf71b2beec3c67a4c8452ddabbbc6ae43fff16f"
      ],
      "author": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "yuxuan.wang@reddit.com",
        "time": "Tue Jan 02 09:04:19 2024 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Wed Jan 03 08:57:52 2024 -0800"
      },
      "message": "Fix github actions for python3 tests\n\nAdd a dummy test in test_sslsocket.py to workaround an issue in Python\n3.12.\n"
    },
    {
      "commit": "0d5b4f9fa1e9b69c1f8da9a68f2a7eb2c734662b",
      "tree": "31b8d8bbe69b3b4270481467224252f7547b4f46",
      "parents": [
        "bccca9301dedd6403062ef6be4c56533f889e5b5"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 08 12:49:11 2023 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 08 12:49:11 2023 +0200"
      },
      "message": "created reöease branch 0.19.0\n"
    },
    {
      "commit": "6f339004e6c636d9ce7b114d351e9141edff5c17",
      "tree": "9050ed69e347cfc1c335da0756bbbf3d96615a68",
      "parents": [
        "1e3d90d8fd4160d538b7a4d902169eae5155e08a"
      ],
      "author": {
        "name": "Jiayu Liu",
        "email": "Jimexist@users.noreply.github.com",
        "time": "Thu Apr 20 07:39:35 2023 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 20 07:39:35 2023 +0800"
      },
      "message": "THRIFT-5564: add GitHub action for python 2.x and 3.x (#2787)\n\n* update .github workflow to consolidate config\r\n\r\n* add lib python\r\n\r\n* Update build.yml\r\n\r\nupdate\r\n\r\n* rust \u003d\u003e rs\r\n\r\n* Update build.yml\r\n\r\nupdate\r\n\r\n* update\r\n\r\ninstall openssl\r\n\r\nremove 3.6\r\n\r\nsetup daemon\r\n\r\ntry 3.6\r\n\r\nfix lib path\r\n\r\nadd backports of py\r\n\r\nUpdate build.yml\r\n\r\nuse sudo\r\n\r\nadd install-exec-hook\r\n\r\n* add ssl test skip"
    },
    {
      "commit": "ae3e96bd33777e75e92f8947d51240fae5beeaa8",
      "tree": "663a30c4ae599dcac0d8571e120dc6670b353bdc",
      "parents": [
        "f377dd3445362b5d5f051f549a12424663801894"
      ],
      "author": {
        "name": "Ling Li",
        "email": "liling@gmail.com",
        "time": "Thu Mar 16 17:34:51 2023 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Mar 17 23:57:54 2023 +0100"
      },
      "message": "py TSocket: Only disable socket.IPV6_V6ONLY when the family is AF_INET6\n"
    },
    {
      "commit": "c6fd86d9f2f15665dd1f3b87e39ed7580d8b25dd",
      "tree": "b60156225f4e8793aee3c225c4ca7554d0da41fb",
      "parents": [
        "4eee6815276741a0381063b9e139a4938f808711"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Feb 06 23:42:52 2023 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Feb 06 23:42:52 2023 +0100"
      },
      "message": "bump version number\n"
    },
    {
      "commit": "916ae8b8134630f49d32e47c3f0f3218f855a24c",
      "tree": "e9bfcb171c2491f5a58eee0be055eba5ca14a2a3",
      "parents": [
        "277feceaedbf5cd6bfdb9c91c4e50832923aa15c"
      ],
      "author": {
        "name": "dejank-isystem",
        "email": "119041215+dejank-isystem@users.noreply.github.com",
        "time": "Tue Dec 20 18:57:53 2022 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sun Jan 01 11:55:31 2023 +0100"
      },
      "message": "py server: Listen also on IPv4"
    },
    {
      "commit": "e0ee2c7514b812b5a18bfe9aab9594c5879dc34f",
      "tree": "120e01b66d1d0a82755dfedf150d9b721d5663cc",
      "parents": [
        "ec5e17714a1f9da34173749fc01eea33c7f6af62"
      ],
      "author": {
        "name": "Nick Withers",
        "email": "nwithers@sypaq.com.au",
        "time": "Wed Aug 31 16:22:27 2022 +1000"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Sep 02 22:40:13 2022 +0200"
      },
      "message": "THRIFT-5617: T(SSL)Socket TCP keep-alive incorrectly applies SO_KEEPALIVE to IPPROTO_TCP\n\nApply socket.SO_KEEPALIVE at the socket.SOL_SOCKET, not socket.IPPROTO_TCP, level\n"
    },
    {
      "commit": "c75646a359e4bb38ff11e4b7255a3ad49ab3319c",
      "tree": "754e37fc0f25d7e96b0d809b83f7e2eb05941445",
      "parents": [
        "22f6a8a3c879175e18ce95f88a393f34ff8f158c"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Aug 30 22:54:32 2022 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Aug 30 23:55:34 2022 +0200"
      },
      "message": "version bump\n"
    },
    {
      "commit": "981400757179c784665088daa5ba1a0f3ad7e8c1",
      "tree": "32542e9012280ab6f24054d75d3cddf86e34dddf",
      "parents": [
        "7a5f29d48d6b99f14190d9d7bff0e63170965087"
      ],
      "author": {
        "name": "PikachuHy",
        "email": "pikachuhy@163.com",
        "time": "Sun Jul 31 01:00:43 2022 +0800"
      },
      "committer": {
        "name": "PikachuHy",
        "email": "pikachuhy@163.com",
        "time": "Sun Jul 31 01:00:43 2022 +0800"
      },
      "message": "fix typo\n"
    },
    {
      "commit": "e3eb9afb20a0535d44c203a4195db9822f8861fc",
      "tree": "22449e217b4ca184342dbc6e562cdd3db2fea45b",
      "parents": [
        "4959a92385e2a6d7a4b8419784f85e5762c714cf"
      ],
      "author": {
        "name": "Michael Smith",
        "email": "michael.smith@cloudera.com",
        "time": "Wed Jun 08 17:23:27 2022 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Jun 10 08:41:25 2022 -0700"
      },
      "message": "THRIFT-5595: Handle peek request error with SSLSocket\n\nThe update to TSocket in 01d53f483a7531ad4899b522060e8913dca309fb errors\nfor TSSLSocket with\n```\nValueError: non-zero flags not allowed in calls to recv() on \u003cclass \u0027ssl.SSLSocket\u0027\u003e\n```\nHandles ValueError from ssl.SSLSocket to fix isOpen when using\nTSSLSocket.\n"
    },
    {
      "commit": "88a45ac77518eafb57db08938ecdf38c5fcf7a31",
      "tree": "8ef05402b7c300a3c4b1c3a2240489cdcc010d9b",
      "parents": [
        "b664cfe2533e4bbf00fd5e7e0211bf7161ee2a04"
      ],
      "author": {
        "name": "Yiyang Zhou",
        "email": "yiyangzhou123@ucla.edu",
        "time": "Wed Aug 04 21:55:04 2021 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sat Apr 23 10:30:46 2022 +0200"
      },
      "message": "THRIFT-5449: Use poll instead of select in Python TNonblockingServer if available\nClient: Python\n"
    },
    {
      "commit": "b664cfe2533e4bbf00fd5e7e0211bf7161ee2a04",
      "tree": "34d4ee28eca26e9259ef2ab5d17ebb264e54ee26",
      "parents": [
        "0dc52985ca06cb948eae251dce789f7f863fc243"
      ],
      "author": {
        "name": "shangxu",
        "email": "shangxu@domob.cn",
        "time": "Fri Nov 13 18:03:01 2020 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Thu Apr 21 09:13:52 2022 +0200"
      },
      "message": "fix Out Of Memory when use TNonblockingServer\n"
    },
    {
      "commit": "103a11c9c28ac963a3b2591ecac641db3cbaa113",
      "tree": "e8b187fabc92540991a31ffc7848ee72290fb53d",
      "parents": [
        "ff746966584816988a3babf25debc8a87c50581d"
      ],
      "author": {
        "name": "Márton Csordás",
        "email": "csordasmarton92@gmail.com",
        "time": "Thu Dec 16 10:08:11 2021 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Feb 21 19:19:42 2022 +0100"
      },
      "message": "THRIFT-5467 Python: fix CannotSendHeader exception\n\nBased on the python source for `http.client`, `HTTPConnection.putheader`\ncan only be called after a request has been started, and before it\u0027s\nbeen sent. Otherwise it will throw a `http.client.CannotSendHeader`\nexception.\n\nIf the server returns a `Set-Cookie` header, the client will always\nfail with the `CannotSendHeader` exception because `HTTPConnection.putheader`\nis called after reading the response.\n\nWith this patch we will call this method before the request has been sent.\n"
    },
    {
      "commit": "50819ce8ef72ad7ccf79c6c3fb3b77a91ab8e540",
      "tree": "90f099118ebed5c25ef0d66fd01db1bc5b4c6f1c",
      "parents": [
        "3cac3204519bbdfe02beb9d863e9b873cdaf9d07"
      ],
      "author": {
        "name": "Jeremiah",
        "email": "4462211+jeremiahpslewis@users.noreply.github.com",
        "time": "Tue Feb 08 12:46:45 2022 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Feb 08 20:33:32 2022 +0100"
      },
      "message": "Fix winsock capitalization for case sensitive cross-compilation"
    },
    {
      "commit": "bf0967537bdf189a8806fe05a2710e1011370956",
      "tree": "916ad520d2d52334802a6a34c7c6975065c5e897",
      "parents": [
        "5f16344311a57ac016190984dd1aaa44e19a6487"
      ],
      "author": {
        "name": "くらげ",
        "email": "73342826+kurages@users.noreply.github.com",
        "time": "Sun Jul 25 23:46:42 2021 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Jan 26 23:00:04 2022 +0100"
      },
      "message": "Fixed proxy related bugs"
    },
    {
      "commit": "6868ebbb31cf32dbde018b03831d167565ba51d8",
      "tree": "bb4538c411b8f91e73529979584d0b819b23c16d",
      "parents": [
        "7a6829531f00f7e95f904d5794d632acee62ddf0"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Jan 20 21:02:02 2022 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Jan 20 21:02:02 2022 +0100"
      },
      "message": "Release 0.16.0\n"
    },
    {
      "commit": "9d7d627b518f84d6f7bfee76f1d7410e63c4fe7c",
      "tree": "adb901ad54077aa99dad3606006d684c18f907b2",
      "parents": [
        "e12fbe88e2f734cbcb010f0f820a6e43e94c8ec2"
      ],
      "author": {
        "name": "Ali-Akber Saifee",
        "email": "ali@indydevs.org",
        "time": "Fri Jan 07 07:58:13 2022 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Sat Jan 08 00:17:27 2022 -0800"
      },
      "message": "Remove excess assertions\n\nAsserting on trying to deserialize None, or an invalid serialized\nbuffer result in different exceptions being raised in python2/3.\n"
    },
    {
      "commit": "b724787d373de99fee2222ab0eb2e052f8c8d3ed",
      "tree": "fe886e30b4d74d6f2595243c0d90b7cd892ecba4",
      "parents": [
        "c6c5a0596ffc441e6cd1ad60130cdcdcb2e319e4"
      ],
      "author": {
        "name": "Ali-Akber Saifee",
        "email": "ali@indydevs.org",
        "time": "Sat Dec 11 08:39:24 2021 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Thu Dec 16 13:12:44 2021 -0800"
      },
      "message": "Define PY_SSIZE_T_CLEAN to use PyObject_CallFunction\n\nWhen using the building functions for the fallback scenario\nin readBytes, a SystemError is raised in python 3.10 (raised\nas a warning till python 3.9) due to the use of \"#yi\" for the output\nbuffer argument.\n\nExtra test cases are added to cover serialization/deserialization\nboth with compact \u0026 binary protocol both with and without the\nc-extension\n"
    },
    {
      "commit": "443a03c558fdef6e6908e8fb47f7011c2d7ff9f6",
      "tree": "29afa240ec4e45a60bb3b0e869c665d396d5e094",
      "parents": [
        "50f97135ccc328aeb84b75d5374016abaa269da1"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Nov 15 19:30:13 2021 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Nov 15 19:31:21 2021 +0100"
      },
      "message": "FIX: Python code style / flake8: TProcessPoolServer.py:46:14: E225 missing whitespace around operator\n"
    },
    {
      "commit": "50f97135ccc328aeb84b75d5374016abaa269da1",
      "tree": "eb1085d7776db38965dc11da476594182b48b6f8",
      "parents": [
        "ea1e8ff1407112342ed17cb95087bbda4e9b2cc0"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Nov 14 12:33:50 2021 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Nov 14 12:35:52 2021 +0100"
      },
      "message": "FIX Python code style TTransport.py:400:5: E301 expected 1 blank line, found 0\n"
    },
    {
      "commit": "da1e19b72bceb1c5a094613c286c1331ff1a6c1b",
      "tree": "f4aa8be8afcddfde605160e8dda7296e759a5d84",
      "parents": [
        "ea39a14a1fbc8a7683e91ab4bdd23f8b207c8d5d"
      ],
      "author": {
        "name": "Yiyang Zhou",
        "email": "yiyangzhou1@xiaohongshu.com",
        "time": "Fri Aug 13 16:30:58 2021 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sun Nov 14 00:54:12 2021 +0100"
      },
      "message": "THRIFT-5454: add __setState__ function to TProcessPoolServer to enable correct multiprocessing behavior related to pickling\n\nClient: Python\n"
    },
    {
      "commit": "7ecc9ef02110b66e6a734ff5c11e103c4b9fbc1e",
      "tree": "fac9808d78eb81a6fccf5ff878d6745ca8d768a1",
      "parents": [
        "ab2f23a2a9cd8d170e6d45ae6ad0e693052e3599"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sat Sep 25 16:47:05 2021 -0400"
      },
      "committer": {
        "name": "Jim King",
        "email": "jking@apache.org",
        "time": "Sat Sep 25 22:09:31 2021 -0400"
      },
      "message": "minor changes to make pypi distribution look better (long desc)\n"
    },
    {
      "commit": "f7e6c654bde5d9832bede2b48b460c3e1bbbbb92",
      "tree": "0ea81a3df907866d7b24fde50ca9c439962f8b7d",
      "parents": [
        "2c78047fcbd2783e88cab0ebc7245598695477ae"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Aug 03 22:21:05 2021 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Aug 03 22:21:05 2021 +0200"
      },
      "message": "bump version number\n"
    },
    {
      "commit": "d8c4345ecfcbf506d9e973ae19ee857e6d5378dd",
      "tree": "8a9ab681974d8319102492dfe739bafd4c714a70",
      "parents": [
        "44e8a431a3bb45fd46e2959b308ea96b1ee3c702"
      ],
      "author": {
        "name": "geehanlin",
        "email": "geehanlin@tencent.com",
        "time": "Fri Jun 04 19:28:00 2021 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Jul 09 21:56:46 2021 +0200"
      },
      "message": "fix isOpen return None, to be consistent with other transport\nClient: python\n"
    },
    {
      "commit": "055fe67ec1856d25f7ad3b98b5cd172fdf8e2c70",
      "tree": "062bf11a4e4dff23d87121e68022eb6e393699f7",
      "parents": [
        "526a1acf3b870d3b292423e19b9bb9bb0d18c0c3"
      ],
      "author": {
        "name": "Neil Williams",
        "email": "neil@reddit.com",
        "time": "Tue Feb 16 15:12:15 2021 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Tue Feb 16 16:31:00 2021 -0800"
      },
      "message": "THRIFT-5352: Fix construction of Py exceptions with no fields\n\nClient: py\n\nWhen no fields are present, we don\u0027t get the special constructor that\nuses __setattr__ to avoid these checks. So the default constructor sets\nmessage normally and triggers the anti-mutation tripwires.\n"
    },
    {
      "commit": "3fc0b8d061fb1adcae49862e0c63ce94f0a0ee0f",
      "tree": "2373cb9dd0136f0054257eaa10041a20de2a2052",
      "parents": [
        "b5fe1dbc0cac81ab99ec5d71de70f4389b234888"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Feb 11 23:17:45 2021 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Feb 11 23:17:45 2021 +0100"
      },
      "message": "Version number aligned to 0.15.0\n"
    },
    {
      "commit": "1c35d6ba954bc441e9e603599965e0121eb5132d",
      "tree": "09a9e94393edf88461c72f3c49ac4843594ea5cf",
      "parents": [
        "13662dd7be9aa3ffdbbc49bd1c3b77c4549569bd"
      ],
      "author": {
        "name": "Neil Williams",
        "email": "spladug@users.noreply.github.com",
        "time": "Mon Jan 04 11:27:01 2021 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 04 11:27:01 2021 -0800"
      },
      "message": "THRIFT-5331: Py: make THeader subprotocol configurable (#2302)\n\nClient: py\r\n\r\nThis allows clients to choose which subprotocol (TBinary/TCompact) to frame with headers. The server will already accept either protocol and reply correctly."
    },
    {
      "commit": "05bb55148608b4324a8c91c21cf9a6a0dff282fa",
      "tree": "187c6dcc7e81638746d9e15850ce441adaf290b7",
      "parents": [
        "196254ba393a7e70e91fcf3c35026c82fb64f7fa"
      ],
      "author": {
        "name": "stiga-huang",
        "email": "huangquanlong@gmail.com",
        "time": "Fri Oct 30 20:07:31 2020 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Nov 01 18:17:18 2020 +0100"
      },
      "message": "THRIFT-5303 Fix missing error handling in using PyUnicode_DecodeUTF8\nClient: py\nPatch: stiga-huang\n\nThis closes #2269\n"
    },
    {
      "commit": "e6d97c0f66118c43f43bb71644c18d330a3ae522",
      "tree": "89ba0b08df62eba0edd4f0e5727ed8a1a4dc3e07",
      "parents": [
        "c80b8bbe703f593d1aa47941bd6b61f7726068bd"
      ],
      "author": {
        "name": "zeshuai007",
        "email": "51382517@qq.com",
        "time": "Tue Aug 25 09:53:39 2020 +0800"
      },
      "committer": {
        "name": "zeshuai007",
        "email": "51382517@qq.com",
        "time": "Sat Sep 19 09:23:58 2020 +0800"
      },
      "message": "test ci fix\n"
    },
    {
      "commit": "01d53f483a7531ad4899b522060e8913dca309fb",
      "tree": "5e0defc327b49ed329aa9022cb6ea884052239a7",
      "parents": [
        "68c1506715d834c5ab274a622a67bab207936ac7"
      ],
      "author": {
        "name": "Neil Williams",
        "email": "neil@reddit.com",
        "time": "Tue Jul 07 07:27:29 2020 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Thu Aug 06 08:27:55 2020 -0700"
      },
      "message": "THRIFT-5248: Python: Make TSocket.isOpen check if server still connected\n\nClient: py\n\nThis is inspired by changes to the Go library (THRIFT-5214) and, by\nproxy, this blog post[1]. The idea is that if the other end of the\nsocket has closed their end of the connection, we can figure that out by\ndoing a non-blocking read on our socket before we waste time serializing\nand sending a message just to find out the socket is closed when we try\nto read the response.\n\n[1]: https://github.blog/2020-05-20-three-bugs-in-the-go-mysql-driver/\n"
    },
    {
      "commit": "26681fbdb77f6dfaf2f2613d4ad860a224e84b71",
      "tree": "b742ea0959bd5e90e1748323a870291ef8ad8e9f",
      "parents": [
        "3f78c70bbba82c733b1545d39eb5b489ac384e4c"
      ],
      "author": {
        "name": "zeshuai007",
        "email": "51382517@qq.com",
        "time": "Wed Jun 03 17:24:38 2020 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Jun 14 14:17:11 2020 +0200"
      },
      "message": "THRIFT-5225: Use nullptr instead of NULL\nPatch: Zezeng Wang\n\nThis closes #2168\n"
    },
    {
      "commit": "797fe252e0df18a24aa025d00d1d53c288ef2d4f",
      "tree": "ed80962526773a1a4392253dedc3465a3a605040",
      "parents": [
        "e6d7d13c35f5c9fe57889d7e77b0ba63910b1052"
      ],
      "author": {
        "name": "zeshuai007",
        "email": "51382517@qq.com",
        "time": "Wed May 20 15:20:07 2020 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue May 26 21:46:16 2020 +0200"
      },
      "message": "Supplement TNonblockingServer.py testcase\nClient: py\nPatch: Zezeng Wang\n\nThis closes #2150\n"
    },
    {
      "commit": "26e6c84cde490a22d39c43ba3903dd94bbb8497f",
      "tree": "7e0c022937406cdedd6ab75100cba3a7d51b99a3",
      "parents": [
        "64ac65ea7e0763c32d6dca988a2c779f89bece84"
      ],
      "author": {
        "name": "zeshuai007",
        "email": "51382517@qq.com",
        "time": "Wed May 06 14:37:43 2020 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed May 13 23:56:08 2020 +0200"
      },
      "message": "Add testcase for compactprotocol(python)\nClient: py\nPatch: zeshuai007 \u003c51382517@qq.com\u003e\n\nThis closes #2129\n"
    },
    {
      "commit": "9b9567b23378c821b460cfe54b70b9d189bf194d",
      "tree": "f5403a348992e88e8d5240b4fbb88f77dc281f08",
      "parents": [
        "bbc5e06a2e36d788b095fb37a52c90fc4d54b211"
      ],
      "author": {
        "name": "max ulidtko",
        "email": "ulidtko@gmail.com",
        "time": "Mon Apr 27 16:04:27 2020 +0300"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 08 09:23:47 2020 +0200"
      },
      "message": "THRIFT-5186: Don\u0027t pass AI_ADDRCONFIG to getaddrinfo()\nClient: cpp,pas,py\nPatch: Max Ulidtko\n\nThis closes #2124\n\nIf a host doesn\u0027t have assigned IPv4 or IPv6 addresses, thrift communication\nover localhost-only is impossible due to thrift library bug. It happens\nwhen making getaddrinfo syscall with AI_ADDRCONFIG flag.\n\nFrom man getaddrinfo(3):\nIf  hints.ai_flags  includes  the  AI_ADDRCONFIG  flag,  then  IPv4  addresses\nare returned in the list pointed to by res only if the local system has at least\none IPv4 address configured, and IPv6 addresses are returned only if the local\nsystem has at least one IPv6 address configured.  The loopback address is not\nconsidered for this case as valid as a configured address.\n\nUpstream bug with AI_ADDRCONFIG ai_flags was fixed for cpp library and win32\nplatform only. See https://issues.apache.org/jira/browse/THRIFT-2539\n\nPatch based on Thrift 0.13.0, commit cecee50308fc7e6f77f55b3fd906c1c6c471fa2f.\n"
    },
    {
      "commit": "bbc5e06a2e36d788b095fb37a52c90fc4d54b211",
      "tree": "844251f7c5958b6629e48d9b3298934fcc70d628",
      "parents": [
        "abc2ec60964538558fd99f72a4d4c16820e8bfb4"
      ],
      "author": {
        "name": "zeshuai007",
        "email": "51382517@qq.com",
        "time": "Thu May 07 17:10:32 2020 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 08 09:18:46 2020 +0200"
      },
      "message": "Supplement TZlibTransport.py testcase\nClient: py\nPatch: zeshuai007 \u003c51382517@qq.com\u003e\n\nThis closes #2132\n"
    },
    {
      "commit": "39381695eb456349b02e68d9167181ae41656b73",
      "tree": "4dd236706cf4e65468cedf3ee3bb144fa6a4abec",
      "parents": [
        "371d92f159d4e518f1de81519b3a9de629ba8970"
      ],
      "author": {
        "name": "Zezeng Wang",
        "email": "51382517@qq.com",
        "time": "Tue Apr 28 14:24:58 2020 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 28 07:24:58 2020 +0100"
      },
      "message": "Add file and memory buffer tests for Python\n\nClient: py"
    },
    {
      "commit": "c3728122d2ddb2e0236b1e08bdb5e24b8baae9dd",
      "tree": "d24ac1387ab21c6cccd1b1163d1e5b01b539abb0",
      "parents": [
        "b416ffa72dbcab8ed8a156c95cb8e480ed46a438"
      ],
      "author": {
        "name": "Zezeng Wang",
        "email": "51382517@qq.com",
        "time": "Mon Apr 27 15:48:19 2020 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 08:48:19 2020 +0100"
      },
      "message": "Supplement TBinaryprotocol module testcase\n\nClient: py"
    },
    {
      "commit": "b83ae2cedf8a345142c3b96e9b529a65fe41bc16",
      "tree": "5d9b9bdb1a94ac978abe7efc9da6dc9bb043b6c0",
      "parents": [
        "b94c16638555c4efa191092bf0f14ce45c3621b8"
      ],
      "author": {
        "name": "zeshuai007",
        "email": "51382517@qq.com",
        "time": "Fri Apr 24 11:35:55 2020 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Apr 26 13:29:48 2020 +0200"
      },
      "message": "supplementary testcase for TJSONProtocol\nClient: py\nPatch: zeshuai007 \u003c51382517@qq.com\u003e\n\nThis closes #2113\n"
    },
    {
      "commit": "69642f389a06f5ba1b374de52c6b0e29892035d8",
      "tree": "9d06931572c79d9fc370fab464b0c124698beaec",
      "parents": [
        "daa7669a7665539a484815a7d5200651ba74df9a"
      ],
      "author": {
        "name": "Joao Antonio",
        "email": "joao.p.antonio@gmail.com",
        "time": "Sat Apr 04 15:39:03 2020 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Apr 13 18:06:56 2020 +0200"
      },
      "message": "THRIFT-5165: THttpClient saves session cookie.\nClient: py\nPatch: Joao Antonio\n\nThis closes #2086\n"
    },
    {
      "commit": "9c43962da8e4b530014619e3703a279053cf2182",
      "tree": "9b862189ed6e5fbdd9819a964c7f2efe69aa9bb4",
      "parents": [
        "9320f891d7d972fc2cc4f9569b66767c5dfc4242"
      ],
      "author": {
        "name": "Elvis Pranskevichus",
        "email": "elvispranskevichus@pinterest.com",
        "time": "Wed Dec 11 16:47:52 2019 -0500"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "can@dcc.im",
        "time": "Thu Dec 12 13:50:42 2019 +0000"
      },
      "message": "Revert \"Revert \"THRIFT-4002: Make generated exception classes immutable by default\"\"\n\nThis reverts commit 1234ddf8a5c98d5d700c82e087f04725170ad581.\n"
    },
    {
      "commit": "9320f891d7d972fc2cc4f9569b66767c5dfc4242",
      "tree": "5b3a502bcd271eff99c6ab5eed576674943e79a1",
      "parents": [
        "6e023df1ded255dda00eb4c041c201e66c8d1fbc"
      ],
      "author": {
        "name": "Elvis Pranskevichus",
        "email": "elvispranskevichus@pinterest.com",
        "time": "Wed Dec 11 16:51:12 2019 -0500"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "can@dcc.im",
        "time": "Thu Dec 12 13:50:42 2019 +0000"
      },
      "message": "Revert \"Revert \"Remove unnecessary TException.message hack\"\"\n\nThis reverts commit 3d9f50d61728d377951f9b6df5f19196f6b3af46.\n"
    },
    {
      "commit": "3d9f50d61728d377951f9b6df5f19196f6b3af46",
      "tree": "c9b2a58f29402781e3a12009e142a19ee851d80f",
      "parents": [
        "1234ddf8a5c98d5d700c82e087f04725170ad581"
      ],
      "author": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 10 22:13:19 2019 +0000"
      },
      "committer": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 10 22:13:19 2019 +0000"
      },
      "message": "Revert \"Remove unnecessary TException.message hack\"\n\nThis reverts commit 45a9827f0f455d377ae87d9a35349c10181d6893.\n"
    },
    {
      "commit": "1234ddf8a5c98d5d700c82e087f04725170ad581",
      "tree": "38cfceb980bf08948c575c4091b8e17fbbb47ab6",
      "parents": [
        "b40f5c227f8db61be523f23ca017519167589d97"
      ],
      "author": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 10 22:13:06 2019 +0000"
      },
      "committer": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 10 22:13:06 2019 +0000"
      },
      "message": "Revert \"THRIFT-4002: Make generated exception classes immutable by default\"\n\nThis reverts commit b40f5c227f8db61be523f23ca017519167589d97.\n"
    },
    {
      "commit": "b40f5c227f8db61be523f23ca017519167589d97",
      "tree": "78b38c45fc8cf8104c912e2415eefb6b63103c01",
      "parents": [
        "45a9827f0f455d377ae87d9a35349c10181d6893"
      ],
      "author": {
        "name": "Elvis Pranskevichus",
        "email": "elvispranskevichus@pinterest.com",
        "time": "Thu Mar 07 11:00:34 2019 -0500"
      },
      "committer": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 10 20:44:24 2019 +0000"
      },
      "message": "THRIFT-4002: Make generated exception classes immutable by default\n\nCurrently, the generated exception classes are not hashable under\nPython 3 because of the generated `__eq__` method.  Exception objects\nare generally expected to be hashable by the Python standard library.\nPost-construction mutation of an exception object seems like a very\nunlikely case, so enable hashing for all exceptions by making them\nimmutable by default.  This also adds a way to opt-out of immutability\nby setting the `python.immutable` annotation to `\"false\"`.\n"
    },
    {
      "commit": "45a9827f0f455d377ae87d9a35349c10181d6893",
      "tree": "38cfceb980bf08948c575c4091b8e17fbbb47ab6",
      "parents": [
        "ffb97e105cbef6afc809a1bdac9cdac1f35d6bab"
      ],
      "author": {
        "name": "Elvis Pranskevichus",
        "email": "elvispranskevichus@pinterest.com",
        "time": "Thu Mar 07 12:18:59 2019 -0500"
      },
      "committer": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 10 20:44:22 2019 +0000"
      },
      "message": "Remove unnecessary TException.message hack\n\nThrift attempts to work-around the Python 2.7 DeprecationWarning\naround `BaseException.message` by using a property.  This hack is\nunnecessary since `message` is _also_ written as a regular attribute in\nthe `TException` constructor (and would be in any of its children),\nhence the `BaseException_get_message()` wouldn\u0027t even be called.\n\nThis hack also stands in the way of making exception instances\nimmutable (which is a prerequisute to fixing THRIFT-4002).\n"
    },
    {
      "commit": "cf73b66cd83e2e883d00dff518d3c0250bb839cc",
      "tree": "2af7cc603c0fd3b53a3280fcd117414925f9e2e4",
      "parents": [
        "bc75467e4426c76d201c83621f08fa211660b6c3"
      ],
      "author": {
        "name": "Kevin Wojniak",
        "email": "kainjow@users.noreply.github.com",
        "time": "Sat Nov 02 22:01:56 2019 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Nov 03 18:42:11 2019 +0100"
      },
      "message": "Remove unused exception variable\nClient: Python\nPatch: Kevin Wojniak\n\nThis closes #1912\n\nFixes MSVC warning seen in logs:\n\u003e [00:11:03] src\\ext/protocol.tcc(177): warning C4101: \u0027ex\u0027: unreferenced\n\u003e local variable [C:\\projects\\build\\MSVC2015\\x86\\lib\\py\\python_build.vcxproj]\n"
    },
    {
      "commit": "616df98f00a594f133466aa7f94930c1bf85b24a",
      "tree": "71d80086665a13d2cf5d6aedbe6f600aea91e06c",
      "parents": [
        "6701dbb8e89f6550c7843e9b75b118998df471c3"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Oct 19 22:08:13 2019 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Oct 20 00:12:14 2019 +0200"
      },
      "message": "fix veralign.sh and bump version (again)\n"
    },
    {
      "commit": "3131fe975ce2efd2887e41f86e73f7205a02a2a4",
      "tree": "990eb27ed20aedcaa942790b30cbd5f0d64d1409",
      "parents": [
        "93ff9b00531682ece08a1a43883e55fd2aa83a15"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Tue Jul 02 14:21:05 2019 -0400"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sun Jul 07 12:16:52 2019 -0400"
      },
      "message": "THRIFT-4904: Fix python unit test errors and exception escapes\n\nDue to the way SSL layers on top of sockets, it was possible\nto complete a connection and then have the server close it.\nThis would happen if the client is not checking certificates\nbut the server is.  The TSSLSocket unit test was enhanced to\ndo a read and a write as well as just connecting to ensure a\nmore complete test.\n\nThe TSocket read() and write() calls were leaking OSError,\nsocker.error, and ssl.Error exceptions.  These cases are now\nwrapped into a TTransportException of the appropriate type,\nand the original exception is added as an argument named inner.\n"
    },
    {
      "commit": "95870f06cdee04b9ec8a263f8c71597a3b95678a",
      "tree": "ec66c96b181290e1568e5cbb4050ad72420356da",
      "parents": [
        "a85d532bb397ecfab59afa079da1fe776548af08"
      ],
      "author": {
        "name": "antbofh",
        "email": "antbofh@gmail.com",
        "time": "Fri Jun 21 22:33:55 2019 +0300"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Jun 21 15:33:55 2019 -0400"
      },
      "message": "THRIFT-4892: fixed data type conflict with simultaneous usage of bytes and str (#1804)\n\n"
    },
    {
      "commit": "6b3f7d92f9dc231cb7ae1606dd15d8faad38be1a",
      "tree": "31abece4b6ce1a414c0adf040e2abe545cf70f7a",
      "parents": [
        "b000bc02df16a16a21d0fe3467227c3bc6d62a0c"
      ],
      "author": {
        "name": "Tim Armstrong",
        "email": "tarmstrong@cloudera.com",
        "time": "Thu Feb 14 14:59:22 2019 -0800"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Feb 14 19:17:01 2019 -0500"
      },
      "message": "Fix spelling errors in TSSLSocket.py\n"
    },
    {
      "commit": "dbc1f8def5018ce5d85d38b9875c6c6b6b424478",
      "tree": "0011127f2edd9221f973eb157438bbd11c0b74d2",
      "parents": [
        "3ca88065dfdb24c5bad6fbd1e3a7e01812628d3b"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Feb 14 16:46:38 2019 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 14 16:46:38 2019 -0500"
      },
      "message": "THRIFT-4024, THRIFT-4783: throw when skipping invalid type (#1742)\n\n* THRIFT-4024: make c_glib throw on unsupported type when skipping\r\n* THRIFT-4783: throw on invalid skip (py)\r\n* THRIFT-4024: make cpp throw on unsupported type when skipping\r\n* THRIFT-4024: uniform skip behavior on unsupported type\r\n"
    },
    {
      "commit": "393f6c93e1a65b7be74d79b5a6b00f878e88a630",
      "tree": "f420f76c8d47d189bcefbd48860f7fe8f34df523",
      "parents": [
        "e53d23c16c806c6da62ebaa7f205328cf710d9a5"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sat Feb 09 10:35:44 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Feb 11 17:46:30 2019 -0500"
      },
      "message": "THRIFT-3877: fix py/py3 server, java client with http transport\n\nThe java TestClient asks the server to runa  oneway request that\nsleeps for 3 seconds.  If the java TestClient sees the duration\nof the call exceed one second, it fails the test.  This means the\nserver did not participate in the \"fire and forget\" dynamics of\nONEWAY requests.  In this case the THttpServer was processing the\nRPC before sending the transport response.  The fix was to enhance\nthe TProcessor so that the THttpServer has an opportunity to inspect\nthe message header before processing the RPC.\n\nThis is partly due to the violation of the THttpServer in the\nlayered architecture.  It is essentially implementing a combined\nserver and transport, whereas there should be a distinct server,\nprotocol, and transport separation.  Many languages seem to have\nthis problem where HTTP was introduced.\n"
    },
    {
      "commit": "9804ab983a6c43dec56e0dcc4155cc2c21073822",
      "tree": "ba15452e6bb5e0a914d40e2cbb422ef533925cb8",
      "parents": [
        "647501693bd14256df8839c13cb03659bdee4202"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Feb 07 16:59:05 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Feb 08 17:16:17 2019 -0500"
      },
      "message": "THRIFT-4780: finish the server implementation of multi in python server\n- Add default processor handling to python multi\n"
    },
    {
      "commit": "74a3e0923d9425fd0c3c854b770782148f91ec19",
      "tree": "29bc9e3186841e5fb76fd42554a981952fcb96d0",
      "parents": [
        "e44f6a9e06aa0ae42463a791357c0e5c18020c59"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Feb 07 19:33:52 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Feb 08 00:34:01 2019 -0500"
      },
      "message": "THRIFT-4779: fix exception type in TMultiplexedProcessor\n"
    },
    {
      "commit": "e44f6a9e06aa0ae42463a791357c0e5c18020c59",
      "tree": "5c99b0c84837103bed6e51dff7571a9530731e60",
      "parents": [
        "fc6c15c83de4f9d34e570c1f1465e7a1f6abc798"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Feb 07 17:11:21 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Feb 07 20:00:16 2019 -0500"
      },
      "message": "THRIFT-4778: fix inheritance for protocol factories\n"
    },
    {
      "commit": "53bd0e6295547e76ab00913cfd62f8d040bd996c",
      "tree": "b6415302e64a3a275a3e6484bd2e3968c8d1ba19",
      "parents": [
        "2be45e566dd490aabf7a45ec3474545a0817024e"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 31 17:11:04 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Feb 01 11:13:49 2019 -0500"
      },
      "message": "THRIFT-4745: fixes compiler warnings\n"
    },
    {
      "commit": "f15b4152b9ea8e73a24e37e3f54a999060ea68bf",
      "tree": "09960f6a5cb124417c0c86b4871aea8a81caa927",
      "parents": [
        "84d9cd27f9a7a5062c9cc270583a001a7aaec196"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 31 13:01:56 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Feb 01 11:13:49 2019 -0500"
      },
      "message": "THRIFT-4405: fix negative sequence id handling in python TCompactProtocol\n"
    },
    {
      "commit": "f6511c904bcac1dd8c7e24aa3432326738865f1b",
      "tree": "4fd5178eab2ecf88282db1d197e2df6baa74f51d",
      "parents": [
        "2ec93c8a2da2531755078ab6d5a65a96e26cf4c2"
      ],
      "author": {
        "name": "Jun",
        "email": "Junnplus@users.noreply.github.com",
        "time": "Fri Feb 01 12:07:58 2019 +0800"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 31 23:07:58 2019 -0500"
      },
      "message": "THRIFT-4767: Added TSocket/TSSLSocket support tcp keep-alive in python (#1725)\n\n* THRIFT-4767: Added TSocket support tcp keep-alive in python\r\n* TSSLSocket support tcp keep-alive\r\n"
    },
    {
      "commit": "638c91f6be6e4417f0d5d8d57886c9b74afabfbd",
      "tree": "2ceeb35214e91e3df510777068cfa290f2285281",
      "parents": [
        "5e23c4df5b8a2c7f36f807dc07dc897fd8a39763"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sat Jan 26 10:33:04 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sun Jan 27 08:21:40 2019 -0500"
      },
      "message": "THRIFT-1549: properly unwrap and close TSSLSocket in python\n"
    },
    {
      "commit": "b96c43892a9e89dfa61834505bb25357e80287da",
      "tree": "02bbf30d80e6f6ef8c76bc67ad20b90331b6de9d",
      "parents": [
        "8935c98046dbbdd36ede73c1525f1be9df8da5cd"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 24 17:45:07 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Jan 25 23:33:54 2019 -0500"
      },
      "message": "THRIFT-4717: fix up make clean with autoconf\n"
    },
    {
      "commit": "8935c98046dbbdd36ede73c1525f1be9df8da5cd",
      "tree": "478212d599d7d7bdb0404bf4b1a86b75be305ea7",
      "parents": [
        "129bb3e10d7bf1a1965d31cb8f30c7ccd3f96ecb"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Jan 25 00:41:17 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Jan 25 23:33:54 2019 -0500"
      },
      "message": "THRIFT-4753: re-version master to next release 0.13.0\n"
    },
    {
      "commit": "fe11c48ee185c9aead78d0c67c644c575df255a8",
      "tree": "1ab58eef8ffabba6ddf48edf712556857a19f99f",
      "parents": [
        "4eac57abcfc5f6fb591d894fe446add243392557"
      ],
      "author": {
        "name": "junnplus",
        "email": "junnplus@gmail.com",
        "time": "Sat Jan 12 02:15:05 2019 +0800"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Jan 14 12:10:24 2019 -0500"
      },
      "message": "THRIFT-4733: Fix test unix socket address already in use\n"
    },
    {
      "commit": "0f43f95b89db01a8c68225824f8aa7fd4522007e",
      "tree": "3a08b4fc6b567a7aa8fde17c2e3ddf72e78e4365",
      "parents": [
        "8cb3b6854818bf63d3208afaf4dc9e70c6137500"
      ],
      "author": {
        "name": "cyy",
        "email": "cyyever@outlook.com",
        "time": "Sat Jan 05 19:27:00 2019 +0800"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Jan 07 08:11:37 2019 -0500"
      },
      "message": "revert noexcept changings\n"
    },
    {
      "commit": "316723add4c368ffd144dd5beb55245832e073fa",
      "tree": "4dc5c86e776e4818ba5fb102e33eb62cfeb8382f",
      "parents": [
        "52637b33aba090851436b2031476529423ea3281"
      ],
      "author": {
        "name": "cyy",
        "email": "cyyever@outlook.com",
        "time": "Sat Jan 05 16:35:14 2019 +0800"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Jan 07 08:11:37 2019 -0500"
      },
      "message": "remove stdcxx namespace and use std directly\n"
    },
    {
      "commit": "c3375d9e434b5740808813138b28b70517e82c7d",
      "tree": "db8f0e81129461b1ddc6e7a951cbb5667ca15634",
      "parents": [
        "a139082755369611ed243376ec3c4161452369fc",
        "384647d290e2e4a55a14b1b7ef1b7e66293a2c33"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sun Dec 30 11:06:00 2018 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sun Dec 30 11:06:00 2018 -0500"
      },
      "message": "Merge remote-tracking branch \u0027origin/0.12.0\u0027 into consume-0.12.0\n"
    },
    {
      "commit": "384647d290e2e4a55a14b1b7ef1b7e66293a2c33",
      "tree": "f876c79d4945d64c1eb8fb55291ba96a03af6dae",
      "parents": [
        "9b75e4fe745a9b08e6ccdc0998ec7a69272f5b4c"
      ],
      "author": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Oct 16 22:36:46 2018 -0400"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Tue Dec 18 20:24:34 2018 -0500"
      },
      "message": "Version 0.12.0\n"
    },
    {
      "commit": "9b75e4fe745a9b08e6ccdc0998ec7a69272f5b4c",
      "tree": "747d56c669ceafbea6dc5955e8622cc39e6fa1cf",
      "parents": [
        "56ac72e74ae354c286c41f5d5a3c0b8723feb587"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Dec 17 16:21:14 2018 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Tue Dec 18 10:17:57 2018 -0500"
      },
      "message": "THRIFT-4680: fix up std::min, std::max, and numeric limits min/max on Windows; remove NOMINMAX from cmake build\n"
    },
    {
      "commit": "7af79c83591ddf289abaeacc7f0e97af7397f825",
      "tree": "744586c696aa2adf7f675b8fabf2b0783d4ab059",
      "parents": [
        "5112afcc9732381401435b7134a18aab30d4dec9"
      ],
      "author": {
        "name": "lshgdut",
        "email": "shliu30@vip.qq.com",
        "time": "Wed Nov 21 10:09:42 2018 +0800"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Nov 22 08:30:56 2018 -0500"
      },
      "message": "THRIFT-4668: make socket backlog configurable for python2\nClient: py\n"
    },
    {
      "commit": "66a44c5d8d57bd0c2e2afd228a29b5bc679a6770",
      "tree": "b8e114bb322b05217224926c866b21a01a7af27c",
      "parents": [
        "8de3749235db03c1d043c9f31dcbdc4c0fb011ea"
      ],
      "author": {
        "name": "Neil Williams",
        "email": "neil@reddit.com",
        "time": "Mon Aug 13 16:12:24 2018 -0700"
      },
      "committer": {
        "name": "Aki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Sat Sep 01 10:24:43 2018 +0900"
      },
      "message": "THRIFT-4621 Add THeader for Python\n\nClient: py\n"
    },
    {
      "commit": "f5f430df56871bc937950274b2c86681d3db6e59",
      "tree": "a9f6f1258ea16a51915dd18799af3230d36d1630",
      "parents": [
        "b5471f63cb4bb8e3b00835a9ca9e48ff76a3bb51"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Jun 08 03:37:55 2018 +0000"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sat Jun 16 19:16:04 2018 +0000"
      },
      "message": "THRIFT-4579: Move up to Ubuntu Bionic for CI builds\nmake dlang library compatible with openssl-1.1 for Ubuntu Bionic\nRequires an upstream deimos update to be compatible.\n"
    },
    {
      "commit": "747158c8daa994b3386f1dcb4fc9e91aed1748ad",
      "tree": "5b24da692e53a6a94897d996a523229b884a100b",
      "parents": [
        "4d10279244838383154003ea733487f7349fa690"
      ],
      "author": {
        "name": "Nicholas Martin",
        "email": "nicholas.martin2@gmail.com",
        "time": "Fri Jun 08 01:30:44 2018 +0100"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jun 07 20:30:44 2018 -0400"
      },
      "message": "THRIFT-4548: python binary accelerated protocol with multiplexing via decoration (#1547)\n\n* Fix binary accelerated protocol with multiplexing\r\n\r\nTMultiplexedProtocol objects did not inherit from TProtocol, so the\r\ndecorated protocol object passed into the binary accelerated C extension\r\nwas not really a TProtocol object, which caused errors. This\r\nimplementation decorates the protocol object by dynamically creating a\r\nnew class that extends both the class of the protocol being decorated\r\nand TMultiplexedProtocol.\r\n\r\n* THRIFT-4548: remove known failures for py multiplexed client cross tests\r\n\r\n* Call super with args for python2 \u0026 pep8 fixes\r\n\r\n* THRIFT-3877: disable known failures for http cpp tests\r\n\r\nThis closes #1535 "
    },
    {
      "commit": "eb9f65b74ec6babf85cf6e2686125e665e0e8e45",
      "tree": "42d969d639d0649b5eaa9987b206173f6c54e193",
      "parents": [
        "88591e32e710a0524327153c8b629d5b461e35e0"
      ],
      "author": {
        "name": "Aki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Sun Jun 03 19:15:53 2018 +0900"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jun 07 09:38:49 2018 -0400"
      },
      "message": "THRIFT-4577 Outdated cipher string in python unit test\n\nAlso fixes a bug where unit test execution hanged forever on SSL initialization failure.\n"
    },
    {
      "commit": "edf8f0f2511e8eed3bb2129413307665ef4f4b79",
      "tree": "4327e5797b647f942fe4724fd10679fd76640127",
      "parents": [
        "92d80629ac2a39d432ac5bb29f45951be3465f8f"
      ],
      "author": {
        "name": "Josip Sokcevic",
        "email": "jsokcevic@thumbtack.com",
        "time": "Thu Apr 26 19:30:25 2018 -0700"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon May 07 19:11:34 2018 -0400"
      },
      "message": "THRIFT-4561: Remove python socket timeout\n\nTimeout is already set in HttpClient. The reason for removal is issue\nwith gunicorn and gevent as described here\nhttps://github.com/benoitc/gunicorn/pull/1616\n"
    },
    {
      "commit": "2068544a09e22d4ca2091bde01bc858a15e5b762",
      "tree": "10f67857d23739e381ff7c69f416819933a5a870",
      "parents": [
        "606f1ef31447526b908244933d5b716397a6bad8"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Tue Apr 10 10:30:51 2018 -0400"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Apr 13 13:20:49 2018 -0400"
      },
      "message": "THRIFT-4548: add python cross test client multiplexed protocol support\nClient: py\n"
    },
    {
      "commit": "6f8c99e98170dcd4f311e755b79f7013868c64c5",
      "tree": "0d8a7a41c707815ed86d624bf81be5317a70185b",
      "parents": [
        "a0cf38ed312a5342eb05574719485b725fa52eee"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sat Mar 24 16:32:02 2018 -0400"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Apr 05 10:25:19 2018 -0400"
      },
      "message": "THRIFT-3118: add http (for non-ssl and for ssl) to the python cross tests\n"
    },
    {
      "commit": "9e0c9272140ea91ea4b3f042d207acbbaa15c093",
      "tree": "8f37f985a90621bfc9073f50d03a3366e8ed2097",
      "parents": [
        "55ddf19cca0dc9f56a974ff5740c21703ab9c4e1"
      ],
      "author": {
        "name": "Eduardo Arada",
        "email": "eduardo.arada@gmail.com",
        "time": "Thu Mar 01 15:42:33 2018 +0100"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Mar 05 08:26:15 2018 -0500"
      },
      "message": "THRIFT-4505: Fix python build on Vagrant Windows boxes\nClient: py\n\nThis closes #1499\n"
    },
    {
      "commit": "00646bbba7a2101f0ad2938d2e37cb83abbfb3c7",
      "tree": "c7ef84d72c02cf6bd087c703a085d76c96e63efa",
      "parents": [
        "e241265cb2ac7cbab2fd46bda52638da3a989d51"
      ],
      "author": {
        "name": "Yubing Dong (Tom)",
        "email": "tomtung@users.noreply.github.com",
        "time": "Thu Jan 18 23:55:24 2018 -0800"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Wed Jan 24 00:10:42 2018 -0500"
      },
      "message": "THRIFT-4464: Fix typo in TNonblockingServer.py\nClient: py\n\nThis closes #1475\n"
    }
  ],
  "next": "f3a2974dfe63b3a551b422868f3990112bda5bd8"
}
