)]}'
{
  "log": [
    {
      "commit": "350fe7531feecf7df5208fa19d25730c6ce0a30d",
      "tree": "89021ac90d92fbcc07ef41f118fc29b7ce80b4a4",
      "parents": [
        "254e86b0103be51c6af9cc50220ee8c144234239"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Wed Oct 25 09:57:18 2017 -0400"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Thu Oct 26 11:37:02 2017 -0400"
      },
      "message": "THRIFT-4370: build generated code before running static code analysis;\nfix E722 flake8 issues identified in python code\n\nThis closes #1399\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": "1744cdcb674a20c554ae9f23cb95c0c8eff63b90",
      "tree": "66d9e670ea341177cd6ce56c6ca2e41a8bf07414",
      "parents": [
        "cf892d46f6c1b295d99705709364c42ae2dc0158"
      ],
      "author": {
        "name": "Thomas Petazzoni",
        "email": "thomas.petazzoni@free-electrons.com",
        "time": "Sat Aug 26 00:10:40 2017 +0200"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Sat Sep 09 07:50:54 2017 -0700"
      },
      "message": "configure.ac, Makefile.am: introduce THRIFT variable to support cross-compilation\n\nThe thrift build system currently assumes that the thrift compiler is\nalways available in $(top_builddir)/compiler/cpp/thrift. However, in a\ncross-compilation context, this location contains the thrift compiler\nbuilt for the target... which obviously will not run on the build\nmachine.\n\nIn order to support such cross-compilation situation, we introduce the\nTHRIFT variable as a an argument for the configure script (using\nAC_ARG_VAR). If not specified, it defaults to the existing value of\nusing compiler/cpp/thrift from the build directory, but it can be\noverridden when calling ./configure.\n\nNote that $(top_builddir) cannot be used within the configure script,\nso we simply use `pwd`, which is the same as the top_builddir.\n\nSigned-off-by: Thomas Petazzoni \u003cthomas.petazzoni@free-electrons.com\u003e\n\nThis closes #1336\nThis closes #1350\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": "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": "06e8fd4a08b0ec9eae505ab8618fe96b6a1faaf4",
      "tree": "71e8f45aa89109776cf490e8082aa9d51e862064",
      "parents": [
        "f7a8d946a0b22d0acce1325d2607c38597b36a58"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Feb 28 12:50:03 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Mar 02 23:44:23 2016 +0900"
      },
      "message": "THRIFT-3694 [Windows] Disable tests of a few servers that are not supported\n\nThis closes #909\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": "e9b3234b28372f38cdf706b1c7f6940c41b1d828",
      "tree": "42a9b91ad342467cc15ebff26d9692439159e1ca",
      "parents": [
        "f2952847e65c998b6f543f1cc63a4e173e10b66a"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 27 03:44:02 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 27 16:55:55 2016 +0900"
      },
      "message": "THRIFT-3682 Do not reuse refused sockets in test scripts\nClient: Test\nPatch: Nobuaki Sukegawa\n\nThis closes #902\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": "4708409c2d635f7754f197d06285b52e56ee8f22",
      "tree": "a3d6cb8d02266efd94bdd65dd9b6867b904e68c3",
      "parents": [
        "ebd71cedc3f7c641c76abc2ec13119465c5b02a6"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 04 18:26:10 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Feb 05 20:48:07 2016 +0900"
      },
      "message": "THRIFT-3601 Better conformance to PEP8 for generated code\n\nThis closes #837\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": "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": "b78d781b2e55a066d53577402e42b4d509998978",
      "tree": "6f7d8c5dc0cba314da5c91cbc5f09432fd05f206",
      "parents": [
        "b9c859a07bae89643c0953a14e490cf3db435957"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Dec 24 00:01:26 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Jan 02 22:54:16 2016 +0900"
      },
      "message": "THRIFT-3438 Enable py:new_style by default\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #759\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": "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": "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": "cacce2f1d503b7e98842308852237af53180fd87",
      "tree": "6790136242a09a061028f713ae7a1419bdbbdd0c",
      "parents": [
        "2de2700c34bde8d7576da148852c43a32c11e94a"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Nov 08 23:43:55 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Nov 23 21:24:24 2015 +0900"
      },
      "message": "THRIFT-3440 Python make check takes too much time\nClient: Test Python\nPatch: Nobuaki Sukegawa\n\nThis closes #711\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": "983bf7de419dca19dac755970218a7d09bea8553",
      "tree": "f34d57bae8b86e70af01fdc246b872322b01edeb",
      "parents": [
        "f124b55e6d974b97a68b045d4dffc152e00040af"
      ],
      "author": {
        "name": "Randy Abernethy",
        "email": "ra@apache.org",
        "time": "Fri Oct 09 12:28:57 2015 -0700"
      },
      "committer": {
        "name": "Randy Abernethy",
        "email": "ra@apache.org",
        "time": "Fri Oct 09 12:28:57 2015 -0700"
      },
      "message": "THRIFT-3373: cross test cleanup\nClient: build, node, c_glib, cpp, hs, py, rb\nPatch: Nobuaki Sukegawa\n\nGithub Pull Request:\nThis closes #641\ncommit 338f1a502961a4f63b0bd4b3dae4099062d6d17f\nAuthor: Nobuaki Sukegawa \u003cnsukeg@gmail.com\u003e\nDate: 2015-10-09T17:25:18Z\nTHRIFT-3373 Various fixes for cross test servers and clients\n"
    },
    {
      "commit": "a03464c526931fd09fc89a6e952600d0c5514421",
      "tree": "16d241cecbf32576dc0db595f669c0416d9f4147",
      "parents": [
        "4a62f188fc6d44f4341b7bdd52179e87b700e707"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Sep 30 08:15:53 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Sep 30 08:15:53 2015 +0200"
      },
      "message": "THRIFT-3322 CMake generated \"make check\" failes on python_test\n\nPatch: Claudius Heine\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": "a1ae93f4beee0d25a96b51b3022e0bde79ecb445",
      "tree": "4d326a8526c2c8bd824f33266d12d2911bfccfae",
      "parents": [
        "27be411ee0eb8799861262275c9745017031c3c4"
      ],
      "author": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Thu Sep 24 22:57:33 2015 -0400"
      },
      "committer": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Thu Sep 24 22:58:45 2015 -0400"
      },
      "message": "THRIFT-3290: Using from in variable names causes the generated Python code to have errors\nClient: py\nPatch: Prathik Rajendran\n\nAdds \u0027from\u0027 to the reserved words list for py\n\nThis closes #579\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": "840f3ef649053ad0c971afd5558ab45a39b6d11d",
      "tree": "abdaa0b8cbe0bbe28ba31291591e21122377e4a6",
      "parents": [
        "293e2f450b22a993516c7703645540e72e7d3e85"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Sep 21 23:11:46 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Sep 21 23:36:27 2015 +0200"
      },
      "message": "THRIFT-3340 Python: enable json tests again\n\nThis closed #613\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": "6857b7fe90bd1561b9b982f9063bccaa25107b1d",
      "tree": "71a803143d30462dcea2f952adc854584cdb7cea",
      "parents": [
        "614a67016d8b2af56d850070973d4cd8f21c83c5"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Sep 16 19:53:07 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "r.meier@siemens.com",
        "time": "Thu Sep 17 09:46:24 2015 +0200"
      },
      "message": "THRIFT-2918 Race condition in Python TProcessPoolServer test\n"
    },
    {
      "commit": "f7d327ae96d451ff76b80d7e952f9cc21a1c4464",
      "tree": "9cae9ad90ae0fe5a748c8d9fcc7012f345e2b57f",
      "parents": [
        "e33d16520a483e49e5f73a9ea2091cfc686fb619"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 25 15:44:20 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jul 25 15:44:20 2015 +0200"
      },
      "message": "THRIFT-2918 Race condition in Python TProcessPoolServer test\nClient: Python\nPatch: Jens Geyer\n"
    },
    {
      "commit": "74d503e0eb1968ddc70bd110223e734838db9bd6",
      "tree": "9a5baa3356278421ed9ebb1a7cce321084029fa1",
      "parents": [
        "211b82de11c3c5bb83f669a95373b3ea6601d666"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Jun 05 07:10:19 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Jun 05 07:10:19 2015 +0200"
      },
      "message": "THRIFT-2850 CMake for Apache Thrift\n\nChange project name to \"Apache Thrift\" and add test/py\n\nfix: add missing test/py/CMakeLists.txt and update package name\n"
    },
    {
      "commit": "ef0a8fa62a8a86b23999f9a9ad31478852474854",
      "tree": "dc2ce0adadd75017b4afcd52a264a41640044350",
      "parents": [
        "03f0e18fcb423e165ee05757ba449efb3e672dd1"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Sun May 10 20:21:17 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun May 10 18:25:56 2015 +0200"
      },
      "message": "THRIFT-3138 \"make check\" parallel execution is underministic\n"
    },
    {
      "commit": "41ad4342c5a0389ab2cf2dbf098086413ac01204",
      "tree": "1ce9c7d4e70a7370f132ce5d4fd245a20a68e45e",
      "parents": [
        "a2d12b6ee3d9aa66f2c16dc6a5ee6eef5f1eba92"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Mar 24 22:30:40 2015 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Mar 24 22:30:40 2015 +0100"
      },
      "message": "THRIFT-847 Test Framework harmonization across all languages\nTHRIFT-2946 Enhance usability of cross test framework\n\nPatch: Nobuaki Sukegawa\n\nThis closes: #358\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": "81a1f996bc055c6833c829beaf9e5549db2a774d",
      "tree": "e5ffeeb97432f80d7b81eb185cc806782590d1d8",
      "parents": [
        "b006a5078339d125e62919bcc76956c9849000af"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 22 14:09:43 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Oct 22 14:09:43 2014 +0200"
      },
      "message": "THRIFT-2602 fix missing dist files\n\n- add automake 1.13 dependency to configure.ac and doc\n- use serial-tests instead of .NOTPARALLEL (introduced by THRIFT-1829)\n\nPatch: Roger Meier\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": "79f988c27ac97b7a89e6c78a64da2f3a2f65d916",
      "tree": "46358895d7630b0fd10590068450bef9ef151320",
      "parents": [
        "aaa8947f3a149d38dd4bfd395573860c2f18ea93"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 03 20:42:54 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 03 20:42:54 2014 +0200"
      },
      "message": "THRIFT-2768: Whitespace Fixup\nClient: General (Makefile.am)\nPatch: Jens Geyer\n\nReverted makefile.am - tabs are not optional there\n"
    },
    {
      "commit": "aaa8947f3a149d38dd4bfd395573860c2f18ea93",
      "tree": "af4b000fca7e39c9b5e88b35fbc471b6138749c4",
      "parents": [
        "d5436f5cf7a100d89abb3d125d8f241ca7dc925e"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 03 20:22:28 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 03 20:30:38 2014 +0200"
      },
      "message": "THRIFT-2768: Whitespace Fixup\nClient: General (Makefile.am, *.thrift)\nPatch: Jens Geyer\n\nDocTest.thrift has NOT been changed, the trailing whitespaces are part of the test case.\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": "9b328531122ae241ed52622b9356014fd8aa8a6a",
      "tree": "f33e85907c15014d91e6243d446df6b5bbdfbc13",
      "parents": [
        "ab2793aa966d3a40a89fe4b392d3cc286721f36d"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Apr 21 21:22:54 2014 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Apr 21 21:22:54 2014 +0200"
      },
      "message": "THRIFT-2463 test/py/RunClientServer.py fails sometimes\nClient: Python\nPatch: Benoit Sigoure\n"
    },
    {
      "commit": "58bbb709a4dad28b58e99a817be8ee3e7c9071ce",
      "tree": "9765823f39e7afdc04f27dd6f08b7afa7d85d468",
      "parents": [
        "161cf42b0948859a9d4f6f5abd7cf0b3d0b73236"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Feb 19 19:59:25 2014 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Feb 19 19:59:25 2014 +0100"
      },
      "message": "THRIFT-2325 SSL test certificates\nFix: use common test cert within Python unit tests\nPatch: Roger Meier\n"
    },
    {
      "commit": "c095919087adc9508300ec6e9cdcd58cf147a207",
      "tree": "9a7d224c815965c253f5e561943cc603b1eaa437",
      "parents": [
        "e3da768367d0a3e013a00a5a365e58aed3bffa32"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Jan 15 23:20:19 2013 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Jan 15 23:20:19 2013 +0100"
      },
      "message": "THRIFT-1829 cpp unit tests fail to build using multiple make jobs\nPatch: David Rennalls and Roger Meier\n"
    },
    {
      "commit": "1f554e1a9c643a717f8687f62596ae9ae3479234",
      "tree": "f6472f97272b17bac6f26949836510f39dc7de93",
      "parents": [
        "945537c1fc88ae27ac8231d423927fb7b40d10a6"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Jan 05 20:38:35 2013 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Jan 05 20:38:35 2013 +0100"
      },
      "message": "THRIFT-1797 Python implementation of TSimpleJSONProtocol\nImprove Test Suite according to test/ThriftTest.thrift\nPatch: Avi Flamholz\n"
    },
    {
      "commit": "0895dfe6c0f74f77cea1ed5c4e28ac0c0b27d525",
      "tree": "663305aadf3ef1b492924da4ea607a470a8fe206",
      "parents": [
        "b911b6a27c1dc9fa71e8bee8c54fde8ebfd847f7"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Dec 26 22:09:55 2012 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Dec 26 22:09:55 2012 +0100"
      },
      "message": "THRIFT-1797 Python implementation of TSimpleJSONProtocol\nPatch: Avi Flamholz\n"
    },
    {
      "commit": "ad8154a7a82cfdd25e55d8488496ab8a7fce257f",
      "tree": "ab2fc5f95ac4e2c0920b63294d3ceb47f4559509",
      "parents": [
        "a58a9cb99f932f8e5a646255a6f539c4ba594da2"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Dec 18 21:02:16 2012 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Dec 18 21:02:16 2012 +0100"
      },
      "message": "THRIFT-1796 TJSONProtocol is not functional\nPatch: Avi Flamholz\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": "df4cffd34a54988a3faa50c3ddb33d263fa08693",
      "tree": "0c01fe989b8c1684bbee70fb2533fa04815098a2",
      "parents": [
        "c9929306ba8eafaee9bced7fd6521ec0bf6b876a"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 15 17:16:09 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 15 17:16:09 2011 +0000"
      },
      "message": "THRIFT-1093. py: several bugs in python TCompactProtocol\n\nPatch; Will Pierce\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1081864 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4ebaa761cbb06964831cc69f923ba849025e9ff1",
      "tree": "083d779346a32caae0977ed517b4a7880be79916",
      "parents": [
        "0fd37f08716758b283010abfa5162eb2c1aee2ad"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Feb 08 20:44:22 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Feb 08 20:44:22 2011 +0000"
      },
      "message": "THRIFT-1056 python tests invoked by \u0027make check\u0027 appear broken\nPatch: Chris Morgan\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1068568 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "abafd79aeede6c1f20632e41ff6e80d99e6fe479",
      "tree": "bc2ab5e9a1366b91528c70361918e772dd54eea3",
      "parents": [
        "833ae492902c08ab13ebc4efa73adef0a4936dff"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Sep 27 17:28:15 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Sep 27 17:28:15 2010 +0000"
      },
      "message": "THRIFT-335. python: Initial implementation of TCompactProtocol\n\nSeems to work.  No interoperability testing with other languages yet.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1001827 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6acc269d1883c822595ab5f346c6e4c1e1b2724c",
      "tree": "c2c0b852bd0fd114cb1a6b27421b73560f630b7e",
      "parents": [
        "dee6d4260c2cca0917d5a921460d16f062ab27d6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 26 00:56:02 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 26 00:56:02 2010 +0000"
      },
      "message": "THRIFT-695. python: [de]serialize convenience functions\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@916508 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": "a528f54eeb40608e266fcb968e43b26ba57489c6",
      "tree": "6301f57bd9807820e1fe7ff67d19ee4a8ed7d348",
      "parents": [
        "2f20ae45fbab56b502e67c0ae818e010ab37a562"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 24 22:48:40 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 24 22:48:40 2009 +0000"
      },
      "message": "THRIFT-360. python: Make fastbinary skip struct fields with the wrong type\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@758071 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": "a7fc092ee1e0f77b818b0e4bcc8954f9f746b21a",
      "tree": "cca5ee69de8e9e4694c02d8ae5248d79055ea59e",
      "parents": [
        "8cee47cf5e7f0b17aadd5895d632901d828b0554"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 07 02:37:09 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 07 02:37:09 2009 +0000"
      },
      "message": "THRIFT-256. python: Fix inheritance of services in the same IDL file\n\nThe old version of type_name did not fully qualify parent service names\nwhen they were defined in the same IDL file, but it is necessary because\nthey end up in different Python files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741833 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8cee47cf5e7f0b17aadd5895d632901d828b0554",
      "tree": "568791df66d73b60b379bb366ba1b155ba3510b3",
      "parents": [
        "576dfdcda75667d6e892df0b5a4508d7bddbcef4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 07 02:37:05 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 07 02:37:05 2009 +0000"
      },
      "message": "THRIFT-310. python: Generate valid code for empty services\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741832 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": "4c591c95a51368a817bf40157e46831ecffef71c",
      "tree": "20a2b49923c8d9b94fd95293e09c90c03152b9b5",
      "parents": [
        "647d30d218d206474d583d0189bb8169f741e7d9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Jan 31 21:39:25 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Jan 31 21:39:25 2009 +0000"
      },
      "message": "THRIFT-212. python: Make TFramedTransport implement CReadableTransport\n\nThis involved adding a few methods to provide lower-level access to the\ninternal read buffer.  This will allow us to use TBinaryProtocolAccelerated\nwith TFramedTransport.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739632 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": "46bb4aeb5e792b72810062f289151fde7d27a73b",
      "tree": "80efa4f7bd71d89e83b8a8d7d21873edc56834ae",
      "parents": [
        "7bcf866c16525ee7ca709e250178a61333db27c4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jan 14 22:34:15 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jan 14 22:34:15 2009 +0000"
      },
      "message": "THRIFT-242. python: Used named arguments in __init__ instead of a dict\n\nThis is a wire-compatible but non-source-compatible change.\nWhen initializing structures, you must use\n\nFoo(bar\u003d1, baz\u003d\"qux\")\nFoo(**{\"bar\": 1, \"baz\": \"qux\"})\n\ninstead of\n\nFoo({\"bar\": 1, \"baz\": \"qux\"})\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@734536 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0c87ad41ee8dc669f8e1cbe0b17f8382844a0497",
      "tree": "a8f021e44bce8abe19e93007deba4a06f88245cb",
      "parents": [
        "603d50437cbe9c76be942f863f2db9526459fce2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Dec 02 02:11:13 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Dec 02 02:11:13 2008 +0000"
      },
      "message": "THRIFT-217. Use \"--gen py\" instead of \"-py\" in build scripts\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@722333 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": "1cc0c5e6d6088849cca2987af39f0d9a965c0d60",
      "tree": "8034ef4449bbda8f65d09364d5211762383b4f59",
      "parents": [
        "7dc7f75e7c15061e3dd6bf133bb837f1d96cc6b3"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Oct 17 19:30:35 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Oct 17 19:30:35 2008 +0000"
      },
      "message": "THRIFT-109. python: Use self.assert* instead of assert in tests\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@705734 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cc0c9e98b50b4d5510b485ddd0f44614671616fd",
      "tree": "a9b28a1e4ae9a6286676e76d345abb9173ac7e60",
      "parents": [
        "cb13729795173b2763e0ccec3412c9188bfba6a2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:16:29 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:16:29 2008 +0000"
      },
      "message": "Clean up some bad/missed merges from the alterl merge.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666486 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "abded23ed43bf025d5b78ad7f664ae996024592b",
      "tree": "5f79643370871864e6a70bcd21f72ef76fae6067",
      "parents": [
        "c85a6955882467c97b28c45853af76985e95a1d2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:57:01 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:57:01 2008 +0000"
      },
      "message": "Implement testAsync for python tests\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666412 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": "2a4bfd6d0cdd32c9ade36a5c481b952f522f4fb2",
      "tree": "0453c0c01568a02daa57612738e1704e7d1cf6a8",
      "parents": [
        "c5c542538b7954c721fbd8007ebf0b482a86677a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 07 23:45:00 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 07 23:45:00 2008 +0000"
      },
      "message": "Clean up the unit tests.\n\n- Make Python tests cwd-agnostic.\n- Use boost::test.\n- Add a benchmark.\n- Use a library to clean up test/Makefile.am.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665640 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "320e45ce8b1d2721a7f814c1e1a8288dba36dd14",
      "tree": "a186a604ae4d58cee850d4c20da536d8f319373f",
      "parents": [
        "bfd26dcecc4c2b67814ed6d69fff65121c3a471f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:54 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:54 2008 +0000"
      },
      "message": "Make the Python generator use non-hardcoded namespaces.\n\n- Make the Python generator use program-\u003eget_namespace(\"py\")\n  instead of program-\u003eget_py_module()\n- Eliminate the explicit \"py_module\" in t_program.\n- Deprecate the py_module token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665615 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2ca456a8ae1599a2112eed0ddffa922657c8b123",
      "tree": "262d58e0e9af878b5534c6e399350c6df4edc401",
      "parents": [
        "223d6bd1ac0c033aa01cad3aad8051df8a161a49"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Feb 24 16:42:18 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Feb 24 16:42:18 2008 +0000"
      },
      "message": "Make \"make clean\" rules a bit more standard.\n\nSummary:\nmake-generic is some sort of internal undocumented thing.\nmake-local is what is supposed to be used for this stuff.\nAlso use $(RM) instead of \"rm -f\".\n\nReviewed By: marc\n\nTest Plan: make clean\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665498 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": "c16a8f6e45015299ed65fbdbfb3bda9017663a6d",
      "tree": "0d5436efb101750b88f61c7b0c10d54b569119bb",
      "parents": [
        "4a15eb7f7114e1ef585365c0cbcd2fb0de982d27"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Dec 14 23:46:47 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Dec 14 23:46:47 2007 +0000"
      },
      "message": "Thrift: Python support for Unix-domain sockets, and eager timeout setting.\n\nReviewed By: mcslee\n\nTest Plan: Ran the test script.\n\nRevert Plan: ok\n\nOther Notes:\nContributed by Ben Maurer.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665394 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "53d9c0c20bd5af65676928b9b7a73dcb2cad3d78",
      "tree": "f0c76bf24315da72fbca98a993d97f5d1c72f93f",
      "parents": [
        "79b1694043e07a673c343c42ad75d72f3b560539"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Nov 26 21:15:40 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Nov 26 21:15:40 2007 +0000"
      },
      "message": "Merging EOFException changes from Ben Maurer\n\nSummary: Throw a proper EOFError in this case. Long term we want to change this to properly fit into the Thrift TException heirarchy with a good way to handle the original exception as well. For now, Ben is the primary user of this so we\u0027ll go ahead with his patch.\n\nReviewed By: mcslee\n\nTest Plan: Included in test/py/TestEof.py\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665365 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": "c6fc329a4040f9945576bc7007ab8df44d112635",
      "tree": "311a7018393e215f97320df6211dae227feb1afd",
      "parents": [
        "aea19c9d65a7a70770fbcc25a81579575382c40d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 30 00:58:43 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 30 00:58:43 2007 +0000"
      },
      "message": "Thrift: Support for explicit Python module declaration.\n\nSummary:\nPreviously, Thrift used the name of the .thrift file as the python module name.\nThis wasn\u0027t very flexible.  Now the python module can be explicitly declared.\nAlso, there was no need for t_py_generator to inherit from t_oop_generator.\n\nReviewed By: mcslee\n\nTest Plan:\ncd test/py/explicit_module\n./runtest.sh\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665234 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": "6f5e2cb3ea48815d6e1d45d95dbe69176a46926a",
      "tree": "37042e75ca12b1cd06bb65056341d73b12798633",
      "parents": [
        "eb0d024ee1ca1cf55b813d4890d6eef388b5ef94"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Jan 25 08:01:28 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Jan 25 08:01:28 2007 +0000"
      },
      "message": "Fix relative paths in test dirs\n\nReviewed By: makefile\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664950 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": "794993d278930cde40b69b61f0eac679bb5938e4",
      "tree": "0ce3547ec414e3bc5949a31223469bc791d81d66",
      "parents": [
        "dc8a2a2fc716e30ebfe2fa9ce14761ba3dce4ed4"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Sep 20 01:56:10 2006 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Sep 20 01:56:10 2006 +0000"
      },
      "message": "Change run() to serve() in all Thrift server interfaces\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664799 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "018b6998d61fa77aa6f7fb9a73c7e6a2360782f2",
      "tree": "d3c46f760d683eff9e4e96a34fabcd4e4d95800c",
      "parents": [
        "aff9f8e3cf6e672066d8bc5db8d1970f72daba37"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Sep 07 21:31:12 2006 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Sep 07 21:31:12 2006 +0000"
      },
      "message": "Thrift: generate Processors not Servers\n\nSummary: Because the gen\u0027d code isn\u0027t actually a server\n\nReviewed By: aditya\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664794 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d788b2e046355f7b08f821e68c6b5147b496599a",
      "tree": "8b44799799d6f736e8ab27b01c484b8289b0645d",
      "parents": [
        "ffcddd688aefb42191999d72726ef15de23fd4e3"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Sep 07 01:26:35 2006 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Sep 07 01:26:35 2006 +0000"
      },
      "message": "Thrift TTransportFactory model for servers\n\nSummary: Servers need to create bufferedtransports etc. around the transports they get in a user-definable way. So use a factory pattern to allow the user to supply an object to the server that defines this behavior.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664792 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": "68db166dd44e0df21507498def340be6117be1b0",
      "tree": "a2c97dc392f3f52bef7690927eb67f0df3477949",
      "parents": [
        "085267d60c48379f95e838ac487bb69b61b3aa33"
      ],
      "author": {
        "name": "Aditya Agarwal",
        "email": "aditya@apache.org",
        "time": "Wed Sep 06 00:18:29 2006 +0000"
      },
      "committer": {
        "name": "Aditya Agarwal",
        "email": "aditya@apache.org",
        "time": "Wed Sep 06 00:18:29 2006 +0000"
      },
      "message": "-- more thrift Makefile changes\n\nReviewed By: Slee\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664788 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"
    }
  ]
}
