)]}'
{
  "log": [
    {
      "commit": "a715bdffaa805baae5b0b994231556b566ca326c",
      "tree": "cec57938935b441816402e474c37d1ba1ea25e92",
      "parents": [
        "6f182854d7a5f3cfc110c875d6decd3bafd1689f"
      ],
      "author": {
        "name": "Carel Combrink",
        "email": "carel.combrink@gmail.com",
        "time": "Thu Oct 30 07:44:21 2025 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Mar 11 22:39:49 2026 +0100"
      },
      "message": "THRIFT-5923: UUID python\nClient: py\nPatch: CJCombrink\n\nThis closes #3330\n"
    },
    {
      "commit": "acbcf10d91cdea4b5d8c855b8f27acd890ffecc8",
      "tree": "64b625cf9730bff5b92659ed4fe32c213d33d2ca",
      "parents": [
        "96d62dd1700e84293b99546bcf0d4ed17c25728a"
      ],
      "author": {
        "name": "Dmytro Shteflyuk",
        "email": "kpumuk@kpumuk.info",
        "time": "Fri Feb 13 18:25:55 2026 -0500"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Feb 20 00:17:08 2026 +0100"
      },
      "message": "Fixed Python flake8 offenses\n"
    },
    {
      "commit": "0b6822804eb4fdeefc6143fbe72478c7309be7b7",
      "tree": "345c63f99bc7bb35505c0767d529253831f0ee6a",
      "parents": [
        "697910f23fc5b21d21fad20499e2a43dd0496092"
      ],
      "author": {
        "name": "Dmytro Shteflyuk",
        "email": "kpumuk@kpumuk.info",
        "time": "Wed Feb 04 16:26:46 2026 -0500"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Fri Feb 20 00:15:37 2026 +0100"
      },
      "message": "Wire TLS keys in Python for cross-tests\n\nConfigure Python test client/server to use shared test keys and CA for SSL.\nRemove Python SSL entries from known failures to re-enable SSL coverage.\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": "ff9850eda6b9e00cffe4e07bc7f56c50851cd06e",
      "tree": "3c6d826edacdae83277bf1010059825ca697d877",
      "parents": [
        "3abf7ecbda08629673828895a99cfa07920a0a5b"
      ],
      "author": {
        "name": "Katie Atkinson",
        "email": "katie.atkinson@reddit.com",
        "time": "Mon Jun 12 12:23:56 2023 -0700"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Fri Jul 07 16:26:00 2023 -0700"
      },
      "message": "THRIFT-5715 Python Exceptions mutable with slots\n\nIn Python 3.11 exceptions generated by the compiler can\u0027t be used with a\ncontext manager because they are immutable. As of Python 3.11\n`contextlib.contextmanager` sets `exc.__traceback__` in the event that\nthe code in the context manager errors.\n\nAs of Thrift v0.18.1 exceptions are generated as immutable by default.\nSee [PR#1835](https://github.com/apache/thrift/pull/1835) for more\ninformation about why exceptions were made immutable by default.\n\nThis change makes all non-Thrift fields mutable when slots is used\nwithout dynamic. This will allow exceptions to be re-raised properly by\nthe contextmanager in Python 3.11.\n"
    },
    {
      "commit": "f1c53418a794f3d740b809ece822ce79c0bb62a3",
      "tree": "3cb6ae132f59fedb384c926815e1fac75adf45dd",
      "parents": [
        "cf95fef9b88761ff773257aa0ac0a41e4093820b"
      ],
      "author": {
        "name": "Kengo Seki",
        "email": "sekikn@apache.org",
        "time": "Fri Dec 13 08:09:36 2019 +0900"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Thu Dec 12 23:09:36 2019 +0000"
      },
      "message": "THRIFT-4974: Add cross test for Python\u0027s Unix domain socket transport\n\nClient: Python\r\n\r\nThis closes #1896."
    },
    {
      "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": "3ec4031a4c6d685bcc02fa10dd13b2df58732b82",
      "tree": "a8ca7edd5f22cc4503cdd194a2036e7764325663",
      "parents": [
        "53bd0e6295547e76ab00913cfd62f8d040bd996c"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 31 18:35:51 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 cygwin on appveyor\n"
    },
    {
      "commit": "84d9cd27f9a7a5062c9cc270583a001a7aaec196",
      "tree": "9f8176c08c304eee609cdb0e1150790da7d63c8c",
      "parents": [
        "973c8552e0516cea35810d8870dbb33e4f05f9c5"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 31 11:47:58 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Feb 01 11:13:49 2019 -0500"
      },
      "message": "THRIFT-4405: Enhance python cross test client for pedantic sequence id handling\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": "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": "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": "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": "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": "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": "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": "9b35a7c021d06b9322e208e466a0f2aac1e95212",
      "tree": "87c083505b3353c40700582a7bbf6b31ffa1cf86",
      "parents": [
        "ae3775a6a5d7f2aeb192ade30d157aa54aa4e77f"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Tue Nov 17 11:01:41 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Dec 24 02:11:17 2015 +0900"
      },
      "message": "THRIFT-3495 Minor enhancements and fixes for cross test\n\nThis closes #750\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": "a185d7e78589a42e076379ae7165857e5e828e5c",
      "tree": "7e14afa0d7b25de7d11fe930ada48767c888f34e",
      "parents": [
        "760511f59b349c59982a64e249e6cf24c2b2f8f6"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Nov 06 21:24:24 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Nov 06 21:24:24 2015 +0900"
      },
      "message": "THRIFT-1857 Python 3 Support\nClient: Python\nPatch: Nobuaki Sukegawa\n\nAdd py3 cross test\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": "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": "01ede042aad2d44a0dbe11818dabef7897e04db4",
      "tree": "c526ea0bf4a1317ff8cec2a9b0c6c01c341bb370",
      "parents": [
        "f2c9f1b968f2b5716cf6b96b36e133cd7e07cde6"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Tue Sep 29 02:16:53 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Sep 28 20:38:37 2015 +0200"
      },
      "message": "THRIFT-3360 Improve cross test servers and clients further\n\nThis closes #629\n"
    },
    {
      "commit": "d629ea0bb271f625763a4f083602811fc9cf1b61",
      "tree": "8ef70e68fb9b214fa3bde79d74fb91243f8d6701",
      "parents": [
        "68238297100517db0202a7f9698ac637bc8d1c35"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Sep 23 21:16:50 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Sep 23 21:20:38 2015 +0200"
      },
      "message": "THRIFT-3347 Improve cross test servers and clients\nClient: TestSuite, C++, Perl, NodeJS, c_glib, Haskell, Python\nPatch: Nobuaki Sukegawa \u003cnsukeg@gmail.com\u003e\n\nThis closes #621\n"
    },
    {
      "commit": "a649e7473bd0229f160332f0c80407ba49765065",
      "tree": "44dea5abd7123a132851b6e1e181bf6caf3d3a44",
      "parents": [
        "245c347b7374182f8142ac07e43473ddd8c4d0de"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Mon Sep 21 13:53:25 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Sep 21 23:07:39 2015 +0200"
      },
      "message": "THRIFT-3337 Add testBool method to cross tests\n\nThis closes #611\n"
    },
    {
      "commit": "8bcfdd98ae59d840b677a485b74dda3953b4bcc1",
      "tree": "659ef62202eea161ca503d7ab3250238830abc8f",
      "parents": [
        "43e195afcd4cd3db67c7343271920af147e268e6"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Dec 14 03:14:26 2014 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jan 03 17:37:54 2015 +0100"
      },
      "message": "THRIFT-2886 Integrate binary type in standard Thrift cross test\nClient: C_glib, C++, D, Erlang, Go, Haskell, Lua, Java/Me, JavaScript, Node, Ocaml, Perl, PHP, Python, Ruby\nPatch: Jens Geyer\n\nThis closes #341\n\nMinimal server-side implementations and TODO stubs for various languages to let \"make check\" succeeed.\nNot contained in this patch and still TODO:\n- client side implementations, i.e. calls to testBinary() and appropriate tests\n- server side hex printout missing for some languages\n"
    },
    {
      "commit": "0d4072b0cf1a03e7b26c5212d1b456a7736b0bdc",
      "tree": "e1b3253f1512613b494c10b54e825ba6074fb724",
      "parents": [
        "5e5eacfefed73d0ad03c94e5e852176bf0849bde"
      ],
      "author": {
        "name": "cdwijayarathna",
        "email": "cdwijayarathna@gmail.com",
        "time": "Sat Aug 09 21:32:21 2014 +0530"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Aug 10 21:45:30 2014 +0200"
      },
      "message": "THRIFT-2578 Moving \u0027make cross\u0027 from test.sh to test.py\n"
    },
    {
      "commit": "dbf2bb5c46ffb519186da4c4f13e288becd42ba2",
      "tree": "c0ce7ccec6ff533184c573dc2168bf6d10d420dd",
      "parents": [
        "3e41ece40cc0cb1aea60bc30d84d8110b469727b"
      ],
      "author": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Wed Jul 09 23:37:12 2014 -0400"
      },
      "committer": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Wed Jul 09 23:37:12 2014 -0400"
      },
      "message": "Thrift-2601:Fix vagrant to work again for builds again\nClient: build process\nPatch: jfarrell\n\nReverting TMultiplexedProtocol tests in test/py from commit 879cab2c are non functional,\nreverts the portion of the commit that changed test/py/{TestServer.py,TestClient.py}\n\nFollow up to address this issue: THRIFT-2613\n"
    },
    {
      "commit": "76150722af2751768411573b9fbbed163f4f55db",
      "tree": "bae6e8912f7917a9f528b249a48595c45bab097b",
      "parents": [
        "5588a569d5a08c23dca8d770dfe87892f950deb8"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat May 31 22:22:07 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat May 31 22:22:07 2014 +0200"
      },
      "message": "THRIFT-847 Test Framework harmonization across all languages\n\nAdded \u0027ssl\u0027 tests for python tests.\nAdded \u0027-transport arg (\u003dbuffered) transport: buffered, framed, http\u0027 to test/py/TestServer.py and test/py/TestClient.py and removed \u0027-framed\u0027 arguement.\nChanged test/py/RunClientServer.py to match above changes.\nAdded tests to compact protocol in python cases.\nAdded tests to test BinaryAccelarated protocol with Binary Protocol.\nChanged py/TestClient.py and py/TestServer.py from --proto to --protocol parameter\n\nPatch: Chamila Dilshan Wijayarathna \u0026 Roger Meier\n"
    },
    {
      "commit": "879cab2cea799625635d861f5beb89039da5f38c",
      "tree": "8e4206b13e87c1b1a76e73c20cffc9a6a6e1a615",
      "parents": [
        "6d1a83aa485ed9c3644d3200555700070547bf90"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat May 03 17:51:21 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat May 03 17:51:21 2014 +0200"
      },
      "message": "THRIFT-1914 Python: Support for Multiplexing Services on any\n Transport, Protocol and Server\n\nPatch: smallfish \u0026 djwatson\n \u0026 haijunz \u0026 Roger Meier\n\nThis closes #103 and #82\n\nFrom 7aaea7ef4e6f44097b02543fa2e62597eae9d61e Mon Sep 17 00:00:00 2001\nFrom: smallfish \u003csmallfish.xy@gmail.com\u003e\nDate: Tue, 22 Apr 2014 11:26:52 +0800\nSubject: [PATCH]  THRIFT-1914 Python: Support for Multiplexing Services on any\n Transport\n"
    },
    {
      "commit": "85fb6de7f4c1ea6260f98bc24401593e8c974bc7",
      "tree": "1ca6bc04b6fb022e21f30095b87c093b4b8f2dc6",
      "parents": [
        "c9ce87fb02004b1864bc7e880b79fd411a2a2b9e"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Nov 02 00:05:42 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Nov 02 00:05:42 2012 +0000"
      },
      "message": "THRIFT-1745 Python JSON protocol \nTJSONProtocol.py: Frederic Delbos\n\nTHRIFT-847 Test Framework harmonization across all languages \nIntegration into py lib and test suite\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1404838 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "61188a47975da49fd6f28789cf2b45590766fa96",
      "tree": "8fdb007fbf957ded06c971189e1d2c3607ef3d88",
      "parents": [
        "aad3d1d63ecedd9b82bb9007d2b22f0c16572c66"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 01 21:03:33 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 01 21:03:33 2011 +0000"
      },
      "message": "THRIFT-1416 Python Unit test is broken on ci\nremove repr from TestSuite\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1196273 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f4eec7a57b4c6ab08a545033fd3840586510ae8b",
      "tree": "3ebe40518de52c2ea6a615cb5d1a876c95a29d1e",
      "parents": [
        "b288050682c33761a96682c84f4e4edd4301e9d1"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Sep 11 18:16:21 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Sep 11 18:16:21 2011 +0000"
      },
      "message": "THRIFT-1115 python TBase class for dynamic (de)serialization, and __slots__ option for memory savings\nPatch: Will Pierce\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1169492 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1606659171d9ee8885d5806d6030ec39399b3b08",
      "tree": "c3692a449db77be87532a07d6ac9575cc698f6d6",
      "parents": [
        "42a6fa4b29d74028ee943b3da17d5eccf7fd897a"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 22 18:06:04 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 22 18:06:04 2011 +0000"
      },
      "message": "THRIFT-1103. py: TZlibTransport for python, a zlib compressed transport\n\nThis patch adds a new TZlibTransport to the Python library and extends the test suite to exercise it.\n\nPatch: Will Pierce\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1084276 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "59d4efda817f73eb195f47ff9f04cb0f4ec47525",
      "tree": "38aba98ac496e4bce5b9ea0bf0e4bdbb3f888f98",
      "parents": [
        "81a13cbd5d2a5fbd9a81cd2b19c9916cb88c942e"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Mar 21 17:38:22 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Mar 21 17:38:22 2011 +0000"
      },
      "message": "THRIFT-1094. py: bug in TCompactProto python readMessageEnd method and updated test cases\n\n\nThis patch fixes a TCompactProtocol bug and expands the test cases to exercise the problem.\n\nPatch: Will Pierce\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1083877 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f5dea4c7f31703cdc0c347eb7ec429fc5864afb4",
      "tree": "e8aad41f828fc5ad8674b1c34fd02b1a9dad682c",
      "parents": [
        "9af23d9327277a791c8b22c4323b8e17e2bfc378"
      ],
      "author": {
        "name": "Todd Lipcon",
        "email": "todd@apache.org",
        "time": "Thu Dec 03 01:18:44 2009 +0000"
      },
      "committer": {
        "name": "Todd Lipcon",
        "email": "todd@apache.org",
        "time": "Thu Dec 03 01:18:44 2009 +0000"
      },
      "message": "THRIFT-637. python: Fix mixing of oneway and regular requests in TNonblockingServer\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@886646 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ea2cba8ba8484a8d4e669c02dd97b3b2445ef322",
      "tree": "6be4a3bf2d069a006c9a15f5ee47a1893a176f4d",
      "parents": [
        "4bc4231040186d9e0c35ff4d8211ce7b7e43aab5"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Mar 30 21:35:00 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Mar 30 21:35:00 2009 +0000"
      },
      "message": "THRIFT-387. Add license headers to a bunch of files\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@760189 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6ce401dd555cf7928e1129d9ab31aa7be4bc7e9f",
      "tree": "6ee5161e938b5afd1b9b0dac5b4545af3d66e96b",
      "parents": [
        "c51986f43897a64531935653cb4a2462f6cd7e11"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 24 20:01:58 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 24 20:01:58 2009 +0000"
      },
      "message": "THRIFT-136. s/async/oneway/ in misc places\n\nThis is mostly an internal-only change.\nIt affects docstrings, messages, variables, test cases, etc.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@757992 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f78ec2bc66d3a9fcfd63b9bdf49fc9bdc68b4cf7",
      "tree": "0dfedf9b5540ac188564c9969ae0b8d2c318ac18",
      "parents": [
        "1fe17774eb1059bc784a5c3be46b208a2fc0a63c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Jan 31 21:59:32 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Jan 31 21:59:32 2009 +0000"
      },
      "message": "THRIFT-195. python: Add a simple THttpServer\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739638 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3166141fbd2152ae7281de95745089dcc4759d7d",
      "tree": "18bd74b8940ac1ff26ed26f963c2ec6a2e43b85e",
      "parents": [
        "ca823297fa14c738f9f84edafde62f6c26e64886"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Jan 31 21:39:08 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Jan 31 21:39:08 2009 +0000"
      },
      "message": "python: Make the unit tests run faster and more reliably\n\n- The async test was making the server sleep for 2 seconds.  Cut it to 0.5.\n- The test driver was waiting 5 seconds for shutdown.  Cut it to 1.\n- Add a 0.25 second sleep to make sure the server comes up before the client.\n\nThis is all a bit hacky, but it is better than the status quo.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739628 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "74421273ad97359402556428f23afacfe31ce978",
      "tree": "66acebd643d6a06acb98f4ce713c4493e169b2da",
      "parents": [
        "762e9bd15f84e8dc45eec60308a0519be3bdda9a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 07 23:09:31 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 07 23:09:31 2008 +0000"
      },
      "message": "THRIFT-67. python: Add TNonblockingServer\n\nThis TNonblockingServer is very similar to the C++ implementation.\nIt assumes the framed transport, but it uses select instead of libevent.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@712306 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bcaa2ad0d6799066ed680f53051c469e4f58771b",
      "tree": "4ad3270f088b90add3e0566d179f433adf50152c",
      "parents": [
        "c6dab613003c704f072542f39214f7af64fc0412"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:26 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:26 2008 +0000"
      },
      "message": "Python forking server should close connection in parent.\n\nWhen a function called by the forking python thrift server throws an\nexception the client will hang.  This happens because the parent of the\nforked process does not properly close the socket fd.\n\nUnder normal operation the server operation completes and returns a value to\nthe client.  However, when an exception occurs the \u0027end\u0027 message is never\nsent to the client so the client relies on a connection close to abort the\ncall (this is how the threading server works I believe).\n\nThis fails with the forking server because the parent process never closes\nthe socket fd.  The child has closed the fd at this point, but the\nconnection will not actually be closed until all open instances of the fd\nare closed. Since the client is waiting for a message and the server never\ncloses it the client is forced to wait until a read timeout occurs many\nminutes later.\n\nThis diff closes the parent\u0027s copy of the socket fd immediately after the\nfork occurs.\n\nI modified my load test server to throw an exception.  The client did not hang.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666363 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "db893b617f3cd4e7170ced145d75a8a16d7abc97",
      "tree": "7517eb508fbe1c1133b7675fc849d5383831b94f",
      "parents": [
        "2ab6fe88e26b5570bcdb357fdf6c1ee84b37bd44"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Feb 18 02:11:48 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Feb 18 02:11:48 2008 +0000"
      },
      "message": "Implement testAsync for python tests\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665485 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9ff3b9d5fc823fdc0d25cb3e034b00d098ebbdda",
      "tree": "7b6092ab70c1474abb38c7300ded5a9093165b0e",
      "parents": [
        "bc444b034e79b521b0512198a1feaa37da6d3ee7"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 15 01:10:23 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 15 01:10:23 2008 +0000"
      },
      "message": "Thrift: Python test improvements.\n\nSummary:\n- Add a serialization test for forwards/backwards compatibility.\n- Hook the Python tests up to \"make check\".\n- Miscellaneous changes to the Python tests.\n\nReviewed By: mcslee\n\nTest Plan: Ran the test.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665480 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0c90f6f8af1d64ec9272bb2f6092336f3d0b8df8",
      "tree": "15245f459a76acc769d8fe99179176b4965bf66d",
      "parents": [
        "3160971286aea0d5b28d5a7a87acaa8a12209ef8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 06 22:18:40 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 06 22:18:40 2008 +0000"
      },
      "message": "Thrift: Whitespace cleanup.\n\nSummary:\n- Expanded tabs to spaces where spaces were the norm.\n- Deleted almost all trailing whitespace.\n- Added newlines to the ends of a few files.\n- Ran dos2unix on one file or two.\n\nReviewed By: mcslee\n\nTest Plan: git diff -b\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665467 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5299a959e0ac89ce26b6ad4f73b893207f9bae3d",
      "tree": "3315cf30cdcf8c8524bcb49a35f254f130f9eac2",
      "parents": [
        "6fc7be28bb1363adaedee47c34ea0262e3346eb4"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Oct 05 00:13:24 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Oct 05 00:13:24 2007 +0000"
      },
      "message": "Python automated test patch\n\nSummary: Submitted by Ben Maurer\n\nReviewed By: dreiss\n\nTest Plan: Automated python testing for Thrift, lovely.\n\nRevert: OK\n\nDiffCamp Revision: 737\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665293 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "57cc25e2a348bd8fe844b39321207226181e62c3",
      "tree": "9c2e7ea4a3ed88b57b015321c4c8a266a9f4c12b",
      "parents": [
        "7a49888fc6990ec7485e3804a1958db7cbe70b07"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 28 21:43:54 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 28 21:43:54 2007 +0000"
      },
      "message": "Some Thrift documentation cleanups\n\nSummary: Getting ready to hand this over to powerset, just want to have the right licenses in place and such first.\n\nReviewed By: thrift\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665029 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1dd819cd2be36b7cf6d2ee0f729f40e676085fe4",
      "tree": "28f7cfac1b80aade40c70e0fbc116eac572c4fe0",
      "parents": [
        "35ae1c784ceb8e184e4b3ebc7b0a955f426a8fc8"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Oct 26 04:56:18 2006 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Oct 26 04:56:18 2006 +0000"
      },
      "message": "Bring Thrift test code up to date\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664852 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a330265d8232c7e095f3fb0a03e001f349b806dd",
      "tree": "5500d9b345a94f0450ee87afc49c50a3d539a539",
      "parents": [
        "4af6ed71e16884fd2e7fbec2de241209e0dec468"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Oct 25 19:03:32 2006 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Oct 25 19:03:32 2006 +0000"
      },
      "message": "Fix broken thrift test code for new model\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664839 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c98d050d652d08d8ce99bed5487cd7544b2b25cc",
      "tree": "8e04e0960151ea14d031684a3a8b5fa76b33d15b",
      "parents": [
        "68db166dd44e0df21507498def340be6117be1b0"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Sep 06 02:42:25 2006 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Sep 06 02:42:25 2006 +0000"
      },
      "message": "Thrift: Added support for double type across all languages\n\nSummary: Just for completeness cause I\u0027m crazy. Let\u0027s never use these!\n\nNotes: Also made thrift grammar support # style comments, so you can do this at the top of your files\n\n#!/usr/local/bin/thrift --cpp\n\n/**\n * This is a thrift def file youc an invoke directly and gen code!\n */\n\nblah\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664789 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c9676569adfba12a1378eec1c75c6036e7912d9e",
      "tree": "bcf8fcd69f5e45b601b3cfa7d4796b79e2f0989f",
      "parents": [
        "4ecbebc09989a5fccb40fcb2d3d0d1b9f540a7d4"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Sep 05 17:34:52 2006 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Sep 05 17:34:52 2006 +0000"
      },
      "message": "Thrift Python server code generation\n\nSummary: Yep, it\u0027s up and running. We now have full client/server support in all of C++ Java PHP and Python. Well, not quite... there\u0027s no PHP server, but honestly who wants one? Actually, if we do want one the framework will support writing is as a PHP file that can be served in apache like a web service (i.e. restserver.php would be thriftserver.php). But now that\u0027s rambling and nothing to do with this commit.\n\nNotes: cheever, let\u0027s chat about porting your multithreaded Pillar Python server over to Thrift\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664783 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fc89d399179c40adbf108b041d2759e5f56ad4a9",
      "tree": "80f925e84aa2f7921ed5feda8f5659f98656a27c",
      "parents": [
        "cde2b61c5e3a26fd6ad5bc1a6fcdee449696d66c"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Sep 04 00:04:39 2006 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Sep 04 00:04:39 2006 +0000"
      },
      "message": "Thrift and Python: Made to be together\n\nSummary: Python client code generation for Thrift... HOTNESS!\n\nNotes: Servers and asynchronous clients are coming soon...\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664779 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ]
}
