)]}'
{
  "log": [
    {
      "commit": "055fe67ec1856d25f7ad3b98b5cd172fdf8e2c70",
      "tree": "062bf11a4e4dff23d87121e68022eb6e393699f7",
      "parents": [
        "526a1acf3b870d3b292423e19b9bb9bb0d18c0c3"
      ],
      "author": {
        "name": "Neil Williams",
        "email": "neil@reddit.com",
        "time": "Tue Feb 16 15:12:15 2021 -0800"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Tue Feb 16 16:31:00 2021 -0800"
      },
      "message": "THRIFT-5352: Fix construction of Py exceptions with no fields\n\nClient: py\n\nWhen no fields are present, we don\u0027t get the special constructor that\nuses __setattr__ to avoid these checks. So the default constructor sets\nmessage normally and triggers the anti-mutation tripwires.\n"
    },
    {
      "commit": "9320f891d7d972fc2cc4f9569b66767c5dfc4242",
      "tree": "5b3a502bcd271eff99c6ab5eed576674943e79a1",
      "parents": [
        "6e023df1ded255dda00eb4c041c201e66c8d1fbc"
      ],
      "author": {
        "name": "Elvis Pranskevichus",
        "email": "elvispranskevichus@pinterest.com",
        "time": "Wed Dec 11 16:51:12 2019 -0500"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "can@dcc.im",
        "time": "Thu Dec 12 13:50:42 2019 +0000"
      },
      "message": "Revert \"Revert \"Remove unnecessary TException.message hack\"\"\n\nThis reverts commit 3d9f50d61728d377951f9b6df5f19196f6b3af46.\n"
    },
    {
      "commit": "3d9f50d61728d377951f9b6df5f19196f6b3af46",
      "tree": "c9b2a58f29402781e3a12009e142a19ee851d80f",
      "parents": [
        "1234ddf8a5c98d5d700c82e087f04725170ad581"
      ],
      "author": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 10 22:13:19 2019 +0000"
      },
      "committer": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 10 22:13:19 2019 +0000"
      },
      "message": "Revert \"Remove unnecessary TException.message hack\"\n\nThis reverts commit 45a9827f0f455d377ae87d9a35349c10181d6893.\n"
    },
    {
      "commit": "45a9827f0f455d377ae87d9a35349c10181d6893",
      "tree": "38cfceb980bf08948c575c4091b8e17fbbb47ab6",
      "parents": [
        "ffb97e105cbef6afc809a1bdac9cdac1f35d6bab"
      ],
      "author": {
        "name": "Elvis Pranskevichus",
        "email": "elvispranskevichus@pinterest.com",
        "time": "Thu Mar 07 12:18:59 2019 -0500"
      },
      "committer": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Tue Dec 10 20:44:22 2019 +0000"
      },
      "message": "Remove unnecessary TException.message hack\n\nThrift attempts to work-around the Python 2.7 DeprecationWarning\naround `BaseException.message` by using a property.  This hack is\nunnecessary since `message` is _also_ written as a regular attribute in\nthe `TException` constructor (and would be in any of its children),\nhence the `BaseException_get_message()` wouldn\u0027t even be called.\n\nThis hack also stands in the way of making exception instances\nimmutable (which is a prerequisute to fixing THRIFT-4002).\n"
    },
    {
      "commit": "393f6c93e1a65b7be74d79b5a6b00f878e88a630",
      "tree": "f420f76c8d47d189bcefbd48860f7fe8f34df523",
      "parents": [
        "e53d23c16c806c6da62ebaa7f205328cf710d9a5"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sat Feb 09 10:35:44 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Feb 11 17:46:30 2019 -0500"
      },
      "message": "THRIFT-3877: fix py/py3 server, java client with http transport\n\nThe java TestClient asks the server to runa  oneway request that\nsleeps for 3 seconds.  If the java TestClient sees the duration\nof the call exceed one second, it fails the test.  This means the\nserver did not participate in the \"fire and forget\" dynamics of\nONEWAY requests.  In this case the THttpServer was processing the\nRPC before sending the transport response.  The fix was to enhance\nthe TProcessor so that the THttpServer has an opportunity to inspect\nthe message header before processing the RPC.\n\nThis is partly due to the violation of the THttpServer in the\nlayered architecture.  It is essentially implementing a combined\nserver and transport, whereas there should be a distinct server,\nprotocol, and transport separation.  Many languages seem to have\nthis problem where HTTP was introduced.\n"
    },
    {
      "commit": "e7611d0f3ed1704711f58ff45f331db6748dfbb5",
      "tree": "f6d328baa3576e8346a94d36cb585eb338470dbb",
      "parents": [
        "ba5e065aaa0e1f9a3d0174a5c287fff09ad2f3a7"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Oct 23 16:44:45 2017 -0400"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Oct 23 16:44:45 2017 -0400"
      },
      "message": "THRIFT-4367: Fix missing positional argument in python\nTProcessor.process\nClient: py\nPatch: Qyetfu\n\nThis closes #1392\n"
    },
    {
      "commit": "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": "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": "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": "0193149842924b65c5d3761d60055d298470d3ab",
      "tree": "a2f40b909010e1b5c45971b04c57a8daf20bc90e",
      "parents": [
        "8fa8aeac9a0f2ff4f11ac0ef73fc677bebd7a75f"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Dec 22 21:31:03 2012 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Dec 22 21:31:03 2012 +0100"
      },
      "message": "THRIFT-1801 Sync up TApplicationException codes across languages and thrift implementations\nPatch: Andrew Cox\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": "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": "345ecc739ab145f9a0e7c27bbcb4ee72ccd3a86b",
      "tree": "cf0122091b05a989f08d2cb6398f1e36758486f2",
      "parents": [
        "c1905587872fe7a78adcc9d8c6d0c091ac7b80cc"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Aug 03 09:49:27 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Aug 03 09:49:27 2011 +0000"
      },
      "message": "THRIFT-690 add new ApplicationExceptions (INTERNAL_ERROR, PROTOCOL_ERROR) to the following languages: as3, c_glib, cocoa, cpp, erl, hs, js, nodejs, ocaml, perl, py, rb\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1153412 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "686d92ce66c100e8fc9671ea8a021aca21adc5cf",
      "tree": "c9c10802c6e9cd3baa756447ce48ecb77cec0e2a",
      "parents": [
        "e02d6118bfe00f74fec801efcb677ef17dfe928e"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 00:36:18 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 00:36:18 2010 +0000"
      },
      "message": "THRIFT-824. py: TApplicationException.__str__() refers to class constants as globals\n\nRefer to constants via \u0027self\u0027.\n\nPatch: Peter Schuller\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991781 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c548b3dd6312e02df04ca822157c1e41193731c9",
      "tree": "4806597aca784581d8f5b21cdd4083822af2e490",
      "parents": [
        "ff3d249d413448489095991be7ce3176dbb87722"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:18 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:18 2010 +0000"
      },
      "message": "THRIFT-475. python: Eliminate DeprecationWarning\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920661 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "deda141392d0b242e1fce0c0682ceedb45642a18",
      "tree": "b3341930bc7cc0965fa6d725f728774fae8c361c",
      "parents": [
        "b5714ef91ec7210c65e07c8d635c224795f22919"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 19:22:31 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 19:22:31 2009 +0000"
      },
      "message": "THRIFT-388. Create a \"ONEWAY\" message type that is an alias for \"CALL\"\n\nPave the way for a new message type for oneway function calls.\nFor now, just define the constant in all languages and make\nserver implementations treat it the same way as a normal call.\nOnly C++ and Erlang currently check the message type (on the\nserver side).\n\nThere is a little bit of redundancy in the Erlang code, but\nthe alternative is a bit gross, and this split-up will be\nnecessary eventually when we start handling one-way calls\ndifferently.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761389 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": "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": "33d8f340dcca637e3b91d946f3f6f92daff64456",
      "tree": "8c9e312a1f284f2f935fe93a45d8625c2a1b1303",
      "parents": [
        "8ec70e88e68aba3e3fa636b6ac23cbf2ec726152"
      ],
      "author": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Mon Jan 07 22:23:07 2008 +0000"
      },
      "committer": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Mon Jan 07 22:23:07 2008 +0000"
      },
      "message": "[thrift] py: TApplicationException.__str__\n\nSummary: Now infinitely more printable than ever before!\nReviewed by: mcslee\nTest Plan: except TApplicationException, inst: \\n\\t\\t print inst\nRevert: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665414 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7679196f1cb6a4b919917aeab065ca86b9b8ad91",
      "tree": "432f2d4425bcc5e627261ef459cf34b6b32ba57e",
      "parents": [
        "0c2dff3f5a69726e98636c091454b9b5e3ab8898"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Mar 14 02:47:35 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Mar 14 02:47:35 2007 +0000"
      },
      "message": "Various Thrift fixes, including Application Exception support in Ruby, better errror messages across languages, etc.\n\nReviewed By: thrift\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665058 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": "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": "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"
    }
  ]
}
