)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "66f50531405ac558d78725eaf01c95eb55621540",
      "tree": "30e054f96743d0d06c44d5c537c5b808fe755273",
      "parents": [
        "8b411a0c8f9f6dc4fa7f6660b5b15fe27a76741d"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Feb 14 21:47:38 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Feb 14 22:47:19 2016 +0900"
      },
      "message": "THRIFT-3614 Improve logging of test_sslsocket.py\n\nSuppress server exception log for expected connection failures\nClient: Test (Python)\nPatch: Nobuaki Sukegawa\n\nThis closes #866\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": "ac06704a0c62df9ca03782cb05b0f8cc05387a45",
      "tree": "212581fee5c432f66ffac3e81516e32cb0a7cbd4",
      "parents": [
        "9ed45e9a416374775d8a4d1ae3b28b3680e525a5"
      ],
      "author": {
        "name": "John Sirois",
        "email": "jsirois@apache.org",
        "time": "Fri Feb 12 08:10:13 2016 -0700"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 13 02:32:12 2016 +0900"
      },
      "message": "THRIFT-3616 Improve TSSLSocketTest robustness.\nClient: Test (Python)\nPatch: John Sirois\n\nPreviously a combination of fixed ports, fixed paths and delays was used\nin all TSSLSocketTest tests that involved making a client-server\nconnection; now ephemeral ports, unique tmp files and no delays for\nsuccessful connection tests are all implemented. A delay still remains\nfor the failed connection tests to allow for SSL handshake initiation\nbut not wait too long.\n\nThis closes #850\n"
    },
    {
      "commit": "355116eb1d7e903e6aba7b239db49951919e48c5",
      "tree": "8872ad4b13db37ffea922ca55ee31dff628f87a1",
      "parents": [
        "144bbef3ddd3a66ff038e5ad271500aa06b63aae"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 11 18:01:20 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 11 20:07:02 2016 +0900"
      },
      "message": "THRIFT-3614 Improve logging of test_sslsocket.py\nClient: Test (Python)\nPatch: Nobuaki Sukegawa\n\nThis closes #846\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": "f07b4a14dfc30a397d49b18c3f50230a08310bd1",
      "tree": "21c42fd3359bc3ac5b0d80f55db905fc233e13a3",
      "parents": [
        "1ea3ca589f8020526aeeb394185ea651c0e3a9f3"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Feb 01 23:44:02 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Feb 03 01:07:43 2016 +0900"
      },
      "message": "Adjust Python SSL test delay in an attempt to avoid flakiness on CI\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": "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"
    }
  ]
}
