)]}'
{
  "log": [
    {
      "commit": "9c43962da8e4b530014619e3703a279053cf2182",
      "tree": "9b862189ed6e5fbdd9819a964c7f2efe69aa9bb4",
      "parents": [
        "9320f891d7d972fc2cc4f9569b66767c5dfc4242"
      ],
      "author": {
        "name": "Elvis Pranskevichus",
        "email": "elvispranskevichus@pinterest.com",
        "time": "Wed Dec 11 16:47:52 2019 -0500"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "can@dcc.im",
        "time": "Thu Dec 12 13:50:42 2019 +0000"
      },
      "message": "Revert \"Revert \"THRIFT-4002: Make generated exception classes immutable by default\"\"\n\nThis reverts commit 1234ddf8a5c98d5d700c82e087f04725170ad581.\n"
    },
    {
      "commit": "1234ddf8a5c98d5d700c82e087f04725170ad581",
      "tree": "38cfceb980bf08948c575c4091b8e17fbbb47ab6",
      "parents": [
        "b40f5c227f8db61be523f23ca017519167589d97"
      ],
      "author": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 10 22:13:06 2019 +0000"
      },
      "committer": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 10 22:13:06 2019 +0000"
      },
      "message": "Revert \"THRIFT-4002: Make generated exception classes immutable by default\"\n\nThis reverts commit b40f5c227f8db61be523f23ca017519167589d97.\n"
    },
    {
      "commit": "b40f5c227f8db61be523f23ca017519167589d97",
      "tree": "78b38c45fc8cf8104c912e2415eefb6b63103c01",
      "parents": [
        "45a9827f0f455d377ae87d9a35349c10181d6893"
      ],
      "author": {
        "name": "Elvis Pranskevichus",
        "email": "elvispranskevichus@pinterest.com",
        "time": "Thu Mar 07 11:00:34 2019 -0500"
      },
      "committer": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 10 20:44:24 2019 +0000"
      },
      "message": "THRIFT-4002: Make generated exception classes immutable by default\n\nCurrently, the generated exception classes are not hashable under\nPython 3 because of the generated `__eq__` method.  Exception objects\nare generally expected to be hashable by the Python standard library.\nPost-construction mutation of an exception object seems like a very\nunlikely case, so enable hashing for all exceptions by making them\nimmutable by default.  This also adds a way to opt-out of immutability\nby setting the `python.immutable` annotation to `\"false\"`.\n"
    },
    {
      "commit": "dbc1f8def5018ce5d85d38b9875c6c6b6b424478",
      "tree": "0011127f2edd9221f973eb157438bbd11c0b74d2",
      "parents": [
        "3ca88065dfdb24c5bad6fbd1e3a7e01812628d3b"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Feb 14 16:46:38 2019 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 14 16:46:38 2019 -0500"
      },
      "message": "THRIFT-4024, THRIFT-4783: throw when skipping invalid type (#1742)\n\n* THRIFT-4024: make c_glib throw on unsupported type when skipping\r\n* THRIFT-4783: throw on invalid skip (py)\r\n* THRIFT-4024: make cpp throw on unsupported type when skipping\r\n* THRIFT-4024: uniform skip behavior on unsupported type\r\n"
    },
    {
      "commit": "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": "e44f6a9e06aa0ae42463a791357c0e5c18020c59",
      "tree": "5c99b0c84837103bed6e51dff7571a9530731e60",
      "parents": [
        "fc6c15c83de4f9d34e570c1f1465e7a1f6abc798"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Feb 07 17:11:21 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Feb 07 20:00:16 2019 -0500"
      },
      "message": "THRIFT-4778: fix inheritance for protocol factories\n"
    },
    {
      "commit": "53bd0e6295547e76ab00913cfd62f8d040bd996c",
      "tree": "b6415302e64a3a275a3e6484bd2e3968c8d1ba19",
      "parents": [
        "2be45e566dd490aabf7a45ec3474545a0817024e"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 31 17:11:04 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Feb 01 11:13:49 2019 -0500"
      },
      "message": "THRIFT-4745: fixes compiler warnings\n"
    },
    {
      "commit": "f15b4152b9ea8e73a24e37e3f54a999060ea68bf",
      "tree": "09960f6a5cb124417c0c86b4871aea8a81caa927",
      "parents": [
        "84d9cd27f9a7a5062c9cc270583a001a7aaec196"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 31 13:01:56 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Feb 01 11:13:49 2019 -0500"
      },
      "message": "THRIFT-4405: fix negative sequence id handling in python TCompactProtocol\n"
    },
    {
      "commit": "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": "747158c8daa994b3386f1dcb4fc9e91aed1748ad",
      "tree": "5b24da692e53a6a94897d996a523229b884a100b",
      "parents": [
        "4d10279244838383154003ea733487f7349fa690"
      ],
      "author": {
        "name": "Nicholas Martin",
        "email": "nicholas.martin2@gmail.com",
        "time": "Fri Jun 08 01:30:44 2018 +0100"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jun 07 20:30:44 2018 -0400"
      },
      "message": "THRIFT-4548: python binary accelerated protocol with multiplexing via decoration (#1547)\n\n* Fix binary accelerated protocol with multiplexing\r\n\r\nTMultiplexedProtocol objects did not inherit from TProtocol, so the\r\ndecorated protocol object passed into the binary accelerated C extension\r\nwas not really a TProtocol object, which caused errors. This\r\nimplementation decorates the protocol object by dynamically creating a\r\nnew class that extends both the class of the protocol being decorated\r\nand TMultiplexedProtocol.\r\n\r\n* THRIFT-4548: remove known failures for py multiplexed client cross tests\r\n\r\n* Call super with args for python2 \u0026 pep8 fixes\r\n\r\n* THRIFT-3877: disable known failures for http cpp tests\r\n\r\nThis closes #1535 "
    },
    {
      "commit": "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": "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": "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": "7b545b57200ab960894e873716862cafbf9321f0",
      "tree": "56b13f14a20877edf7f7d33fe05e62e309f877ca",
      "parents": [
        "7e286b0d143be88adbd84f2e1cbfec66196a6a57"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Jan 11 13:46:04 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Jan 13 20:25:23 2016 +0900"
      },
      "message": "THRIFT-3532 Add configurable string and container read size limit to Python protocols\n\nThis closes #787\n"
    },
    {
      "commit": "a3b88a012e6452b665073b7fb9e211e86093efbf",
      "tree": "d6eecc9f6bff6eb3998ad0afd8d5ac3f91903358",
      "parents": [
        "397bd51af7cfad17a93324f0c43f8d3424627b36"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Jan 06 20:44:17 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Mon Jan 11 11:41:14 2016 +0900"
      },
      "message": "THRIFT-3503 Enable py:utf8string by default\n\nThis closes #779\n"
    },
    {
      "commit": "397bd51af7cfad17a93324f0c43f8d3424627b36",
      "tree": "2c541eae3740127f507e4a269525f8add6a9c403",
      "parents": [
        "03565bf467de14a8a229d419164c2b16c34c538e"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Jan 06 14:43:15 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Mon Jan 11 11:35:10 2016 +0900"
      },
      "message": "THRIFT-3527 -gen py:dynamic,utf8strings ignores utf8strings option\n\nThis closes #777\n"
    },
    {
      "commit": "299255afbb1f0ba302d3e29a76e20c0f5984f31e",
      "tree": "8adaf787144927ec1395a39be4595e04555c6923",
      "parents": [
        "1b4ebc393d32f954b738e6904d3cc21a84bd1d93"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Jan 06 14:52:50 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Mon Jan 11 11:34:20 2016 +0900"
      },
      "message": "THRIFT-3525 py:dynamic fails to handle binary list/set/map element\n\nThis closes #775\n"
    },
    {
      "commit": "65d8564e908476f191404164c4db29a0a4434da5",
      "tree": "48eae6c283b9e30bee9b2ddc5581b44da59e1bbe",
      "parents": [
        "c410494453199720a9482cbde832e4e88082de44"
      ],
      "author": {
        "name": "Thomas Bartelmess",
        "email": "tbartelmess@marketcircle.com",
        "time": "Sun Jan 10 11:34:19 2016 -0500"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@bufferoverflow.ch",
        "time": "Sun Jan 10 20:25:38 2016 +0100"
      },
      "message": "THRIFT-3538 python: Removed UnboundMethodType\n\nThis closes #783\n"
    },
    {
      "commit": "4733db4e151794a7a6e1cbbb5396e5d1146f1f8e",
      "tree": "cbb2dc196323d604ac6afedd30838fcda1677e2a",
      "parents": [
        "796667b29f91682871cec310571e66b1259fffb0"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Tue Jan 05 02:50:57 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Jan 06 04:35:12 2016 +0900"
      },
      "message": "THRIFT-3519 fastbinary does not work with -gen py:utf8strings\nClient:\nPatch: Nobuaki Sukegawa\n\nThis closes #769\n"
    },
    {
      "commit": "33744b0524b7248dda9e9e544420d69c33d3a3aa",
      "tree": "e5d520eaf0f5d90ce2d85204c9014296c692418d",
      "parents": [
        "1d8e745035354e67c794bec9e0b5663ee7cab902"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Jan 03 14:24:39 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Tue Jan 05 03:02:35 2016 +0900"
      },
      "message": "THRIFT-3515 Python 2.6 compatibility and test on CI\n\nThis closes #766\n"
    },
    {
      "commit": "b9c859a07bae89643c0953a14e490cf3db435957",
      "tree": "0e9de4da541ddfa0ac352ed57078cddcce4c665b",
      "parents": [
        "7b8946941e5bcb1217711115fed3f6c77d73b5ef"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Dec 21 01:10:25 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Jan 02 22:54:16 2016 +0900"
      },
      "message": "THRIFT-3506 Eliminate old style classes from library code\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #758\n"
    },
    {
      "commit": "7b8946941e5bcb1217711115fed3f6c77d73b5ef",
      "tree": "081edb145dc156d63ccc0a4df959fa4d71588ffb",
      "parents": [
        "6dde7f19254db71cf27df214a59d7156967237fc"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Dec 23 21:45:06 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Jan 02 22:54:16 2016 +0900"
      },
      "message": "THRIFT-3504 Fix FastbinaryTest.py\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #757\n"
    },
    {
      "commit": "e841b3dac619a5e5d3523d059d48db1a12e41360",
      "tree": "183832cb3b7b9c6cdf10c9f1183a47f8410905ce",
      "parents": [
        "b9641e0949f5de5a3c8079758fdd638889614143"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Tue Nov 17 11:01:17 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Nov 28 00:08:07 2015 +0100"
      },
      "message": "THRIFT-162 Thrift structures are unhashable, preventing them from being used as set elements\nClient: Python\nPatch: David Reiss, Nobuaki Sukegawa\n\nThis closes #714\n"
    },
    {
      "commit": "8551f3f53dee2a879de0aa511471f0190b1fe71c",
      "tree": "25e5ebaef772f3c1abcaef7b4ec22b1c98d96b96",
      "parents": [
        "a8c74d5c521faa333e6b70445c08f94dec6b53c1"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Nov 15 16:33:14 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Nov 15 16:33:55 2015 +0900"
      },
      "message": "Revert part of 7f404fdef23dbbe5204d35bcb9261ff50939f31f\n\nunichr does not work for code point \u003e 0x10000 on ucs2 build\n"
    },
    {
      "commit": "bc7e480d0fc80501b597ed57b94395e1c85a2069",
      "tree": "bb81209ff98713994cae939b0d1810fa051490eb",
      "parents": [
        "97a48988de6a7ac513311456a6f6d3ef7f587639"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Nov 14 19:23:27 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Nov 15 14:00:18 2015 +0900"
      },
      "message": "THRIFT-3350 Python JSON protocol does not encode binary as Base64\nClient: Python\nPatch: Nobuaki Sukegawa\n\nThis closes #697\n"
    },
    {
      "commit": "7f404fdef23dbbe5204d35bcb9261ff50939f31f",
      "tree": "9cd3332b9ece02e84dd1804fa9dffb220c1fe5e5",
      "parents": [
        "f892674d1755cef3b358979fd2dd644f1db3cae3"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Nov 14 17:05:42 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Nov 15 14:00:18 2015 +0900"
      },
      "message": "Run test for THRIFT-2413\n\nSlightly simplify _toChar method too.\n\nThis closes #695\n"
    },
    {
      "commit": "369d62e5e925654fa6d1ca3bfe5d73023456adb1",
      "tree": "22b652c87ea3188b28834ad3606f4bbd6c51a872",
      "parents": [
        "517aa1491b1e16c88d17d6d83dcc7ef83bc85164"
      ],
      "author": {
        "name": "Phongphan Phuttha",
        "email": "phongphan.p@gmail.com",
        "time": "Mon Nov 09 02:05:09 2015 +0700"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Nov 14 17:03:57 2015 +0900"
      },
      "message": "THRIFT-2413 Add JSON escaped unicode support for python3.\nClient: Python\nPatch: Phongphan Phuttha\n\nThis closes #686\n"
    },
    {
      "commit": "7f01e2a8f869d8622bc56e7584cce98865fa8b0f",
      "tree": "b0e9343bd76726658cb36f5166849e913a1b1689",
      "parents": [
        "f264884901d0e2a1197ae1511ee0fa0b8ca0d2aa"
      ],
      "author": {
        "name": "Phongphan Phuttha",
        "email": "phongphan.p@gmail.com",
        "time": "Fri Nov 06 15:46:50 2015 +0700"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Nov 09 02:34:28 2015 +0900"
      },
      "message": "THRIFT-2413: UTF-8 sent by PHP as JSON is not understood by TJsonProtocol\nClient: Python\nPatch: Phongphan Phuttha\n\nThis patch allows readJSONString to decode escaped unicode string including encoded surrogate pair.\n\nThis closes #673\n"
    },
    {
      "commit": "760511f59b349c59982a64e249e6cf24c2b2f8f6",
      "tree": "793e2daab17a717fb2407a60627f65073daa82e5",
      "parents": [
        "49f4dc0cd8c87213a0f80ae1daba2d094a358ea7"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Nov 06 21:24:16 2015 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Nov 06 21:24:16 2015 +0900"
      },
      "message": "THRIFT-1857 Python 3 Support\nClient: Python\nPatch: Thomas Bartelmess, Eevee (Alex Munroe), helgridly, Christian Verkerk, Jeroen Vlek, Nobuaki Sukegawa\n\nThis closes #213 and closes #680\n"
    },
    {
      "commit": "228b328f7bffe4d03bc22027d5c6af58251dc3d0",
      "tree": "12eb444fd73f6ab99f863468af74651731060c1f",
      "parents": [
        "9b9366145cd832c2219ffe884b01f9a7c9980b36"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Sat Oct 10 03:11:49 2015 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Oct 14 00:40:23 2015 +0200"
      },
      "message": "THRIFT-3376 C# and Python JSON protocol double values lose precision\nClient: C#, Python, C++, Ruby\nPatch: Nobuaki Sukegawa \u003cnsukeg@gmail.com\u003e\n\nThis closes #643\n"
    },
    {
      "commit": "64b8f6ca15fcb88145c447562258ebfab992dd10",
      "tree": "60e6c288699b265482a7b48095cc3a48540a3efd",
      "parents": [
        "8cd519f7a3b9436ae95049ee4299441306bdeb5c"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Sat Oct 10 02:12:48 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Oct 11 00:23:31 2015 +0200"
      },
      "message": "THRIFT-3375 Python TJSONProtocol encodes utf8 string values in an incompatible way\n\nThis closes #642\n"
    },
    {
      "commit": "15c400488550d565e5436f1e77ad3fdddfd4ef66",
      "tree": "1c42290e0c8ed6dd0463ce818cb6463efb8393fc",
      "parents": [
        "0333dbf0b5fc975c9c8d2b8d9dd057e372b9846a"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Sep 29 21:33:23 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Sep 29 21:33:23 2015 +0200"
      },
      "message": "THRIFT-3323 Python library does not handle escaped forward slash (\"/\") in JSON\nClient: Python\nPatch: Grepsr \u003cinfo@grepsr.com\u003e\n"
    },
    {
      "commit": "7daf00ceb1b6d52f7ab612b03f63907866381ff1",
      "tree": "58bccf9bf3b9600022d0205d1c75186b77937df3",
      "parents": [
        "56d38fb913791f7df476471d3c0294849140964a"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Jun 03 11:45:35 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Jun 03 11:45:35 2015 +0200"
      },
      "message": "THRIFT-3175 python: fastbinary.c python deserialize can cause huge allocations from garbage\n\ndefine MAX_LIST_SIZE to be 10,000\n\nPatch: Dvir Volk\n\nThis closes #511\n"
    },
    {
      "commit": "3b5dacba44e4fa5c07c8b828d2f65215f9c91e34",
      "tree": "56fb134a0cd9cadbdd034af8de6ffdb31ae50ef8",
      "parents": [
        "eab29a0da9eb775bb7e1e7cff6b4eeaecf237151"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Mon Nov 24 10:55:31 2014 +0100"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Mon Nov 24 10:55:31 2014 +0100"
      },
      "message": "THRIFT-2849: spelling errors fixed using codespell tool\n\nClient: All\nPatch: Anatol Pomozov\n\nThis closes #281\n"
    },
    {
      "commit": "07218673b0cd4ff9e90d6c04e4a035a7881962ef",
      "tree": "6b088a04ba881cea694f1281d9c92a75c1796892",
      "parents": [
        "dabdf659ef6b028f7ac0db732ee1c2ddd33e5a6f"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Oct 09 12:18:25 2014 +0200"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Oct 09 12:18:25 2014 +0200"
      },
      "message": "THRIFT-2757: py - fixed checkIntegerLimits in TProtocol.py\n\nClient: Python\nPatch: Bret Curtis\n\nI was applying patch, refactoring method names and profiling method, all at once\nand in that commotion code in commit was half refactored. This commit fixes it.\n"
    },
    {
      "commit": "d5f3be5ebdb2973b41b9bc902696845ed0b43f75",
      "tree": "a166eeed69318ffa4284568deeb35cff723ed09d",
      "parents": [
        "93fea15b51494a79992a5323c803325537134bd8"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@minions.org.pl",
        "time": "Wed Oct 08 15:32:21 2014 +0200"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@minions.org.pl",
        "time": "Wed Oct 08 15:40:00 2014 +0200"
      },
      "message": "THRIFT-2757: py - checkIntegerLimits optimized\n\nClient: Python\n"
    },
    {
      "commit": "93fea15b51494a79992a5323c803325537134bd8",
      "tree": "9b30a4cebbdf9f0a655223fd79699d0c036345ef",
      "parents": [
        "9a7cb9f6c8e6cab5970075e2faf40944ce331ad2"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Thu Oct 02 16:29:14 2014 +0200"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@minions.org.pl",
        "time": "Wed Oct 08 13:35:54 2014 +0200"
      },
      "message": "THRIFT-2757: py - Added integer limits checks in compact and JSON protocols\n\nClient: Python\nPatch: Bret Curtis\n\nThis closes: #234\n"
    },
    {
      "commit": "a86886e77d355ec7523f0b9041f9f0ac03e4dd33",
      "tree": "0538fd9777d28924b4cccd54919744afeb4355fe",
      "parents": [
        "3e8d9272cecfb6dcfe7a03faafdba295c7d1838e"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Sep 17 22:25:48 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Sep 17 22:36:00 2014 +0200"
      },
      "message": "THRIFT-2704 - compiler: T_ONEWAY type used for oneway methods instead of T_CALL\n\nPatch: Konrad Grochowski\n\nThis closes #216\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": "6d1a83aa485ed9c3644d3200555700070547bf90",
      "tree": "016f0223385b3182ea76e71c14506af97b69d71b",
      "parents": [
        "72e9c375175ff05a9b9cd61c9937db0bd48742ac"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat May 03 00:49:05 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat May 03 00:49:05 2014 +0200"
      },
      "message": "THRIFT-2506 Update TProtocolException error codes to be used consistently throughout the library\n\nPatch: Jens Geyer\n"
    },
    {
      "commit": "8c691fa004289d4cc484ce0b21063689e1489359",
      "tree": "ffe51526671af66b858cbdbe2a8053d6758ecd53",
      "parents": [
        "0ec155e1608c2909183b7c5e0b08a4a80579b4bd"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 05 04:54:33 2013 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Nov 05 04:54:33 2013 +0100"
      },
      "message": "THRIFT-1639 Java/Python: Serialization/Deserialization of double type using CompactProtocol\n\nPatch: Patrick Lawson\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": "05ab89a1286049567e8d6ada1833a7d75179a365",
      "tree": "371207e82c73c77855358540ecfdb9229135b3da",
      "parents": [
        "691ec0021338c143dd4444d00b87925c5ec3c10b"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Nov 02 10:36:59 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Nov 02 10:36:59 2012 +0000"
      },
      "message": "THRIFT-1745 Python JSON protocol \nfix typo detected by cross language test suite\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1404914 13f79535-47bb-0310-9956-ffa450edef68\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": "6972041392314d526584e733781ca382a960b295",
      "tree": "f68da7e2d3d4187a9c1ce755417c7c735b7365fa",
      "parents": [
        "9704630bab3dc502bbd216380f9bb5e6b13228f0"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Jan 03 17:32:30 2012 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Jan 03 17:32:30 2012 +0000"
      },
      "message": "THRIFT-1480. py: remove tabs, adjust whitespace and address PEP8 warnings\n\nThis patch addresses a host of PEP8 lint problems.\n\nPatch: Will Pierce\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1226890 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c3f033f40b382e94c99f0cad2e79924bb7ac3e9b",
      "tree": "48436c0c0423c36e5012c68e63863af685e634cc",
      "parents": [
        "a93848b68414c921f50062c970e2c9a5e6914435"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Sep 13 13:54:05 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Sep 13 13:54:05 2011 +0000"
      },
      "message": "THRIFT-1342 Compilation problem on Windows of fastbinary.c\nPatch: alexandre parenteau\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1170180 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": "54df97c507aa4fb49523166b477bd82762fd9711",
      "tree": "5cc0cf2cda8b240110a345d55679dc1c4534b91b",
      "parents": [
        "b7bd5626aa1858c3b315c0df252bf67de6923feb"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jul 13 18:11:29 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jul 13 18:11:29 2011 +0000"
      },
      "message": "THRIFT-1208. py: Compact protocol always reads and writes booleans as true\n\nPatch: liwei\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1146180 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": "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": "bff2a35adf75e5da3483facab647601a73a1f9ee",
      "tree": "88da87c4af3377005227a4387d3e99a86f391150",
      "parents": [
        "db40d26f4a61c1c2ae04997a6cc475bfd585d3e4"
      ],
      "author": {
        "name": "Esteve Fernandez",
        "email": "esteve@apache.org",
        "time": "Thu Sep 24 10:22:00 2009 +0000"
      },
      "committer": {
        "name": "Esteve Fernandez",
        "email": "esteve@apache.org",
        "time": "Thu Sep 24 10:22:00 2009 +0000"
      },
      "message": "THRIFT-586. python: TSocket incorrectly sets the exception type when an end of file error occurs\n\nTTransportException\u0027s type was set to \"Transport not open\" in some cases, which should\nbe its message.\nUse named arguments and set the type for TTransportException to END_OF_FILE in TSocket#read\nand TSocket#write.\n\nreviewer: dreiss\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@818429 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": "127d01cb0635dcf9c4650c00ef822b9f6bd7be85",
      "tree": "0ee5b95ec6992196a5fbf30a054cdd437c1c25e3",
      "parents": [
        "2ad9eb7c5ec9db4c9c9ca334e7f04959154db56b"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Mar 24 01:40:56 2009 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Mar 24 01:40:56 2009 +0000"
      },
      "message": "THRIFT-391. py: Fix memory leak in fastbinary\n\nAuthor: Alexander Shigin\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@757634 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4980910100f67b1353040529257825af946f8e6b",
      "tree": "43c886ab2af60493f18a28b7bad9de93665cdb91",
      "parents": [
        "3696d643d0bf233fc2b57e5941cf8d416999a166"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Mar 18 23:14:13 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Mar 18 23:14:13 2009 +0000"
      },
      "message": "THRIFT-362. python: Detect endianness on Solaris\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@755776 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fdd8b5ab013be680eca7d6a241e6ebb39be0ff7c",
      "tree": "e82ea1913136f21d10a893aabec6b6ab8d8611de",
      "parents": [
        "d831a21773d789fae1b1d0b52b3d6378f377b8b1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 17 20:06:08 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 17 20:06:08 2009 +0000"
      },
      "message": "THRIFT-340. python: Detect endianness properly on FreeBSD\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745223 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "58434e698865101096e28fb2ea98282133d55e2c",
      "tree": "731a971a680e9c4b9be6d59f2990e8fcc2023d0c",
      "parents": [
        "8684554e2947b7b0e6b38ebd4f5f80b0be83ddfe"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Oct 07 21:08:10 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Oct 07 21:08:10 2008 +0000"
      },
      "message": "THRIFT-108. python: Fix call to PyDict_Next in fastbinary.c\n\nThe position parameter is supposed to be a Py_ssize_t*, not an int*.\nThis was probably just an oversight in the original patch, and it\nwas preventing maps from serializing properly on x86-64.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@702640 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0ee93eaa464d524efcfda4f243d2c456a4dfac5e",
      "tree": "cb53c61e69895b56a0266fc12236a0c358bbd87a",
      "parents": [
        "f4e700883b943775233b75770a12fd7affa9ef31"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jul 21 19:03:11 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jul 21 19:03:11 2008 +0000"
      },
      "message": "THRIFT-93. Remove unnecessary shebang lines from Python libraries\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@678529 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bc444b034e79b521b0512198a1feaa37da6d3ee7",
      "tree": "fd46151d59d5b294077ee7c353ec7750a7442f31",
      "parents": [
        "bbf8062e4f37bde9e698e080b9f2017dd93bbfc6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Feb 14 20:20:08 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Feb 14 20:20:08 2008 +0000"
      },
      "message": "Thrift: Fix a bug in the skip function in Python\u0027s fastbinary.c\n\nReviewed By: mcslee\n\nOther Notes:\nSubmitted by Ben Maurer (the original author).\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665479 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": "9b36ef3575c13aa360f1b2fac312683270978094",
      "tree": "3c0651d83576a9fe1b704d690e6b8f01e7014653",
      "parents": [
        "780e4ecac988ba8aeea794631da2ea9a24c7717b"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Oct 02 04:44:48 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Oct 02 04:44:48 2007 +0000"
      },
      "message": "Fix 32-bit Python encoding integer issue\n\nSummary: Python on 32-bit platforms 2.4+ wants to keep hexconstants positive, therefore converting 0x800000000 to a (long) type to keep that. This causes issues when performing comparison with a signed negative integer.\n\nReviewed By: dreiss\n\nTest Plan: Python on 32 bit 2.4+ system making Thrift calls\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665287 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2c2e6d27a238746a0db9982cc4eb35c093553361",
      "tree": "4beeb59769e5c598bddd17d87761d98698b8185f",
      "parents": [
        "4529c4b394d39900e1b50f6be08ba31553550c0d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Sep 05 01:14:09 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Sep 05 01:14:09 2007 +0000"
      },
      "message": "Thrift: Python TBufferedTransport improvements.\n\nSummary:\nThe Python version of TBufferedTransport now uses input buffering.\nIt is also compatible with the fasbinary module.\n\nReviewed By: mcslee\n\nTest Plan:\ntest/FastbinaryTest.py\n\ndreiss@dreiss-vmware:~/gp/thrift/test/py$ strace -f ./TestClient.py 2\u003e\u00261 | grep recv | wc -l\n99\n# Install new version in other terminal\ndreiss@dreiss-vmware:~/gp/thrift/test/py$ strace -f ./TestClient.py 2\u003e\u00261 | grep recv | wc -l\n14\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665250 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5db3e926713d6fba0e9d0348d29b58bb8ec29367",
      "tree": "a24e82eff20d5af03d9b45174c72e3a26a346124",
      "parents": [
        "792df0bf78d061ede0af7f12bf92c72254ed12d8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 30 23:07:45 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 30 23:07:45 2007 +0000"
      },
      "message": "Thrift: Handle absence of fastbinary.so\n\nSummary:\n- Wrap import of fastbinary in a try/catch, setting it to None if it fails.\n- Don\u0027t try to fastbinary.encode/decode if fastbinary is None.\n- Always generate thrift_spec, even if it is None.\n- Don\u0027t try to fastbinary.encode/decode if thrift_spec is None.\n\nReviewed By: mcslee\n\nTest Plan:\ntest/py/Test{Client,Server}.py\nManually delete my fastbinary.so, they worked fine.\nChanged them to use Accelerated protocol.  They still worked fine because\nthe test falls through to the normal generated code.\nInstalled fastbinary.so, everything worked fine (eventually).\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665236 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5ec8e26d25dc459041e7c31aa2c65eff4f70ad4e",
      "tree": "6426ffd25a6e17531cc4a36fb39d5b3d7b1c34c7",
      "parents": [
        "382fc3043cba33fea1a919e4e6bfeac0cb9c22aa"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Aug 26 02:21:24 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Aug 26 02:21:24 2007 +0000"
      },
      "message": "Thrift: Fix fastbinary.c for Python 2.4.\n\nSummary:\nThe recently committed fastbinary.c doesn\u0027t compile with Python 2.4.\nThis version does.\n\nBlame Rev: 56816\n\nReviewed By: mcslee\n\nTest Plan: make install on devrs004\n\nRevert Plan: Do 56816 also.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665225 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "382fc3043cba33fea1a919e4e6bfeac0cb9c22aa",
      "tree": "25fbc629b633f81f618842d86c4f0f6c44c83a12",
      "parents": [
        "40c6ac574c0090900736da744ef8cb72340b6c07"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Aug 25 18:01:30 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Aug 25 18:01:30 2007 +0000"
      },
      "message": "Thrift: Native-code Binary Protocol encoder.\n\nSummary:\nMerging a patch from Ben Maurer.\nThis adds a python extension (i.e., a C module) that\nencodes Python thrift structs into the standard binary protocol\nmuch faster than our generated Python code.\n\nAlso added by-value equality comparison to thrift structs\n(to help with testing).\n\nCleaned up some trailing whitespace too.\n\nReviewed By: mcslee, dreiss\n\nTest Plan:\nRecompiled Thrift.\nThrifted a bunch of IDLs and compared the generated Python output.\nLooked at the extension module a lot.\ntest/FastBinaryTest.py\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665224 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "552410c037c323085e075bd4b0f268ee941083b8",
      "tree": "acc27b75f6c0aed1ab1db0e363ffc672b6475670",
      "parents": [
        "808454ec634278eec7e0ee5c523b00e3e4257287"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jun 22 01:03:55 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jun 22 01:03:55 2007 +0000"
      },
      "message": "Idiotic typos in Python code\n\nSummary: No clue how this slid in\n\nReviewed By: abosworth\n\nTest Plan: I am stupid. TestClient.py\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665139 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "808454ec634278eec7e0ee5c523b00e3e4257287",
      "tree": "a8b896d05d162699ac11e45aca3d129e119379f4",
      "parents": [
        "589859984f43af1ed0f9ee45ce8374a0d1640813"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Jun 20 21:51:57 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Jun 20 21:51:57 2007 +0000"
      },
      "message": "Thrift TBinaryProtocol change\n\nSummary: New Thrift TBinaryProtocol with a version identifier\n\nReviewed By: aditya, eugene\n\nTest Plan: Modify your services to have strictRead_ and strictWrite_ both set to FALSE. Then redeploy your services and test running clients against them. Once you have clients and servers running stably on this new code, you should redploy versions with strictWrite_ set to TRUE. Once that\u0027s all good, we can set strictRead_ to TRUE as well, and eventually deprecate the old protocol code entirely.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665138 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "89e2bb84e2ceb690c1d8abc1b6641e16ee73a19a",
      "tree": "5a5d616629d25cfb78fec49c301cb9181bf42161",
      "parents": [
        "7eb0d635428cc24b8394fcacc2c8d0093e32e5ea"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Mar 01 00:20:36 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Mar 01 00:20:36 2007 +0000"
      },
      "message": "Applying Thrift software license to Python source\n\nReviewed By: python\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665032 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e74306a96556748f887628deddec544fe24b7be9",
      "tree": "c4ab1ae1ac3b3a806c4f85ffd23664d1edd8cc12",
      "parents": [
        "b0060b0401b5bcf85aa1523817793956ef5a5219"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 21 05:38:12 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 21 05:38:12 2007 +0000"
      },
      "message": "Move constant defs into Thrift.py to avoid cirulcar includes\n\nReviewed By: snakes\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665016 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "92195ae21929b464a80b25906b80181384e3ae95",
      "tree": "8327ad463452756ac5f76eb4b1214b52e96d93f3",
      "parents": [
        "e5341192fdd65bd306f1bb46410f09c4674a415f"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 21 05:16:30 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 21 05:16:30 2007 +0000"
      },
      "message": "Starting python exception handling cleanup\n\nReviewed By: aditya\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665013 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5c468196dc7a1d6035df83fb656ab3f214657421",
      "tree": "7d54acee76073808baef08819b88df77d1e28f43",
      "parents": [
        "21135c300bd4418365981e930d3aeba6f290fb5b"
      ],
      "author": {
        "name": "Aditya Agarwal",
        "email": "aditya@apache.org",
        "time": "Tue Feb 06 01:14:33 2007 +0000"
      },
      "committer": {
        "name": "Aditya Agarwal",
        "email": "aditya@apache.org",
        "time": "Tue Feb 06 01:14:33 2007 +0000"
      },
      "message": "-- Protocol and transport factories now wrap around a single protocol/transport\n\nSummary:\n- This is an analagous to the C++ change made in r31441\n\nReviewed By: cheever, mcslee\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664975 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4ac459ff3a447786220d01402756b70eb21329a1",
      "tree": "d272dc5d5081dfeb09e904b47e97aa03571a3163",
      "parents": [
        "5946a185968aeee39a4dc5a1aaea9a9932a4abed"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Oct 25 21:39:01 2006 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Oct 25 21:39:01 2006 +0000"
      },
      "message": "Fix python server bugs and go to new protocol wraps transport model\n\nReviewed By: ccheever\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664849 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": "cde2b61c5e3a26fd6ad5bc1a6fcdee449696d66c",
      "tree": "b238b0f6ce3c18d92e59ec4ca4836fcfa77a95c9",
      "parents": [
        "dafa3cf710b21049f929500ca57957709f46b941"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Sun Sep 03 21:13:07 2006 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Sun Sep 03 21:13:07 2006 +0000"
      },
      "message": "Implementation of the basic Thrift stack in Python\n\nSummary: Framework, install script, base classes, TSocket, TBinaryProtocol\n\nNotes: Code-gen is coming around the bend...\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664778 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ]
}
