)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "e7611d0f3ed1704711f58ff45f331db6748dfbb5",
      "tree": "f6d328baa3576e8346a94d36cb585eb338470dbb",
      "parents": [
        "ba5e065aaa0e1f9a3d0174a5c287fff09ad2f3a7"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Oct 23 16:44:45 2017 -0400"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Oct 23 16:44:45 2017 -0400"
      },
      "message": "THRIFT-4367: Fix missing positional argument in python\nTProcessor.process\nClient: py\nPatch: Qyetfu\n\nThis closes #1392\n"
    },
    {
      "commit": "0ad20bdbfe9abcbb0cc5332ff95651b5c975da91",
      "tree": "7e713c9380844afe41019a7c6ebe4e508eba3464",
      "parents": [
        "8b8a8efea13d1c97f856053af0a5c0e6a8a76354"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Sat Sep 30 15:44:16 2017 -0700"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Thu Oct 19 11:29:04 2017 -0400"
      },
      "message": "THRIFT-4351: use travis build stages to optimize build,\navoiding duplicate rebuilds of the same image, and also\nallow personal docker hub repositories for private fork\nbuilds to be optimized. Move ubsan build to artful image\nbecause it catches more stuff and fix what was found.\n\nTHRIFT-4345: solidify docker build strategy for maximum\ncoverage: trusty, xenial, artful as stock as they can be\n\nTHRIFT-4344: add top level language summary markdown and\nupdate readme with a new image on the layered architecture\n\nTHRIFT-3847: remove VERSION macro from config.h which\nwas causing a conflict on artful builds.\n\nTHRIFT-4359: fix haxe map/set decode when key is binary,\nas a missing break statement caused it to use an int\nduring decode\n\nThis closes #1389\n"
    },
    {
      "commit": "2d1fe88db3f02c0a3a8f9cc2ad2f5f7881a0eae3",
      "tree": "1a94a40592e817cf18cdcc9bf4d9a7d7e4a7f7d9",
      "parents": [
        "48ba736a5800c0abc3b136ec478cf856f856ffcc"
      ],
      "author": {
        "name": "Elvis Pranskevichus",
        "email": "elvispranskevichus@pinterest.com",
        "time": "Tue May 23 11:36:23 2017 -0400"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Sep 25 17:11:33 2017 -0700"
      },
      "message": "THRIFT-4206: Fix decoding of strings in containers with py:dynamic and py:utf8strings\nClient: py\n\n_read_by_ttype and _write_by_ttype must be using the *element* spec\nand not the container spec when determining the correct read/write\nhandler.\n\nThis closes #1273\n"
    },
    {
      "commit": "d7142b7e4fe114c13d8235a7c47f58947f916bff",
      "tree": "d1f6ce9e74787245d69c205238211739974b0b24",
      "parents": [
        "f454369198500a90388a4a6f73970e961949c186"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Fri Sep 01 13:00:36 2017 -0700"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Sep 04 18:09:34 2017 -0700"
      },
      "message": "THRIFT-4295: rework the docker build images, updating them and tuning the travis builds\n\nThis closes #1340\n"
    },
    {
      "commit": "2f03618a6c0a938813ca36e6a2fcd9f517a64ee0",
      "tree": "257314a47148ff89f8c7e7b96bd6837faba5208f",
      "parents": [
        "82ae9575cdc112088771fc7b876f75e1e4d85ebb"
      ],
      "author": {
        "name": "Håkon Hitland",
        "email": "hakon.hitland@zedge.net",
        "time": "Mon Jul 31 12:39:52 2017 +0200"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Thu Aug 10 15:39:09 2017 -0400"
      },
      "message": "THRIFT-4274: Catch OSError in TSSLServerSocket.accept()\nClient: py\n\nThis closes #1321\n\nwrap_socket can raise OSError instead of SSLError when receiving an\ninvalid connection attempt, which if not caught crashes TSimpleServer\nand causes the feature tests to fail.\n"
    },
    {
      "commit": "b56ead31153dae3d0e6a7a3e296dc2ca0c468586",
      "tree": "b56ae94b0a4bb6fe5237f71ecbbd08b34b7d01de",
      "parents": [
        "c34653f75106fbe20293ddfd5b07f74772891a6d"
      ],
      "author": {
        "name": "Eric Conner",
        "email": "eric@pinterest.com",
        "time": "Thu Jul 06 21:38:05 2017 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Jul 07 20:51:00 2017 +0200"
      },
      "message": "THRIFT-2642 Recursive structs don\u0027t work in python\nClient: Python\nPatch: Eric Conner \u003ceric@pinterest.com\u003e\n\nFix whitespace for flake8.\n\nThis closes #1305\n"
    },
    {
      "commit": "c34653f75106fbe20293ddfd5b07f74772891a6d",
      "tree": "2a844527515654b65d8f1bfac9c68a2484c535f9",
      "parents": [
        "49e5103920e75a149d02c7d487496c8c79154a6c"
      ],
      "author": {
        "name": "Eric Conner",
        "email": "eric@pinterest.com",
        "time": "Wed Jun 21 03:34:12 2017 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Jul 06 22:59:10 2017 +0200"
      },
      "message": "THRIFT-2642 Recursive structs don\u0027t work in python\nClient: Python\nPatch: Eric Conner \u003ceric@pinterest.com\u003e\n\nThis closes #1293\n"
    },
    {
      "commit": "07f59971bd11df619709444275298061ee69f707",
      "tree": "197adaaede4f594115899dc409a30d2d842195d3",
      "parents": [
        "9b1544dc21f2d952b91c44e4636e1b9da937002c"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Fri Mar 10 06:18:33 2017 -0500"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Fri Mar 10 06:18:33 2017 -0500"
      },
      "message": "THRIFT-4081: appveyor retooling - added mingw64 build as a second job to the CI build process\n\nThis closes #1205\n"
    },
    {
      "commit": "e2bc9727500584e055ce603bf95f00165c657ec2",
      "tree": "3dc8b0c2d7d65be81e0edad6f8735275212b517e",
      "parents": [
        "e66b8fcde3922ab9244908d9ca27d5084536e168"
      ],
      "author": {
        "name": "Yao Jin",
        "email": "yjin@xiaohongshu.com",
        "time": "Thu Feb 23 13:49:45 2017 +0800"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Fri Feb 24 10:28:27 2017 -0500"
      },
      "message": "THRIFT-4102 remove useless code cause performance problem\nClient: python\n\nThis closes #1203\n"
    },
    {
      "commit": "36628a28e975e4d680fff66eec3e66c06ca86bf2",
      "tree": "2f9a1c99bd6212c6db636671c4d6c788cdd20b47",
      "parents": [
        "e8ba7877baec6f9871a88db8d3885361a2260ab2"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Feb 13 15:25:41 2017 -0500"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Feb 13 15:25:41 2017 -0500"
      },
      "message": "THRIFT-3369 Provide SSL/TLS client for c_glib\nClient: c_glib\nPatch: Gonzalo Aguilar Delgado \u003cgaguilar@level2crm.com\u003e\n\nThis closes #1185\n"
    },
    {
      "commit": "e8ba7877baec6f9871a88db8d3885361a2260ab2",
      "tree": "9a2dc1c722241c96359c00829c7149d74f09be0c",
      "parents": [
        "4626fd889da53462023d42d99d1d82e13a6e890f"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Feb 12 21:14:48 2017 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Feb 12 21:14:48 2017 +0900"
      },
      "message": "THRIFT-4026 TSSLSocket doesn\u0027t work with Python \u003c 2.7.9\n\nThis closes #1166\n"
    },
    {
      "commit": "4626fd889da53462023d42d99d1d82e13a6e890f",
      "tree": "bce5eda5b1e48eab0f097ee90aa25c91ab5e3d23",
      "parents": [
        "bff044667caf8a8c2b0dd30ed11b328ff2902cf5"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Feb 12 21:11:36 2017 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Feb 12 21:11:36 2017 +0900"
      },
      "message": "THRIFT-3938 Python TNonblockingServer does not work with SSL\n\nThis closes #1100\n"
    },
    {
      "commit": "de9c330b24c9190078eefb68c864d2a41a4dee07",
      "tree": "bce902a6a40e51180cddad24eb83d8706f152615",
      "parents": [
        "2d6060d882069ed3e3d6302aa63ea7eb4bb155ad"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Wed Feb 01 07:16:28 2017 -0500"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Wed Feb 01 07:16:28 2017 -0500"
      },
      "message": "THRIFT-4007: TTransport.py micro-optimization: don\u0027t call len(chunk) twice\nClient: Python\nPatch: Nate Jensen \u003cnathan.jensen@raytheon.com\u003e\n\nThis closes #1121\n"
    },
    {
      "commit": "db3a92ebcffea09fc456bf76754b78fe8466fe59",
      "tree": "c95ec5a4112a59b830d8ade5d8f532ec7696b7fb",
      "parents": [
        "0c27352179e0463bde1f68757f2d77e3c222f530"
      ],
      "author": {
        "name": "ciarancourtney",
        "email": "ciaran.courtney@cylon.com",
        "time": "Tue Dec 20 11:12:15 2016 +0000"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Dec 21 21:08:24 2016 +0100"
      },
      "message": "THRIFT-4009 Use @implementer instead of implements in TTwisted.py\nClient: Python\nPatch: ciarancourtney \u003cciaran.courtney@cylon.com\u003e\n\nThis closes #1142\n"
    },
    {
      "commit": "042ce7e7c894ac99489d2cd1a3d139e8d630bbdb",
      "tree": "227aa85be1f0807a0b27f25925a58ac5d525de4b",
      "parents": [
        "2df9c20dc76c044e502861a2111b90cbdcbbb957"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Sep 28 09:47:05 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Sep 29 02:44:46 2016 +0900"
      },
      "message": "THRIFT-3798 THttpClient does not use proxy from http_proxy, https_proxy environment variables\n\nFix CI failure due to PEP8 violation\n\nThis closes #1097\n"
    },
    {
      "commit": "1ac0a80aa07421a4b7a857d801038b7991833f7f",
      "tree": "7c0d393d9fe0a52042f34c5b4f47c90127804e71",
      "parents": [
        "900569c442742a1cb727111574dff26a7401d8c3"
      ],
      "author": {
        "name": "Martin Wilck",
        "email": "mwilck@arcor.de",
        "time": "Wed Apr 27 09:41:03 2016 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Sep 26 21:20:01 2016 +0200"
      },
      "message": "THRIFT-3798 THttpClient does not use proxy from http_proxy, https_proxy environment variables\nClient: Python\nPatch: Martin Wilck \u003cmwilck@arcor.de\u003e\n"
    },
    {
      "commit": "d2b4f248368be36ff24c5a54fa4f8cfb86b7ab36",
      "tree": "a5ca568e5bd4b6222b9055f88979e63ef173c354",
      "parents": [
        "d4eecda6b2f8b3b27a191605a054aa3bf79a4684"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Sep 04 18:49:23 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Sep 04 18:49:23 2016 +0900"
      },
      "message": "THRIFT-3917 Check backports.ssl_match_hostname module version\n\nThis closes #1076\n"
    },
    {
      "commit": "bf9fa905d22d2714670b5d492a319daf26f5a32c",
      "tree": "7ebf0130621a5ca0cde3aa7348b6d7033392c74e",
      "parents": [
        "21b6d9295a7f10852810a93679fdaf4c28fe72dd"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Sep 04 18:49:21 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Sep 04 18:49:21 2016 +0900"
      },
      "message": "THRIFT-3910 Do not invoke pip as part of build process\n\nThis closes #1073\n"
    },
    {
      "commit": "6657b8337d1aedfd2aed22a8cdcf4b96965ece26",
      "tree": "ac6bb5967a9e3baa8afa96a7d3a50698acc2f00e",
      "parents": [
        "4ab9a88496413087df1ee3256472b19c5b4be500"
      ],
      "author": {
        "name": "Chandler May",
        "email": "cjmay4754@gmail.com",
        "time": "Sun Mar 27 22:47:06 2016 -0400"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Tue Mar 29 12:03:34 2016 +0900"
      },
      "message": "THRIFT-3765 fix memory leak in python compact protocol extension\n\nThis closes #970\n"
    },
    {
      "commit": "f2b7a4805f321e53cdf64c7d2c0c9635dee74144",
      "tree": "526a9f66cdc2e4378e575b805839cb5a8365f7c1",
      "parents": [
        "6bb12771452b8c2fc656b0561486a51c31d1449d"
      ],
      "author": {
        "name": "Helgi Kristvin Sigurbjarnarson",
        "email": "helgikrs@gmail.com",
        "time": "Sat Oct 24 22:56:25 2015 -0700"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "sukegawa.nobuaki@ns-sol.co.jp",
        "time": "Wed Mar 09 17:23:48 2016 +0900"
      },
      "message": "THRIFT-3726 Fix incorrect conditional in TMultiplexedProtocol.py\n\nThis closes #661\n"
    },
    {
      "commit": "5bac5ba8bff4bf3ed1b25ccb1d084efa0648c4c3",
      "tree": "fc376bf0cf4843c90cac343a8d7e4309d09e27f4",
      "parents": [
        "d9b4425f68b8a239e6085f2700bfc2f95cdb2f46"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Mar 05 14:47:09 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Mar 06 09:45:34 2016 +0900"
      },
      "message": "THRIFT-3712 TTornadoServer cannot handle IPv6 address\n\nThis closes #924\n"
    },
    {
      "commit": "d9b4425f68b8a239e6085f2700bfc2f95cdb2f46",
      "tree": "7906b99c52dbefc2bf2e083a420b04c11c5e5a5e",
      "parents": [
        "1ccd81bfbc7dc09dc7a8a5e64f313935b799c833"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Tue Mar 01 02:09:11 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Mar 05 22:53:48 2016 +0900"
      },
      "message": "follow-up: THRIFT-3599 Validate client IP address against cert\u0027s SubjectAltName\nClient: Python\nPatch: Nobuaki Sukegawa\n\nFix required version of Python or dependency\n\nThis closes #914\n"
    },
    {
      "commit": "f7a8d946a0b22d0acce1325d2607c38597b36a58",
      "tree": "281b6db3dfea2ec5552198ed8e51dac52ca66415",
      "parents": [
        "3dd4d8eca8c1d20819fb58fa863b83bd348cf411"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Tue Mar 01 01:41:47 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Mar 02 23:44:23 2016 +0900"
      },
      "message": "THRIFT-3699 Fix integer limit symbol includes in Python C extension\n\nThis closes #915\n"
    },
    {
      "commit": "d479e23a1d408ab73e416f547003c4f7d9975081",
      "tree": "9e919c0f372fb01f8029fd06fbe1180b4f5d5bd5",
      "parents": [
        "2c5ed27a25087f541312d35938056890c4784fc6"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Feb 28 11:28:19 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Feb 28 12:05:14 2016 +0900"
      },
      "message": "THRIFT-3691 Run flake8 Python style check on Travis-CI\nClient: Build (Python)\nPatch: Nobuaki Sukegawa\n\nThis closes #907\n"
    },
    {
      "commit": "f32bae7a89a47047fbed9a47b78d6b69d70a3764",
      "tree": "8f67a894e0a17af54cbe6021e3f2e1d81dfb57c7",
      "parents": [
        "a72ffbea4d05586d39b507e5cd6451086fc4f763"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 20 08:51:33 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Feb 22 23:25:32 2016 +0900"
      },
      "message": "THRIFT-3651 Make backports.match_hostname and ipaddress optional\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #880\n"
    },
    {
      "commit": "a72ffbea4d05586d39b507e5cd6451086fc4f763",
      "tree": "12c3eb630025d13e13e0dcfaea32ad90f81dbb48",
      "parents": [
        "33de26cf658450513ef5731ac55b635addb4d43d"
      ],
      "author": {
        "name": "Tristen Georgiou",
        "email": "tristen.georgiou@gmail.com",
        "time": "Sat Feb 20 07:28:47 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Feb 22 23:24:31 2016 +0900"
      },
      "message": "THRIFT-3649 Python TSaslClientTransport initializes TTransportException incorrectly\nClient: Python\nPatch: Tristen Georgiou modified by Nobuaki Sukegawa\n\nThis closes #879\n"
    },
    {
      "commit": "7efa4fb9b10c9c42dcef1143918e308d9dfd6c58",
      "tree": "d1129523200bd4c40a8962da6d6827b201273f5b",
      "parents": [
        "23ffb312900bbbadf49dfee270391803e194a436"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Feb 19 00:59:57 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 20 00:45:35 2016 +0900"
      },
      "message": "THRIFT-3646 Fix Python extension build warnings\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #877\n"
    },
    {
      "commit": "1c8b5cb1528d91be98c3652baade99e406417e5f",
      "tree": "4229348ea166339964c86ad9f6194a38e162b168",
      "parents": [
        "c295c822917cb594655f61337cc32fe188e9a86f"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Feb 14 22:04:38 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Feb 17 23:21:51 2016 +0900"
      },
      "message": "THRIFT-3634 Fix Python TSocket resource leak on connection failure\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #867\n"
    },
    {
      "commit": "6a0ca7ff2750d45346d6d7faaf931de2b6254321",
      "tree": "78f3caa6bb379bc30b9c96d48e7adc7fac9bd3e3",
      "parents": [
        "7af189a2366383538bb9aae394fd5f735976f1d5"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 13 03:11:16 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 13 23:12:34 2016 +0900"
      },
      "message": "THRIFT-3618 Python TSSLSocket deprecation message should print caller\u0027s location\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #852\n"
    },
    {
      "commit": "7af189a2366383538bb9aae394fd5f735976f1d5",
      "tree": "9e9fd94cda9dd673250cc6d6c1b279c83f3ae1c1",
      "parents": [
        "6525f6ae8786a2bcb596e471efb1d76ae74aabee"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 11 16:21:01 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 13 23:12:34 2016 +0900"
      },
      "message": "THRIFT-3613 Port Python C extension to Python 3\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #845\n"
    },
    {
      "commit": "6525f6ae8786a2bcb596e471efb1d76ae74aabee",
      "tree": "80c5a5037d166c8ada55d97d4e98d36bff632155",
      "parents": [
        "41e8cbf6866bf9b8ec6d5bbc157a1fb970d8c3cc"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 11 13:58:39 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 13 23:12:34 2016 +0900"
      },
      "message": "THRIFT-3612 Add Python C extension for compact protocol\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #844\n"
    },
    {
      "commit": "ce1c8abfa4bab71e519cc6d811cb6e901be00600",
      "tree": "d9fef685f50925a2f08c95d2b9e2781b7816bfeb",
      "parents": [
        "355116eb1d7e903e6aba7b239db49951919e48c5"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 11 18:21:39 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 11 20:07:11 2016 +0900"
      },
      "message": "THRIFT-3615 Fix Python SSL client resource leak on connection failure\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #847\n"
    },
    {
      "commit": "f39f7dbd26fe090f0fc6566c100ca7adc9ace714",
      "tree": "1c9d7094eeb14b226c8b33027543dd3f4c43aaa3",
      "parents": [
        "25536ad83a85cfda6d5388278e4e378f2d4df73e"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 04 15:09:41 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 04 22:20:00 2016 +0900"
      },
      "message": "THRIFT-3599 Validate client IP address against cert\u0027s SubjectAltName\n"
    },
    {
      "commit": "25536ad83a85cfda6d5388278e4e378f2d4df73e",
      "tree": "ceb7f5bb28cdfdd2273c288d96a04d7c8c1148a8",
      "parents": [
        "5b44612d20e762e0774a19b7ef42a28f7fc0b481"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 04 15:08:55 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 04 22:20:00 2016 +0900"
      },
      "message": "THRIFT-2103 [python] Support for SSL certificates with Subject Alternative Names\n"
    },
    {
      "commit": "10308cb975ac090584068d0470b81e41555b2f35",
      "tree": "bc0bb670626a8a196dc00df6429ae4dcc838b4c4",
      "parents": [
        "d094e79de7e0bd61320f006c83c0de669363bce8"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Feb 03 01:57:03 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 04 14:28:24 2016 +0900"
      },
      "message": "THRIFT-3596 Better conformance to PEP8\n\nThis closes #832\n"
    },
    {
      "commit": "7b545b57200ab960894e873716862cafbf9321f0",
      "tree": "56b13f14a20877edf7f7d33fe05e62e309f877ca",
      "parents": [
        "7e286b0d143be88adbd84f2e1cbfec66196a6a57"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Jan 11 13:46:04 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Jan 13 20:25:23 2016 +0900"
      },
      "message": "THRIFT-3532 Add configurable string and container read size limit to Python protocols\n\nThis closes #787\n"
    },
    {
      "commit": "a3b88a012e6452b665073b7fb9e211e86093efbf",
      "tree": "d6eecc9f6bff6eb3998ad0afd8d5ac3f91903358",
      "parents": [
        "397bd51af7cfad17a93324f0c43f8d3424627b36"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Jan 06 20:44:17 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Mon Jan 11 11:41:14 2016 +0900"
      },
      "message": "THRIFT-3503 Enable py:utf8string by default\n\nThis closes #779\n"
    },
    {
      "commit": "397bd51af7cfad17a93324f0c43f8d3424627b36",
      "tree": "2c541eae3740127f507e4a269525f8add6a9c403",
      "parents": [
        "03565bf467de14a8a229d419164c2b16c34c538e"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Jan 06 14:43:15 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Mon Jan 11 11:35:10 2016 +0900"
      },
      "message": "THRIFT-3527 -gen py:dynamic,utf8strings ignores utf8strings option\n\nThis closes #777\n"
    },
    {
      "commit": "299255afbb1f0ba302d3e29a76e20c0f5984f31e",
      "tree": "8adaf787144927ec1395a39be4595e04555c6923",
      "parents": [
        "1b4ebc393d32f954b738e6904d3cc21a84bd1d93"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Jan 06 14:52:50 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Mon Jan 11 11:34:20 2016 +0900"
      },
      "message": "THRIFT-3525 py:dynamic fails to handle binary list/set/map element\n\nThis closes #775\n"
    },
    {
      "commit": "65d8564e908476f191404164c4db29a0a4434da5",
      "tree": "48eae6c283b9e30bee9b2ddc5581b44da59e1bbe",
      "parents": [
        "c410494453199720a9482cbde832e4e88082de44"
      ],
      "author": {
        "name": "Thomas Bartelmess",
        "email": "tbartelmess@marketcircle.com",
        "time": "Sun Jan 10 11:34:19 2016 -0500"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@bufferoverflow.ch",
        "time": "Sun Jan 10 20:25:38 2016 +0100"
      },
      "message": "THRIFT-3538 python: Removed UnboundMethodType\n\nThis closes #783\n"
    },
    {
      "commit": "4733db4e151794a7a6e1cbbb5396e5d1146f1f8e",
      "tree": "cbb2dc196323d604ac6afedd30838fcda1677e2a",
      "parents": [
        "796667b29f91682871cec310571e66b1259fffb0"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Tue Jan 05 02:50:57 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Jan 06 04:35:12 2016 +0900"
      },
      "message": "THRIFT-3519 fastbinary does not work with -gen py:utf8strings\nClient:\nPatch: Nobuaki Sukegawa\n\nThis closes #769\n"
    },
    {
      "commit": "33744b0524b7248dda9e9e544420d69c33d3a3aa",
      "tree": "e5d520eaf0f5d90ce2d85204c9014296c692418d",
      "parents": [
        "1d8e745035354e67c794bec9e0b5663ee7cab902"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Jan 03 14:24:39 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Tue Jan 05 03:02:35 2016 +0900"
      },
      "message": "THRIFT-3515 Python 2.6 compatibility and test on CI\n\nThis closes #766\n"
    },
    {
      "commit": "ad8358664e6aa2de9094ca68c8b626b953b572c0",
      "tree": "677c369a367b0f451a929b661f84d4c28b9edae1",
      "parents": [
        "b78d781b2e55a066d53577402e42b4d509998978"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Dec 23 23:32:09 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Jan 03 02:39:51 2016 +0900"
      },
      "message": "THRIFT-3505 Enhance Python TSSLSocket\n\nThis closes #760\n"
    },
    {
      "commit": "b9c859a07bae89643c0953a14e490cf3db435957",
      "tree": "0e9de4da541ddfa0ac352ed57078cddcce4c665b",
      "parents": [
        "7b8946941e5bcb1217711115fed3f6c77d73b5ef"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Dec 21 01:10:25 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Jan 02 22:54:16 2016 +0900"
      },
      "message": "THRIFT-3506 Eliminate old style classes from library code\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #758\n"
    },
    {
      "commit": "7b8946941e5bcb1217711115fed3f6c77d73b5ef",
      "tree": "081edb145dc156d63ccc0a4df959fa4d71588ffb",
      "parents": [
        "6dde7f19254db71cf27df214a59d7156967237fc"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Dec 23 21:45:06 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Jan 02 22:54:16 2016 +0900"
      },
      "message": "THRIFT-3504 Fix FastbinaryTest.py\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #757\n"
    },
    {
      "commit": "dd02f552835615f566ee811f96515e23d63c352b",
      "tree": "10e0d3044cd1fca82e8edd3aa9e66aac09016b81",
      "parents": [
        "9b35a7c021d06b9322e208e466a0f2aac1e95212"
      ],
      "author": {
        "name": "Robert Thille",
        "email": "robert.thille@cyaninc.com",
        "time": "Thu Jan 08 14:48:53 2015 -0800"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Dec 24 02:11:17 2015 +0900"
      },
      "message": "THRIFT-2883 TTwisted.py, during ConnectionLost processing: exceptions.RuntimeError: dictionary changed size during iteration\n\nThis closes #314\n"
    },
    {
      "commit": "e841b3dac619a5e5d3523d059d48db1a12e41360",
      "tree": "183832cb3b7b9c6cdf10c9f1183a47f8410905ce",
      "parents": [
        "b9641e0949f5de5a3c8079758fdd638889614143"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Tue Nov 17 11:01:17 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Nov 28 00:08:07 2015 +0100"
      },
      "message": "THRIFT-162 Thrift structures are unhashable, preventing them from being used as set elements\nClient: Python\nPatch: David Reiss, Nobuaki Sukegawa\n\nThis closes #714\n"
    },
    {
      "commit": "8551f3f53dee2a879de0aa511471f0190b1fe71c",
      "tree": "25e5ebaef772f3c1abcaef7b4ec22b1c98d96b96",
      "parents": [
        "a8c74d5c521faa333e6b70445c08f94dec6b53c1"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Nov 15 16:33:14 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Nov 15 16:33:55 2015 +0900"
      },
      "message": "Revert part of 7f404fdef23dbbe5204d35bcb9261ff50939f31f\n\nunichr does not work for code point \u003e 0x10000 on ucs2 build\n"
    },
    {
      "commit": "bc7e480d0fc80501b597ed57b94395e1c85a2069",
      "tree": "bb81209ff98713994cae939b0d1810fa051490eb",
      "parents": [
        "97a48988de6a7ac513311456a6f6d3ef7f587639"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Nov 14 19:23:27 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Nov 15 14:00:18 2015 +0900"
      },
      "message": "THRIFT-3350 Python JSON protocol does not encode binary as Base64\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #697\n"
    },
    {
      "commit": "7f404fdef23dbbe5204d35bcb9261ff50939f31f",
      "tree": "9cd3332b9ece02e84dd1804fa9dffb220c1fe5e5",
      "parents": [
        "f892674d1755cef3b358979fd2dd644f1db3cae3"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Nov 14 17:05:42 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Nov 15 14:00:18 2015 +0900"
      },
      "message": "Run test for THRIFT-2413\n\nSlightly simplify _toChar method too.\n\nThis closes #695\n"
    },
    {
      "commit": "369d62e5e925654fa6d1ca3bfe5d73023456adb1",
      "tree": "22b652c87ea3188b28834ad3606f4bbd6c51a872",
      "parents": [
        "517aa1491b1e16c88d17d6d83dcc7ef83bc85164"
      ],
      "author": {
        "name": "Phongphan Phuttha",
        "email": "phongphan.p@gmail.com",
        "time": "Mon Nov 09 02:05:09 2015 +0700"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Nov 14 17:03:57 2015 +0900"
      },
      "message": "THRIFT-2413 Add JSON escaped unicode support for python3.\nClient: Python\nPatch: Phongphan Phuttha\n\nThis closes #686\n"
    },
    {
      "commit": "7f01e2a8f869d8622bc56e7584cce98865fa8b0f",
      "tree": "b0e9343bd76726658cb36f5166849e913a1b1689",
      "parents": [
        "f264884901d0e2a1197ae1511ee0fa0b8ca0d2aa"
      ],
      "author": {
        "name": "Phongphan Phuttha",
        "email": "phongphan.p@gmail.com",
        "time": "Fri Nov 06 15:46:50 2015 +0700"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Nov 09 02:34:28 2015 +0900"
      },
      "message": "THRIFT-2413: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol\nClient: Python\nPatch: Phongphan Phuttha\n\nThis patch allows readJSONString to decode escaped unicode string including encoded surrogate pair.\n\nThis closes #673\n"
    },
    {
      "commit": "760511f59b349c59982a64e249e6cf24c2b2f8f6",
      "tree": "793e2daab17a717fb2407a60627f65073daa82e5",
      "parents": [
        "49f4dc0cd8c87213a0f80ae1daba2d094a358ea7"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Nov 06 21:24:16 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Nov 06 21:24:16 2015 +0900"
      },
      "message": "THRIFT-1857 Python 3 Support\nClient: Python\nPatch: Thomas Bartelmess, Eevee (Alex Munroe), helgridly, Christian Verkerk, Jeroen Vlek, Nobuaki Sukegawa\n\nThis closes #213 and closes #680\n"
    },
    {
      "commit": "145749c7a2692a29e2c7fc4088e336e37a2ff7e3",
      "tree": "46b9a486c30332be0d3b4086c42686acb445fc0c",
      "parents": [
        "a84e139215c93a2673a46fa862eb1c05d157e3d0"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 16 19:21:22 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 16 19:21:22 2015 +0200"
      },
      "message": "THRIFT-3390 Tornado server should gracefully handle closed connections\nClidnt: Python.Tornado\nPatch: Christian Verkerk \u003cchristian@tubularlabs.com\u003e\n\nThis closes #654\n"
    },
    {
      "commit": "228b328f7bffe4d03bc22027d5c6af58251dc3d0",
      "tree": "12eb444fd73f6ab99f863468af74651731060c1f",
      "parents": [
        "9b9366145cd832c2219ffe884b01f9a7c9980b36"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Sat Oct 10 03:11:49 2015 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Oct 14 00:40:23 2015 +0200"
      },
      "message": "THRIFT-3376 C# and Python JSON protocol double values lose precision\nClient: C#, Python, C++, Ruby\nPatch: Nobuaki Sukegawa \u003cnsukeg@gmail.com\u003e\n\nThis closes #643\n"
    },
    {
      "commit": "64b8f6ca15fcb88145c447562258ebfab992dd10",
      "tree": "60e6c288699b265482a7b48095cc3a48540a3efd",
      "parents": [
        "8cd519f7a3b9436ae95049ee4299441306bdeb5c"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Sat Oct 10 02:12:48 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Oct 11 00:23:31 2015 +0200"
      },
      "message": "THRIFT-3375 Python TJSONProtocol encodes utf8 string values in an incompatible way\n\nThis closes #642\n"
    },
    {
      "commit": "15c400488550d565e5436f1e77ad3fdddfd4ef66",
      "tree": "1c42290e0c8ed6dd0463ce818cb6463efb8393fc",
      "parents": [
        "0333dbf0b5fc975c9c8d2b8d9dd057e372b9846a"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Sep 29 21:33:23 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Sep 29 21:33:23 2015 +0200"
      },
      "message": "THRIFT-3323 Python library does not handle escaped forward slash (\"/\") in JSON\nClient: Python\nPatch: Grepsr \u003cinfo@grepsr.com\u003e\n"
    },
    {
      "commit": "7daf00ceb1b6d52f7ab612b03f63907866381ff1",
      "tree": "58bccf9bf3b9600022d0205d1c75186b77937df3",
      "parents": [
        "56d38fb913791f7df476471d3c0294849140964a"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Jun 03 11:45:35 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Jun 03 11:45:35 2015 +0200"
      },
      "message": "THRIFT-3175 python: fastbinary.c python deserialize can cause huge allocations from garbage\n\ndefine MAX_LIST_SIZE to be 10,000\n\nPatch: Dvir Volk\n\nThis closes #511\n"
    },
    {
      "commit": "d565e2f496ab894e737b143cf71c2f5e3cee871b",
      "tree": "9f2be84ef51d3c2afc7c18d149d61d6fafd14829",
      "parents": [
        "43ceaf7cf5f414fe03d857aee1f7199036d2f62f"
      ],
      "author": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Wed Mar 18 21:02:47 2015 -0400"
      },
      "committer": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Wed Mar 18 21:02:47 2015 -0400"
      },
      "message": "Thrift-1784: pep-3110 exception handling\nClient: py\nPatch: jfarrell\n\nUpdates python lib for pep-3110\n"
    },
    {
      "commit": "4f2c0a066f1d59c1d57a718e829eb67e488b3c62",
      "tree": "2c888a168cf7dfd74d146bc0c24917ecb22b30db",
      "parents": [
        "8016af800ff19e2b67f691453c573f3d8f34211d"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Jan 05 21:17:06 2015 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Jan 05 21:17:06 2015 +0100"
      },
      "message": "THRIFT-2900 Python THttpClient does not reset socket timeout on exception\nClient: Python\nPatch: Aiden Scandella \u003caiden@uber.com\u003e\n\nThis closes #322\n\nWrap THttpClient withTimeout in a try/finally\nOtherwise the original value of the socket timeout is not restored properly.\n"
    },
    {
      "commit": "bf9603c77e9605fc1466d825d77e8867f32b770c",
      "tree": "66f1dae82f75a3fd5452b129554ebf92974b2123",
      "parents": [
        "3de6b8fe23af201caa86fff51bd6dcd745bd4123"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Dec 06 18:52:35 2014 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Dec 06 18:52:35 2014 +0100"
      },
      "message": "THRIFT-2846 Expose ciphers parameter from ssl.wrap_socket()\n\nfix: add missing comma\n"
    },
    {
      "commit": "3a5252999d88cc2eaca76469e60a24969ec77da6",
      "tree": "ffe2c3baadec8d7dbeec049a6855a474ccce1c49",
      "parents": [
        "fc1303e2b59e47fc3bdecf17bce84b50a4092155"
      ],
      "author": {
        "name": "Zach Steindler",
        "email": "steiza@coffeehousecoders.org",
        "time": "Mon Nov 24 13:00:47 2014 -0500"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Dec 02 00:14:11 2014 +0100"
      },
      "message": "THRIFT-2825 Supplying unicode to python Thrift client can cause next request arguments to get overwritten\n\nMake sure we clear wbuf on exception, so it doesn\u0027t contain a\npartial function call.\n\nPatch: Zach Steindler\n\nThis closes #282\n"
    },
    {
      "commit": "fc1303e2b59e47fc3bdecf17bce84b50a4092155",
      "tree": "c2ad4dd52a4846ff6212a98e3de4df2111ab0fa6",
      "parents": [
        "4bf97c196aba9e50289333c15336ad109fc87f2d"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Dec 02 00:11:54 2014 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Dec 02 00:11:54 2014 +0100"
      },
      "message": "THRIFT-2846 Expose ciphers parameter from ssl.wrap_socket()\n\nPatch: Rodney Richardson\n\nThis closes #277\n"
    },
    {
      "commit": "3b5dacba44e4fa5c07c8b828d2f65215f9c91e34",
      "tree": "56fb134a0cd9cadbdd034af8de6ffdb31ae50ef8",
      "parents": [
        "eab29a0da9eb775bb7e1e7cff6b4eeaecf237151"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Mon Nov 24 10:55:31 2014 +0100"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Mon Nov 24 10:55:31 2014 +0100"
      },
      "message": "THRIFT-2849: spelling errors fixed using codespell tool\n\nClient: All\nPatch: Anatol Pomozov\n\nThis closes #281\n"
    },
    {
      "commit": "07218673b0cd4ff9e90d6c04e4a035a7881962ef",
      "tree": "6b088a04ba881cea694f1281d9c92a75c1796892",
      "parents": [
        "dabdf659ef6b028f7ac0db732ee1c2ddd33e5a6f"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Oct 09 12:18:25 2014 +0200"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Oct 09 12:18:25 2014 +0200"
      },
      "message": "THRIFT-2757: py - fixed checkIntegerLimits in TProtocol.py\n\nClient: Python\nPatch: Bret Curtis\n\nI was applying patch, refactoring method names and profiling method, all at once\nand in that commotion code in commit was half refactored. This commit fixes it.\n"
    },
    {
      "commit": "d5f3be5ebdb2973b41b9bc902696845ed0b43f75",
      "tree": "a166eeed69318ffa4284568deeb35cff723ed09d",
      "parents": [
        "93fea15b51494a79992a5323c803325537134bd8"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@minions.org.pl",
        "time": "Wed Oct 08 15:32:21 2014 +0200"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@minions.org.pl",
        "time": "Wed Oct 08 15:40:00 2014 +0200"
      },
      "message": "THRIFT-2757: py - checkIntegerLimits optimized\n\nClient: Python\n"
    },
    {
      "commit": "93fea15b51494a79992a5323c803325537134bd8",
      "tree": "9b30a4cebbdf9f0a655223fd79699d0c036345ef",
      "parents": [
        "9a7cb9f6c8e6cab5970075e2faf40944ce331ad2"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Oct 02 16:29:14 2014 +0200"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@minions.org.pl",
        "time": "Wed Oct 08 13:35:54 2014 +0200"
      },
      "message": "THRIFT-2757: py - Added integer limits checks in compact and JSON protocols\n\nClient: Python\nPatch: Bret Curtis\n\nThis closes: #234\n"
    },
    {
      "commit": "b898eaa25cecace8a9edf65445ab1e576203d2e5",
      "tree": "6b177fe92792271e614fea5530286ff82e0293a7",
      "parents": [
        "5057b4cb5ad13c1e9637e7ed58e2c7acd855a216"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Oct 01 03:00:19 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Oct 01 03:00:19 2014 +0200"
      },
      "message": "THRIFT-2665 Debug statements are unnecessary and should be removed\nClient: Python\nPatch: Dustin Spicuzza\n\nThis closes #189\n"
    }
  ],
  "next": "3a724e37d49be1990fe2432c4ee7751653336c65"
}
