)]}'
{
  "log": [
    {
      "commit": "eac5103f8204021f7b5436001319c2b17ed5644f",
      "tree": "22610465f5927c466b2e9baa87e55fe116347c6c",
      "parents": [
        "8987820e84ac26392293ab40480cf8f2971fb314"
      ],
      "author": {
        "name": "Jiayu Liu",
        "email": "jiayu.liu@airbnb.com",
        "time": "Fri Mar 11 04:55:13 2022 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Apr 20 23:37:58 2022 +0200"
      },
      "message": "THRIFT-5545: use gradle convention in organizing java project\nClient: java\nPatch: Jiayu Liu\n\nThis closes #2546\n"
    },
    {
      "commit": "6bdefc47c3408dc4f9b6eefb6d3449c596109bb3",
      "tree": "ecd11e91712ef9223d86e9542faf085a2287db28",
      "parents": [
        "90ea2e8398eda32da8be0b3514516e7ad932a869"
      ],
      "author": {
        "name": "Jiayu Liu",
        "email": "Jimexist@users.noreply.github.com",
        "time": "Tue Apr 19 00:50:35 2022 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 18 12:50:35 2022 -0400"
      },
      "message": "THRIFT-5563: fix deprecation and enable xlint for java library (#2575)\n\n"
    },
    {
      "commit": "aa82214dbc1ee981040719067a6d4eb7791fe7ec",
      "tree": "d4f6cbe4ace2e8cf64ea27d9f2690fae354d011a",
      "parents": [
        "2f6ddc91456aaa18e017ba1aa95dbd5f98525fce"
      ],
      "author": {
        "name": "Jiayu Liu",
        "email": "jiayu.liu@airbnb.com",
        "time": "Tue Apr 12 22:42:10 2022 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Apr 13 21:49:21 2022 +0200"
      },
      "message": "add interface generation\n"
    },
    {
      "commit": "aa27cdadd00481d1c08dc4fb73e3aaf14d95c07b",
      "tree": "bcb8a9071f88962a9bcf04fb575b8171323933b0",
      "parents": [
        "7594da8d7ac8d3525aa736d8fef89e465c63533e"
      ],
      "author": {
        "name": "Jiayu Liu",
        "email": "jiayu.liu@airbnb.com",
        "time": "Mon Feb 21 17:08:00 2022 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Wed Mar 09 11:39:48 2022 +0100"
      },
      "message": "add support for converting to java optional\n"
    },
    {
      "commit": "66ac7b46fab85f175aec601cb48ea05408a1c186",
      "tree": "0360a8fd518a1490f8a253502f79ec36d4fc0ee1",
      "parents": [
        "b8920b01cb72af93a716bb203fcd8a1202936b97"
      ],
      "author": {
        "name": "wangfan",
        "email": "wangfan8@xiaomi.com",
        "time": "Thu Feb 24 12:14:45 2022 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Mar 06 12:30:30 2022 +0100"
      },
      "message": "THRIFT-5494 fix cpu full caused by infinite select() when frameSize \u003c maxReadBufferBytes but readBufferBytesAllocated.get() + frameSize always greater than MAX_READ_BUFFER_BYTES\nClient: Java\nPatch: wangfan \u003cwangfan8@xiaomi.com\u003e\n\nThis closes #2533\n"
    },
    {
      "commit": "c6c5a0596ffc441e6cd1ad60130cdcdcb2e319e4",
      "tree": "ccc203b31f15408f7ef5e881e033a1f9cffaf66a",
      "parents": [
        "b597043146bdcd2b18c73314aafbf4b46937dbd5"
      ],
      "author": {
        "name": "kpandit",
        "email": "kpandit@pinterest.com",
        "time": "Thu Dec 02 14:15:48 2021 -0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Dec 13 08:56:54 2021 +0100"
      },
      "message": "THRIFT-5486 : fix issues found by spotbugs\n"
    },
    {
      "commit": "4637f6d5f8df752291f5e3c8923824e819a2b60f",
      "tree": "aac16a664dce846d58b16588f061d90b8461abda",
      "parents": [
        "5a9d139be4ef1a790da4c6f25377b8ab6573a325"
      ],
      "author": {
        "name": "kpandit",
        "email": "kpandit@pinterest.com",
        "time": "Tue Nov 23 11:44:22 2021 -0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Tue Nov 23 21:54:05 2021 +0100"
      },
      "message": "[skip ci] updated README.md to reflect final merged changes (THRIFT-5443)\n"
    },
    {
      "commit": "5a9d139be4ef1a790da4c6f25377b8ab6573a325",
      "tree": "0377e631e8faada4e4c7cb1db3e47af89518a650",
      "parents": [
        "2c0927826d1e7f7e902f29a925e22058f949f535"
      ],
      "author": {
        "name": "kpandit",
        "email": "kpandit@pinterest.com",
        "time": "Sat Nov 20 00:56:17 2021 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Nov 20 00:57:57 2021 +0100"
      },
      "message": "THRIFT-5443: add support for partial Thrift deserialization\nClient: java\nPatch: Bhalchandra Pandit\n\nThis closes #2439\n"
    },
    {
      "commit": "2145741a9db80b2127e88ee5c792fe74d73b19dd",
      "tree": "0f2bb0fc259c40cef4c011532c16b7f8b99075bc",
      "parents": [
        "152dab945cbf5377595e07e87b336a9871aa5949"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Oct 18 21:59:28 2021 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Oct 18 22:04:29 2021 +0200"
      },
      "message": "FIX for \"error: malformed HTML\" broken by 91be87a76f747b9069bb07357483b2d8a19addcf\n"
    },
    {
      "commit": "152dab945cbf5377595e07e87b336a9871aa5949",
      "tree": "2d198b301e46d1342413258ea4cf10569ecf81db",
      "parents": [
        "2b691ee3bf6d70112e1e06f29e8e8a06e3105f33"
      ],
      "author": {
        "name": "Yuming Wang",
        "email": "yumwang@ebay.com",
        "time": "Mon Oct 18 23:29:39 2021 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Mon Oct 18 22:03:49 2021 +0200"
      },
      "message": "THRIFT-5237: FOLLOWUP: Add a new constructor for TSocket\n\nWorkaround for this issue: https://github.com/apache/spark/pull/34280#issuecomment-945814566"
    },
    {
      "commit": "91be87a76f747b9069bb07357483b2d8a19addcf",
      "tree": "333633b671e30494adcfb59eab7a6fb3946cc9a3",
      "parents": [
        "cb808fcb79d03028c6138891381689e1ef4e4a94"
      ],
      "author": {
        "name": "kpandit",
        "email": "kpandit@pinterest.com",
        "time": "Tue Aug 24 18:35:47 2021 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Oct 14 23:16:57 2021 +0200"
      },
      "message": "fix javadoc warnings\nClient: java\nPatch: Bhalchandra Pandit\n\nThis closes #2444\n"
    },
    {
      "commit": "db7ad5b1a127ab99b45ef076d07ac6c28d0cb84c",
      "tree": "5faf1d41e8f8c3d147483c9690af1c13d513b068",
      "parents": [
        "72f04b4e2ca46306ff88b33eda25a7e14df5e895"
      ],
      "author": {
        "name": "kpandit",
        "email": "kpandit@pinterest.com",
        "time": "Fri Aug 20 11:56:47 2021 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sun Aug 22 18:43:11 2021 +0200"
      },
      "message": "fix javadoc warnings\n"
    },
    {
      "commit": "72f04b4e2ca46306ff88b33eda25a7e14df5e895",
      "tree": "77b671371fc680a1178b90f1113a1fc222bbbc87",
      "parents": [
        "a265236febefca37d3aa74b544112a2f724b3ea8"
      ],
      "author": {
        "name": "xiexiaoqun",
        "email": "xiexiaoqun@yeah.net",
        "time": "Sat Aug 21 06:28:57 2021 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "Jens-G@users.noreply.github.com",
        "time": "Sun Aug 22 18:38:49 2021 +0200"
      },
      "message": "Change StringBuffer to StringBuilder for more efficiency\n"
    },
    {
      "commit": "82a9c67405602ff053146a8df6bd566d90a9bf03",
      "tree": "ef31e0a649724e8b66f8cebfb6cfd66327d4c535",
      "parents": [
        "f7e6c654bde5d9832bede2b48b460c3e1bbbbb92"
      ],
      "author": {
        "name": "bhalchandrap",
        "email": "79821958+bhalchandrap@users.noreply.github.com",
        "time": "Mon Aug 09 23:14:05 2021 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 10 07:14:05 2021 +0100"
      },
      "message": "Add missing javadoc\n\n"
    },
    {
      "commit": "3c3a389c8ac546623d21e2d151c402503b358bc9",
      "tree": "48be9fb4740f1e1a8e7f1f5e81e8ea6de8bc87b9",
      "parents": [
        "5cada6a3202a0e5e11ff36dfbb925f0e037bf856"
      ],
      "author": {
        "name": "Thomas",
        "email": "thomasbruggink@hotmail.com",
        "time": "Fri May 28 22:10:11 2021 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Jun 30 22:01:20 2021 +0200"
      },
      "message": "THRIFT-5425 Throw an exception when reading TSimpleJson in Java\nClient: java\nAuthor: Thomas Bruggink\n\nThis closes #2400\n\nThrow an exception when reading TSimpleJson and update the comment to explain why.\n"
    },
    {
      "commit": "5cada6a3202a0e5e11ff36dfbb925f0e037bf856",
      "tree": "7e205c6b0f67df0baee48938ea21591f1edeb10c",
      "parents": [
        "598ee9864beb51af18ee467e34340d4c9d462b6e"
      ],
      "author": {
        "name": "belugabehr",
        "email": "12578579+belugabehr@users.noreply.github.com",
        "time": "Wed Jun 30 09:08:34 2021 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 30 09:08:34 2021 -0400"
      },
      "message": "THRIFT-5433: Add Counter To Thread Name of TThreadPoolServer\n\nClient: Java\r\nPatch: David Mollitor"
    },
    {
      "commit": "58fa7b4610dc78cad434fcdc535c79082a53160b",
      "tree": "5590cbbfb561119367f8259c5f07ab3b18e169a5",
      "parents": [
        "fcfa34108dbf064e71704b4ffa8479e184cef94e"
      ],
      "author": {
        "name": "Divye Kapoor",
        "email": "dkapoor@pinterest.com",
        "time": "Thu Jun 17 10:10:59 2021 -0700"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Jun 23 20:30:55 2021 +0200"
      },
      "message": "THRIFT-5430: Fix deadlock triggered by FieldMetaData.class.\n\nDetails of the deadlock are in the ticket.\nThis PR addresses the deadlock by limiting the scope of the locks\nacquired in FieldMetaData.java to only protect calls to the structMap\nhashtable. No locks should be held when the call to sClass.newInstance()\nis in progress.\n\nTested: Regular CI builds should pass.\n"
    },
    {
      "commit": "3ccef5cecd131077782038cf2be3a6a471c467c5",
      "tree": "96f3eff3ee3ea29f3b110bdd58c39617ea4b39af",
      "parents": [
        "46693f7f5ed16370a6f6fa33c48a64fcafbb0f99"
      ],
      "author": {
        "name": "l00508282",
        "email": "luguangming1@huawei.com",
        "time": "Wed Jun 16 23:25:45 2021 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Jun 16 21:29:01 2021 +0200"
      },
      "message": "THRIFT-5432 TSaslTransport throw TTransportException of MaxMessageSize reached\nClient: java\nPatch: GuangMing Lu\n"
    },
    {
      "commit": "be20ad7e08fab200391e3eab41acde9da2a4fd07",
      "tree": "c50ef59c6e262caa2382ffb859f7bd4bfb680d45",
      "parents": [
        "4abc5cfb4b3dea54484ca49a584b472a7373f3c5"
      ],
      "author": {
        "name": "David Mollitor",
        "email": "dmollitor@apache.org",
        "time": "Wed May 26 09:26:47 2021 -0400"
      },
      "committer": {
        "name": "Yuxuan \u0027fishy\u0027 Wang",
        "email": "fishywang@gmail.com",
        "time": "Thu Jun 03 22:16:32 2021 -0700"
      },
      "message": "THRIFT-5411: Catch SocketTimeoutException in TIOStreamTransport read\n"
    },
    {
      "commit": "fa87d0ea424da50930c2843e1117a5c2abe20593",
      "tree": "6c9ab8273a1204af2a57c8d962d519a4b5b03192",
      "parents": [
        "66f9536e2cd3899a9dbbb740eff44ec0271787c3"
      ],
      "author": {
        "name": "aaronstgeorge-wf",
        "email": "aaron.stgeorge@workiva.com",
        "time": "Tue Mar 30 00:35:13 2021 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Mar 30 21:35:30 2021 +0200"
      },
      "message": "THRIFT-5383 TJSONProtocol Java readString throws on bounds check\nClient: java\nPatch: Aaron St. George\n\nThis closes #2366\n"
    },
    {
      "commit": "7ae1ec3f1eb3218f8b623232436bc986e3f1f5c8",
      "tree": "d055f1007d098444d839f588811922d6b7b6c92f",
      "parents": [
        "ebc2ab558dce946b2a3134028b08ed59d49cd1e3"
      ],
      "author": {
        "name": "David Mollitor",
        "email": "dmollitor@apache.org",
        "time": "Fri Oct 23 19:11:10 2020 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Feb 04 16:39:48 2021 +0100"
      },
      "message": "THRIFT-5297: Improve TThreadPoolServer Handling of Incoming Connections\nClient: Java\nPatch: David Mollitor\n\nThis closes #2266\n"
    },
    {
      "commit": "ebc2ab558dce946b2a3134028b08ed59d49cd1e3",
      "tree": "9d4cb03da8ad3135eb7301d357f1dd9e364ee85c",
      "parents": [
        "55016bff2b19f2c5d3c85ae9985c49527ffffabb"
      ],
      "author": {
        "name": "belugabehr",
        "email": "12578579+belugabehr@users.noreply.github.com",
        "time": "Thu Feb 04 09:14:11 2021 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Feb 04 09:14:11 2021 -0500"
      },
      "message": "THRIFT-5345: Allow the ServerContext to be Unwrapped Programmatically\n\nClient: Java\r\nPatch: David Mollitor"
    },
    {
      "commit": "6e6bb84be9d8ace4be9744d5637fbb59f58db463",
      "tree": "4bc659965da5d206e8d6326ed43d22225a75ddc5",
      "parents": [
        "47e4923a9967b6ba3bbb5377809075c1940ecfc1"
      ],
      "author": {
        "name": "David Mollitor",
        "email": "dmollitor@apache.org",
        "time": "Fri Oct 02 21:10:50 2020 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Nov 19 22:35:37 2020 +0100"
      },
      "message": "THRIFT-5288: Move Support for ByteBuffer into TTransport\nClient: Java\nPatch: David Mollitor\n\nThis closes #2254\n"
    },
    {
      "commit": "d89b427d19a07d556c8a6193e81bd1ed948ac5b5",
      "tree": "e2a40526680a4085368ad5719830e9a75e067b00",
      "parents": [
        "5751ddf2ac8df7845c88154a9cc498c46402730d"
      ],
      "author": {
        "name": "David Mollitor",
        "email": "dmollitor@apache.org",
        "time": "Fri Oct 02 11:44:59 2020 -0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Oct 04 22:18:13 2020 +0200"
      },
      "message": "THRIFT-5287: Log When Client Connections are Dropped\nClient: java\nPatch: David Mollitor\n\nThis closes #2253\n"
    },
    {
      "commit": "e29c39f921a45ecb87d0f628e2a9babbbc5adbf2",
      "tree": "cb1599526ffd62f369af60a4557b5d811bc048ac",
      "parents": [
        "25f8d5385f4f972fc125273c05e92592116c4606"
      ],
      "author": {
        "name": "David Mollitor",
        "email": "dmollitor@apache.org",
        "time": "Mon May 11 15:50:32 2020 -0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Sep 20 19:11:39 2020 +0200"
      },
      "message": "THRIFT-5203: Remove Unused toString Method in TSerializer\nClient: cpp\nPatch: David Mollitor\n\nThis closes #2138\n"
    },
    {
      "commit": "63213c17ad3fece91fdaaca8f59165ca3f41c5c1",
      "tree": "bbc363ae873a334e643ff9bb64863b5d76311b92",
      "parents": [
        "dd6c8c1069d74f47e81f47dc89285edf906a464e"
      ],
      "author": {
        "name": "zeshuai007",
        "email": "51382517@qq.com",
        "time": "Wed Sep 16 16:56:51 2020 +0800"
      },
      "committer": {
        "name": "zeshuai007",
        "email": "51382517@qq.com",
        "time": "Wed Sep 16 18:37:40 2020 +0800"
      },
      "message": "Implements TConfiguration for java\n"
    },
    {
      "commit": "eb45c2a1e48cc50f70298a34702fb365c61b489d",
      "tree": "53fcab0c8ebbdafe72ee483ea37ecd92ba288649",
      "parents": [
        "dd0918713d8b5db0a2cf9c3bd7141c2e252bd7e4"
      ],
      "author": {
        "name": "zeshuai007",
        "email": "51382517@qq.com",
        "time": "Mon Jul 06 16:53:47 2020 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jul 07 22:18:07 2020 +0200"
      },
      "message": "THRIFT-5247 Avoiding meaningless System.copy\nClient: java\nPatch: Zezeng Wang\n\nThis closes #2196\n"
    },
    {
      "commit": "dd0918713d8b5db0a2cf9c3bd7141c2e252bd7e4",
      "tree": "467aa993e108167b035343ed0c4f662e721f20b6",
      "parents": [
        "761a869e0508d2cf7975b040a6da54ae62a889b6"
      ],
      "author": {
        "name": "dugenkui",
        "email": "dugenkui@meituan.com",
        "time": "Sat Jul 04 01:33:39 2020 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Jul 03 23:36:13 2020 +0200"
      },
      "message": "Fix FrameWriter.java typo\nClient: java\nPatch: dugenkui \u003cdugenkui@meituan.com\u003e\n\nThis closes #2193\n"
    },
    {
      "commit": "0dd1363931ac1f9a531b48ded7f1178194fa4ef6",
      "tree": "50bb2f7982572fba20d249ef8f5679035372f4ec",
      "parents": [
        "86cc6f095c5943cb382e5ef0e5cf889c6e09bd86"
      ],
      "author": {
        "name": "dugenkui",
        "email": "dugenkui@meituan.com",
        "time": "Wed Apr 29 02:41:02 2020 +0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Jun 28 16:55:16 2020 +0200"
      },
      "message": "THRIFT-5190: StringUtils haven\u0027t take `(offset + length) \u003e bytes.length` into account\nClient: java\nPatch: dugenkui \u003cdugenkui@meituan.com\u003e\n\nThis closes #2125\n"
    },
    {
      "commit": "f8103c69eaaa23fe7fff4d8413240063b9ec56d2",
      "tree": "2ce00fa0913ed94f720b30d132c8949a7afdb7af",
      "parents": [
        "7de1f5d7f394b49624e7278937d7ff665bfc642a"
      ],
      "author": {
        "name": "David Mollitor",
        "email": "dmollitor@apache.org",
        "time": "Wed May 20 09:26:31 2020 -0400"
      },
      "committer": {
        "name": "David Mollitor",
        "email": "dmollitor@apache.org",
        "time": "Wed May 20 09:26:36 2020 -0400"
      },
      "message": "THRIFT-5202: TNonblockingMultiFetchClient Use SLF4J Parameterized Logging\nClient: java\nPatch: David Mollitor\n\nThis closes #2137\n\nUse SLF4J API to log full Exception details.  Use SLF4J parameterized logging instead of String format.\n"
    },
    {
      "commit": "47e9d8f13e5194e0f69cea3942c00b8e3ea6be9f",
      "tree": "85ec1557d510407851979c527b6a5df8dbd88aad",
      "parents": [
        "9b9567b23378c821b460cfe54b70b9d189bf194d"
      ],
      "author": {
        "name": "David Mollitor",
        "email": "dmollitor@apache.org",
        "time": "Mon May 11 10:26:37 2020 -0400"
      },
      "committer": {
        "name": "David Mollitor",
        "email": "dmollitor@apache.org",
        "time": "Mon May 11 10:30:17 2020 -0400"
      },
      "message": "THRIFT-5197: TSSLTransportFactory Do Not Wrap NOT_OPEN Exception Type for Client\nClient: java\nPatch: David Mollitor\n\nThis closes #2131\n\nThe class TSSLTransportFactory is wrapping TTransportExceptions, which have a particular \"type,\"\nin a type-less TTransportException and therefore the Exception type is lost.\n"
    },
    {
      "commit": "dfae5d7f4a66e747e56ecfa9f50817c2936e75c3",
      "tree": "b15cf298235f771a9222facc4291cd3571d2d5e9",
      "parents": [
        "6e2a6983ec95c7a64db3d219b9533af1c2b8c1a1",
        "24045b7211318b7b62dce83a7f0e962e20292f1b"
      ],
      "author": {
        "name": "Duru Can Celasun",
        "email": "can@dcc.im",
        "time": "Thu Dec 12 23:34:48 2019 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 12 23:34:48 2019 +0000"
      },
      "message": "THRIFT-4252: Close sockets when shut down server (#1905)\n\n* THRIFT-4252: Close sockets when shut down server\r\n\r\nIn TThreadPoolServer, threads are blocking in io with open sockets,\r\nas long as clients don\u0027t close the connection, server threads are\r\nnever stopped even after a shutdown is called on server (because\r\nthey are blocked waiting for io).\r\nTo be able to stop all server threads properly, server should\r\nproactively close sockets once a shutdown is initiated.\r\n\r\n* Fix indentation\r\n\r\nUse white space for indentation instead of tabulation.\r\n"
    },
    {
      "commit": "6e023df1ded255dda00eb4c041c201e66c8d1fbc",
      "tree": "74c1929da78b07685b2f816508ecd8ba156affb2",
      "parents": [
        "3a0e1fd356963ad3ac0648b9891d1f8ff326f6ce"
      ],
      "author": {
        "name": "Qinghui Xu",
        "email": "qinghui.xu@gmail.com",
        "time": "Thu Sep 19 23:04:03 2019 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Dec 10 23:57:35 2019 +0100"
      },
      "message": "THRIFT-4889 Nonblocking server with sasl support\nClient: Java\nPatch: Qinghui Xu\n\nThis closes #1892\n"
    },
    {
      "commit": "3a0e1fd356963ad3ac0648b9891d1f8ff326f6ce",
      "tree": "7e48133751e03a97e97081dba1c4a286794cb918",
      "parents": [
        "3d9f50d61728d377951f9b6df5f19196f6b3af46"
      ],
      "author": {
        "name": "Qinghui Xu",
        "email": "qinghui.xu@gmail.com",
        "time": "Wed Nov 13 10:52:43 2019 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Dec 10 23:25:15 2019 +0100"
      },
      "message": "THRIFT-5008: Improve TSaslTransport logging\nClient: Java\nPatch: Qinghui Xu\n\nThis closes #1931\n"
    },
    {
      "commit": "bf2cad9cfae28b602b5bb899e9becacee975057c",
      "tree": "b377d2ccd52f69c739eb9fd4df8de9acc8163486",
      "parents": [
        "622937162aeccf2a27d9196937ebf7ead40036f5"
      ],
      "author": {
        "name": "wineandcheeze",
        "email": "qinghui-xu@users.noreply.github.com",
        "time": "Mon Nov 25 22:40:52 2019 +0100"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Mon Nov 25 21:40:52 2019 +0000"
      },
      "message": "THRIFT-5031: Fix TIOStreamTransport javadoc\n\nClarify input/output only transport.\r\n\r\nClient: java\r\n\r\nThis closes #1948."
    },
    {
      "commit": "622937162aeccf2a27d9196937ebf7ead40036f5",
      "tree": "33fcebc6c2ee0fb368d7c71542f788bc50a80732",
      "parents": [
        "5080645cb0ffe52de9d82685b2ab2d6b03aa6f3e"
      ],
      "author": {
        "name": "Andy Seaborne",
        "email": "andy@apache.org",
        "time": "Mon Nov 25 09:58:52 2019 +0000"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Mon Nov 25 09:58:52 2019 +0000"
      },
      "message": "THRIFT-5022: Fix TIOStreamTransport.isOpen for input or output only use\n\nClient: java\r\n\r\nThis closes #1942."
    },
    {
      "commit": "24045b7211318b7b62dce83a7f0e962e20292f1b",
      "tree": "b80e6bff2da6d8be28f04df5b32e8153cf1f23b9",
      "parents": [
        "9cb1c794cd39cfb276771f8e52f0306eb8d462fd"
      ],
      "author": {
        "name": "Qinghui Xu",
        "email": "qinghui.xu@gmail.com",
        "time": "Mon Nov 04 10:21:47 2019 +0100"
      },
      "committer": {
        "name": "Qinghui Xu",
        "email": "qinghui.xu@gmail.com",
        "time": "Mon Nov 04 10:21:47 2019 +0100"
      },
      "message": "Fix indentation\n\nUse white space for indentation instead of tabulation.\n"
    },
    {
      "commit": "9cb1c794cd39cfb276771f8e52f0306eb8d462fd",
      "tree": "ff0c555e92ae830f5a9a2dedc36818650dc6e331",
      "parents": [
        "6e4c581fddae9106c2c5a59c4d0bfbe6ad3e4560"
      ],
      "author": {
        "name": "Qinghui Xu",
        "email": "qinghui.xu@gmail.com",
        "time": "Mon Oct 21 02:17:02 2019 +0200"
      },
      "committer": {
        "name": "Qinghui Xu",
        "email": "qinghui.xu@gmail.com",
        "time": "Wed Oct 23 20:45:33 2019 +0200"
      },
      "message": "THRIFT-4252: Close sockets when shut down server\n\nIn TThreadPoolServer, threads are blocking in io with open sockets,\nas long as clients don\u0027t close the connection, server threads are\nnever stopped even after a shutdown is called on server (because\nthey are blocked waiting for io).\nTo be able to stop all server threads properly, server should\nproactively close sockets once a shutdown is initiated.\n"
    },
    {
      "commit": "ab89b8b40ee593e344dafb6192fd6ef3b1357c8b",
      "tree": "e8e743c39870f313527919f25291621190cf94ce",
      "parents": [
        "85d8162dcbfd17db3bb8232a2dbb870dd9908cc4"
      ],
      "author": {
        "name": "wineandcheeze",
        "email": "qinghui-xu@users.noreply.github.com",
        "time": "Thu Oct 10 13:50:50 2019 +0200"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Thu Oct 10 12:50:50 2019 +0100"
      },
      "message": "THRIFT-2530: Fix TIOStreamTransport#isOpen\n\nisOpen should return false when close is called.\r\n\r\nClient: java\r\n\r\nThis closes #1878."
    },
    {
      "commit": "904f5619a9df6a8a3ac8f830e4dab7148c2d7777",
      "tree": "139c472196eb260d90a5352fb3702e4fa993c8f3",
      "parents": [
        "a152a0ad8898323c4f694cae586031d645eb8128"
      ],
      "author": {
        "name": "wineandcheeze",
        "email": "qinghui-xu@users.noreply.github.com",
        "time": "Wed Oct 09 10:27:23 2019 +0200"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Wed Oct 09 09:27:23 2019 +0100"
      },
      "message": "THRIFT-4858: Add error message to TTransportException\n\nWhen the socket is closed (EOF of the inputstream), currently\r\nTIOStreamTransport throws an TTransportException without message,\r\nthis is sometimes confusing for people maintaining a thrift server\r\n(eg. apache hive).\r\n\r\nClient: java\r\n\r\nThis closes #1876."
    },
    {
      "commit": "a152a0ad8898323c4f694cae586031d645eb8128",
      "tree": "6753d2fb38b54205df0b12a4493c9f17b3de8d9f",
      "parents": [
        "4fc4661c3043c7499c4682229418d62562ca45af"
      ],
      "author": {
        "name": "pengzhouhu",
        "email": "pengzhouhu@huawei.com",
        "time": "Wed Oct 09 06:18:30 2019 +0800"
      },
      "committer": {
        "name": "Duru Can Celasun",
        "email": "dcelasun@apache.org",
        "time": "Tue Oct 08 23:18:30 2019 +0100"
      },
      "message": "THRIFT-4945: Fix non-standard log output\n\nClient: java\r\n\r\nThis closes #1862."
    },
    {
      "commit": "286eee16b147a302ddc7b10740c5e5401ebbec17",
      "tree": "5a68732f751bbf12962d489012aee224ad231abf",
      "parents": [
        "234e80e1b9acb1bc778c7adfaa6cb695d922d5f0"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Wed Apr 17 09:33:58 2019 -0400"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Jul 08 13:07:04 2019 -0400"
      },
      "message": "THRIFT-4849: Do not Ignore InterruptedException\n"
    },
    {
      "commit": "c35ed736d26a1dfd8965ae197a67904ed9b4fba3",
      "tree": "7897dddefd05391bf0ccd2769dca320588f3d998",
      "parents": [
        "08a6eb6e1f21aa15682e414e124d7ee1a51a39c7"
      ],
      "author": {
        "name": "Mithun RK",
        "email": "mithunr@oath.com",
        "time": "Mon Mar 11 14:14:05 2019 -0700"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Jul 08 09:56:59 2019 -0400"
      },
      "message": "THRIFT-4805: Suppress excessive logging of SASL TTransportExceptions in case of END_OF_FILE\n\nTwo fixes here:\n\n1. Additional logic to properly catch and handle TTransportException.\n   Currently, T(SASL)TransportException gets caught and handled in\n   the wrong catch-block.\n2. The fix for THRIFT-3769 mutes _all_ TTransportExceptions in TThreadPoolServer.\n   This might mute legitimate failures. The intent of THRIFT-3769 (and\n   THRIFT-2268) was to mute the noise caused by TTransportException.END_OF_FILE.\n   This commit lets legitimate failures to be bubbled upwards.\n"
    },
    {
      "commit": "6b6a8279aba29a67f005f5e498e88519cdb85049",
      "tree": "183fbdc39f87cb6f7f3d69f2dc0624f86ff22af5",
      "parents": [
        "6ba58e9a662e9c61b63e1bff68b374d6bba848ce"
      ],
      "author": {
        "name": "Garret Wilson",
        "email": "garret@globalmentor.com",
        "time": "Fri May 03 13:12:16 2019 -0700"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon May 13 16:53:57 2019 -0400"
      },
      "message": "THRIFT-4857: Made Java TField class hash code consistent with equals.\n\nClient: java\n"
    },
    {
      "commit": "cc13de4f87bda658d138b4f9b47f55202be4ac51",
      "tree": "8e56945f89a21098131bc43009a2305a0163afc4",
      "parents": [
        "366cc3dee0f279b652644ae96b05fabd6fae2e06"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Wed Apr 17 11:00:53 2019 -0400"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 03 22:58:53 2019 +0200"
      },
      "message": "THRIFT-4851: Remove All Calls To printStackTrace\nClient: Java\nPatch: Beluga Behr \u003cdam6923@gmail.com\u003e\n\nThis closes #1783\n"
    },
    {
      "commit": "74a3e0923d9425fd0c3c854b770782148f91ec19",
      "tree": "29bc9e3186841e5fb76fd42554a981952fcb96d0",
      "parents": [
        "e44f6a9e06aa0ae42463a791357c0e5c18020c59"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Feb 07 19:33:52 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Feb 08 00:34:01 2019 -0500"
      },
      "message": "THRIFT-4779: fix exception type in TMultiplexedProcessor\n"
    },
    {
      "commit": "4a898564f936b39d45490f370737ce55d4c2b3f5",
      "tree": "23f862b0dac0a2ed20e73de125e3aa19e294afea",
      "parents": [
        "adde44b0f542c97dc7e9b2678be53705006c05e3"
      ],
      "author": {
        "name": "Qinghui Xu",
        "email": "q.xu@criteo.com",
        "time": "Wed Feb 06 16:12:07 2019 +0100"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Wed Feb 06 16:07:19 2019 -0500"
      },
      "message": "THRIFT-4773: Provide root cause for sasl negotiation failure\n\nClient: java\nThe error for sasl negotiation failure dropped the root cause, which makes troubleshooting sometimes difficult.\n"
    },
    {
      "commit": "e20ab3e2371803e69b321f13116e04a926ca39be",
      "tree": "4a7ccb62d6dce54e9fadd31c9fc3807ae8675ef0",
      "parents": [
        "4eac57abcfc5f6fb591d894fe446add243392557"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Sun Jan 06 15:08:58 2019 -0500"
      },
      "committer": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Mon Jan 14 11:22:02 2019 -0500"
      },
      "message": "THRIFT-4725: Change Return Type Signature of Process Methods\n"
    },
    {
      "commit": "93e8ec2d6a372cd6f68b7c11508ff7f8ea043f08",
      "tree": "3b0fd0dc577e9966692f9c98544345ce64e6c508",
      "parents": [
        "d2c6dc8e44e40a2b439a8aaadd224e2960a08f9e"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Sun Jan 06 15:20:02 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sun Jan 06 21:33:37 2019 -0500"
      },
      "message": "THRIFT-4726: Remove SLF4J Logging Guards\n"
    },
    {
      "commit": "d5324413664a44da1cbdf671e0fe00b8571c2b4b",
      "tree": "5b04456cf4e89d3fbbc3b1ed7956889290d49456",
      "parents": [
        "6503043bc42ab96da14c25f3aee2bb4add719774"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Fri Jan 04 10:30:32 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Jan 04 14:27:10 2019 -0500"
      },
      "message": "THRIFT-4368: Fix guaranteed NPE in TBaseAsyncProcessor.java\n\nwq# Please enter the commit message for your changes. Lines starting\n"
    },
    {
      "commit": "6503043bc42ab96da14c25f3aee2bb4add719774",
      "tree": "d59bdd83348b3069e44f08cb9fbd17fd1e88961a",
      "parents": [
        "88584f8469a1768f16f8477d0247a27d214a5ebc"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 03 00:01:18 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 03 22:04:36 2019 -0500"
      },
      "message": "THRIFT-4714: optimize java TFramedTransport to call write once per flush\n"
    },
    {
      "commit": "88584f8469a1768f16f8477d0247a27d214a5ebc",
      "tree": "9bf462f87362228279fba1b27215a2b2607e96b2",
      "parents": [
        "882d48da5d5db439c11029f46006c71f6429ae2c"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Tue Jan 01 16:35:04 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 03 18:55:36 2019 -0500"
      },
      "message": "THRIFT-4712: Improve Performance and Refactor ShortStack\n"
    },
    {
      "commit": "882d48da5d5db439c11029f46006c71f6429ae2c",
      "tree": "27048317c38704a678d2dc3a6902b76f6291531a",
      "parents": [
        "36ffe1e8dc5168ea683bb10896377eaffc057667"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Thu Jan 03 09:20:16 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 03 14:45:16 2019 -0500"
      },
      "message": "THRIFT-4481: TBinaryProtocol.writeMessageEnd does not allow throwable exception\n"
    },
    {
      "commit": "36ffe1e8dc5168ea683bb10896377eaffc057667",
      "tree": "f79ec0ee5f9f01fc73ffa29377b443800616d5e6",
      "parents": [
        "5abf58cf792466302d3c21d6b93ff50bb42d4c2f"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Wed Jan 02 19:24:33 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 03 07:23:45 2019 -0500"
      },
      "message": "THRIFT-4469: Make isServing volatile\n"
    },
    {
      "commit": "5abf58cf792466302d3c21d6b93ff50bb42d4c2f",
      "tree": "132d33b870e936d65f80238c69d4ace558adbb6a",
      "parents": [
        "9e813aeed2291a25fc965ba58944c3705b9d15c6"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Mon Dec 31 16:47:04 2018 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 03 00:10:15 2019 -0500"
      },
      "message": "THRIFT-4709: Use StandardCharsets UTF-8\n"
    },
    {
      "commit": "9e813aeed2291a25fc965ba58944c3705b9d15c6",
      "tree": "502c52780d67ac731c223d5e0fbfdb3a3fbda026",
      "parents": [
        "57516213cc3b17a38196b07282feb47144e5232f"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Mon Dec 31 10:58:19 2018 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Thu Jan 03 00:06:19 2019 -0500"
      },
      "message": "THRIFT-4702: Improve AutoExpandingBuffer\n"
    },
    {
      "commit": "1c6914d5c51da5a0a1d92453bfad549831f313d5",
      "tree": "c8e647c5065f2e83b35c9a88eb834f027be4d3d5",
      "parents": [
        "df9c60d38f0255ea08ea0a5aeba1abc4a0ccf04d"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Tue Jan 01 18:32:04 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Wed Jan 02 10:42:23 2019 -0500"
      },
      "message": "THRIFT-4713: Review of TBaseHelper\n"
    },
    {
      "commit": "df9c60d38f0255ea08ea0a5aeba1abc4a0ccf04d",
      "tree": "983e3300cf1a66befe82b717dcc49986349fb824",
      "parents": [
        "4c71660dab62f2ac08ab7d81b41053fdaf2cdeb9"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Tue Jan 01 14:43:23 2019 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Wed Jan 02 10:05:48 2019 -0500"
      },
      "message": "THRIFT-4711: Improve Immutable None Type Instantiation\n"
    },
    {
      "commit": "138a81d5b401b57ee4883879f94b10ba4f935453",
      "tree": "cbebeec45fbdd70f17a529b17f42b9dbfbb15a8a",
      "parents": [
        "e2109b914cefcf53f454586008a78cf19bbe8018"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Mon Dec 31 11:38:15 2018 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Dec 31 17:27:43 2018 -0500"
      },
      "message": "THRIFT-4704: Streamline TDeserializer Implementation\n"
    },
    {
      "commit": "bf51a9faf9942571cf1eea64ae260a9ced5c4598",
      "tree": "b51d1be3742dc8fecb8c5ad860dba196dbbf153f",
      "parents": [
        "75bac10dbd8d953bb2f556b7dcc3bdf7518e67a6"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Sun Dec 30 20:34:13 2018 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sun Dec 30 22:39:32 2018 -0500"
      },
      "message": "THRIFT-4695: Pre-Size Java Collections in Union\n"
    },
    {
      "commit": "3671b8bce9668d680c179db0ba38f7e4df0ff3e6",
      "tree": "06f7ca77549a484ca0a0fa5ccaff5bff2ac7fd1f",
      "parents": [
        "a139082755369611ed243376ec3c4161452369fc"
      ],
      "author": {
        "name": "Beluga Behr",
        "email": "dam6923@gmail.com",
        "time": "Sun Dec 30 20:25:00 2018 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Sun Dec 30 22:37:32 2018 -0500"
      },
      "message": "Use case-switch Statement Instead of if-else Clauses\n"
    },
    {
      "commit": "d566da7739c9aae63fe7fc9d267887fa73e5dda7",
      "tree": "022f3caac06ef1545e91bddb77b4473be3077ebc",
      "parents": [
        "eb31a6cd7e647e582c0e9efb5ad6b9e741932792"
      ],
      "author": {
        "name": "Naveen Gangam",
        "email": "ngangam@cloudera.com",
        "time": "Fri Oct 05 14:05:40 2018 -0700"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Oct 05 17:05:40 2018 -0400"
      },
      "message": "THRIFT-4494: Increase Java Socket Buffer Size (#1608)\n\n"
    },
    {
      "commit": "eb31a6cd7e647e582c0e9efb5ad6b9e741932792",
      "tree": "6097d83762b7b6d314cfcb267879ae3474ac00d6",
      "parents": [
        "6644a9ce1e0e57d8c3b754885168a59e0866f72f"
      ],
      "author": {
        "name": "Naveen Gangam",
        "email": "ngangam@cloudera.com",
        "time": "Fri Oct 05 14:05:07 2018 -0700"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Fri Oct 05 17:05:07 2018 -0400"
      },
      "message": "THRIFT-4499: Remove Magic Number In TFIleTransport (#1607)\n\n"
    },
    {
      "commit": "7db90771ac6bdbd7890e69ce8309fa650163a87c",
      "tree": "53302b82a9479eb948592d3ab79568d9c4268c21",
      "parents": [
        "edf8f0f2511e8eed3bb2129413307665ef4f4b79"
      ],
      "author": {
        "name": "nicaro",
        "email": "nicolasarogvi@gmail.com",
        "time": "Wed May 09 14:48:56 2018 +0200"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Wed May 09 08:48:56 2018 -0400"
      },
      "message": "THRIFT-4566: Pass message to rethrow exception (#1554)\n\nClient: java"
    },
    {
      "commit": "c7aa68bd59d1d3a1bbcb133fc986ff404d47b129",
      "tree": "5c97d410c5c21463c53c245cbdd6002afe612cd5",
      "parents": [
        "33fb1a3f0da71ba79e3156f7d0c169e7480fcf26"
      ],
      "author": {
        "name": "nicaro",
        "email": "nicolasarogvi@gmail.com",
        "time": "Tue May 01 15:07:50 2018 +0200"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Tue May 01 09:07:50 2018 -0400"
      },
      "message": "Thrift 4556: Optional rethrow of unhandled exceptions in java processor (#1544)\n\nClient: java"
    },
    {
      "commit": "33fb1a3f0da71ba79e3156f7d0c169e7480fcf26",
      "tree": "c05be80d12960527b0b1ef7206c25a7b85aaf851",
      "parents": [
        "ebf46314d73e6bbe02dd4059c5d2989c39e628f7"
      ],
      "author": {
        "name": "Vihang Karajgaonkar",
        "email": "vihang@cloudera.com",
        "time": "Fri Apr 13 11:32:20 2018 -0700"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Tue May 01 08:16:42 2018 -0400"
      },
      "message": "THRIFT-3769 : Fix logic of THRIFT-2268\n\nClient: java\n"
    },
    {
      "commit": "930428438c0b6c8f60560cbb7dcad79042badacb",
      "tree": "4edd4fecbb0faaa262003bb3fe73862341efd032",
      "parents": [
        "46fec417382a928e716a52b4ab6304febf797205"
      ],
      "author": {
        "name": "Manu Sridharan",
        "email": "msridhar@uber.com",
        "time": "Tue Mar 20 14:45:22 2018 -0700"
      },
      "committer": {
        "name": "D. Can Celasun",
        "email": "can@dcc.im",
        "time": "Thu Mar 29 14:53:36 2018 +0200"
      },
      "message": "THRIFT-4530: add @Nullable annotations to generated Java code\n\nUse our own `org.apache.thrift.annotations.Nullable` type to avoid\nintroducing a third-party dependency\n\nClient: java\n\nThis closes #1522.\n"
    },
    {
      "commit": "da9a9bac92550f676e170e600d4be24769e14835",
      "tree": "811a25af8fef89c1465268facb49792e8f1e4716",
      "parents": [
        "2b09dfed9c6b858571e7d8829a2b4a4bcda18d6a"
      ],
      "author": {
        "name": "Dmitry Volodin",
        "email": "dmvolod@gmail.com",
        "time": "Tue Jan 30 12:09:36 2018 +0300"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Tue Mar 13 13:49:55 2018 -0400"
      },
      "message": "THRIFT-4429: Make TThreadPoolServer.executorService_ available in\ninherited classes and refactor methods to be able customization\nClient: java\n\nThis closes #1485\n"
    },
    {
      "commit": "2bf03270bbead52344daa2252c517f0ccc0db040",
      "tree": "7e8105e8f6d7e5e85be9c76dbc26ace3e73b4b48",
      "parents": [
        "a02ae56f7faf8f747551f6e333d001f872769033"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Mar 12 15:35:34 2018 -0400"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Mar 12 18:37:14 2018 -0400"
      },
      "message": "THRIFT-4337: fix javadoc build error related to changes\n"
    },
    {
      "commit": "8678dfc78b54bd80b3b5bd098733f8bbdcc39150",
      "tree": "e0edd4e40cf1d68fa39248d78b852ade8fe67548",
      "parents": [
        "8bcb7ac2be2f28e5fddfe578645c2aaa98b94717"
      ],
      "author": {
        "name": "Dmitry Volodin",
        "email": "dmvolod@gmail.com",
        "time": "Tue Jan 30 18:59:41 2018 +0300"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Mar 12 08:03:54 2018 -0400"
      },
      "message": "THRIFT-4337: Able to set keyStore and trustStore as InputStream in the\nTSSLTransportFactory.TSSLTransportParameters\nClient: java\n\nThis closes #1486\n"
    },
    {
      "commit": "d973409661f820d80d72c0034d06a12348c8705e",
      "tree": "8a5db1517732dcdbf54f144d9133f1b64dfe171e",
      "parents": [
        "9e0c9272140ea91ea4b3f042d207acbbaa15c093"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Mar 05 11:34:21 2018 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Mon Mar 05 12:00:22 2018 -0500"
      },
      "message": "THRIFT-4506: fix use of assert for correctness in Java SASL negotiation\nClient: java\n"
    },
    {
      "commit": "7004a61e44fe538805b44c3fb66bd5cb872548d4",
      "tree": "51b717fe01b179397b28ff02e6115cc51eb0d224",
      "parents": [
        "f92493b8574a00830d665c5bfac7e0a8175bcb4f"
      ],
      "author": {
        "name": "Alex Volanis",
        "email": "alexvolanis@gmail.com",
        "time": "Wed Jan 24 10:30:13 2018 -0500"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Wed Jan 24 12:28:55 2018 -0500"
      },
      "message": "THRIFT-(1418|1507|3983|4120|4178|4259|4294): Multiple issues\nClient: java\n\nTHRIFT-4294: Java Configure Fails for Ant \u003e\u003d 1.10\nTHRIFT-4259: Thrift does not compile due to Ant Maven task errors\nTHRIFT-4178: Java libraries missing from package when using cmake\nTHRIFT-3983: libthrift is deployed on central with pom packaging\n             instead of jar\nTHRIFT-1507: Maven can\u0027t download resource from central when behind\n             a proxy and won\u0027t use local repository\nTHRIFT-1418: Compiling Thrift from source: Class\n             org.apache.tools.ant.taskdefs.ConditionTask doesn\u0027t\n             support the nested \"typefound\" element\n\nRefactor CMake install hook to allow using \"sudo make install/fast\"\nwhich avoids the THRIFT-1507 and THRIFT-1418 issues.\n\nNew Gradle based build system for Thrift Java Library\n\n* Add Gradle 4.4.1 Wrapper artifacts to enable builds\nUsing the Gradle Wrapper helps normalize the builds on all platforms\nso we use a consistent build tool independent of package managers.\n\nThe Gradle build logic was partitioned into multiple specific\nscripts to simplify understanding and maintenance of the build.\n\nThis is now hooked into CMake and Autoconf processing steps\nand can build/test/publish to Maven. The README.md was updated\nto illustrate the new build options and add some documentation\non the requirements for Maven publication.\n\nCleaned up the CMake files to reduce reliance on file globbing\nwhich is known to cause confusion when multiple users contribute.\n\n* Fix two minor issues in Javadoc and unit test\n\nReturn values were undeclared in Javadoc\nTest was asserting on the wrong test object instance\n\n* Create simple runner scripts for cross-check\n\nUsing Gradle as a java execution wrapper is too heavy.\nI simplified the test client/server execution by using a\nthree generated scripts in the build directory direcly\ncallable by the cross-check test harness.\n\n* Cleanup the remaining Ant build scripts\n\nPulled the Maven Ant task properties out of the Java build\nsince they are no longer used there.\nDeleted the no longer used build.xml and build.properties\nfiles from the Java build.\nMade each Ant build own the Maven Ant task details in their\nbuild.properties file.\n\n* Fix the build issue with Java SSL in the ubuntu-trusty container\n\nThe latest Trusty JDK7 builds seem to have encountered this issue\nbecause the OpenJDK removed the SunEC algorithms.\n\n* Update the developer info as requested in review\n\nUse the generic Apache Thrift developer list for contact information\n\n* Add Clover Code coverage for easy access by developers\n\nClover plugin for Gradle was applied and configured which enables\ncode coverage reports to be available on demand via a command line\noption. The documentation in the README.md was enhanced to give\nthe details of this change and how to take advantage of it.\n"
    },
    {
      "commit": "026c9d032c4a298ecb9edbcdfb52590facb442f3",
      "tree": "1b5c183c7092c98a70ba84dd7c4d024f876f95fa",
      "parents": [
        "1541f0a74d6b1f85b9658f8f65a46ed19b57f657"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 27 16:27:05 2016 +0900"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Thu Nov 30 12:43:26 2017 -0500"
      },
      "message": "THRIFT-3686 Java processor should report internal error on uncaught exception\nClient: java\n\nThis closes #904\nThis closes #1428\n"
    },
    {
      "commit": "847ecf3c1de8b297d6a29305b9f7871fcf609c36",
      "tree": "fd4600d29d5a8f22f9c81268b0d955b87535894a",
      "parents": [
        "a533ea1615e9df935e77b99440cf264c6b417e3e"
      ],
      "author": {
        "name": "itegel",
        "email": "itegel@gmail.com",
        "time": "Mon Oct 30 19:09:21 2017 +0800"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Thu Nov 02 05:53:09 2017 -0700"
      },
      "message": "THRIFT-4378: add set method for stopTimeoutUnit in TThreadPoolServer java lib\nmodify timeout unit in createDefaultExecutorService from hard coding to read from args\nClient: java\n\nThis closes #1409\n"
    },
    {
      "commit": "a39ba7f2946c08fa59dd0928e9c608a70ca52529",
      "tree": "ae3e059581945260d0c88cc9a152b656462ea978",
      "parents": [
        "e7611d0f3ed1704711f58ff45f331db6748dfbb5"
      ],
      "author": {
        "name": "christianc",
        "email": "christian.ciach@energymeteo.de",
        "time": "Tue Oct 24 09:25:20 2017 +0200"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Wed Oct 25 08:40:51 2017 -0400"
      },
      "message": "THRIFT-4362 check \"read length\" in readStringBody(int)\nClient: Java\n\nThis closes #1398\n"
    },
    {
      "commit": "9ce1fd9aee00e15abcd81b671594881ee9e1e5c3",
      "tree": "63e46349fbf0757944a2846a51eebcde69023a33",
      "parents": [
        "eb7b76d32c425f19d49d056d972cd20a9661a6d1"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Sat Sep 23 21:20:08 2017 -0700"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Sun Sep 24 05:59:35 2017 -0700"
      },
      "message": "THRIFT-4049, THRIFT-4053: when skipping, if field type is invalid, throw a\nprotocol exception of invalid data instead of doing nothing which could\ncause a loop\nClient: C++, java\n\nThis closes #1371\n"
    },
    {
      "commit": "28eb9d98efcdf64182f5ffc9b33cfd23b0cb28e1",
      "tree": "b228a90054a386770a525823e7828635f8e53d18",
      "parents": [
        "d3cda9c2f3930b11eeda52ca32bc8f1b08f9c147"
      ],
      "author": {
        "name": "Dmitry Volodin",
        "email": "dmvolod@gmail.com",
        "time": "Thu Sep 21 23:19:45 2017 +0300"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Thu Sep 21 14:55:50 2017 -0700"
      },
      "message": "THRIFT-4233: Make THsHaServer.invoker available (get method only) in inherited classes\nClient: hs\n\nThis closes #1366\n"
    },
    {
      "commit": "9ffb41d94c1c48c3b2a0ce8bdbd03d8b8f97195b",
      "tree": "5b29d0b59e68fb8113589a2ceca72ca5c5eb7330",
      "parents": [
        "8506121b3eaeca998ab562bd76ef8a1fbf2f36a4"
      ],
      "author": {
        "name": "Johnny-Liao",
        "email": "1020157***@qq.com",
        "time": "Tue Jul 25 14:23:28 2017 +0800"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Thu Sep 21 12:48:48 2017 -0700"
      },
      "message": "THRIFT-4251: Fix JDK Epoll Bug in Thrift of TThreadedSelectorServer model.\nClient: Java\n\nThis closes #1313\n"
    },
    {
      "commit": "d862c2fd7b379a52f0fe9e63220a785f4c2bcc20",
      "tree": "57d4f2223796368299e55ebd842ead0f153f6145",
      "parents": [
        "1b20b18ec0a4d8eeb7f40566df5ef45a50d697c8"
      ],
      "author": {
        "name": "gx9702",
        "email": "guoxu9702@sina.com",
        "time": "Fri Jun 16 14:09:48 2017 +0800"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Tue Sep 05 21:33:42 2017 -0700"
      },
      "message": "THRIFT-4316: fix read size in TByteBuffer.java\nClient: java\n\nThis closes #1290\n"
    },
    {
      "commit": "3966a56a877bf5df8fba8ad3076153a8261b901a",
      "tree": "52d0f338a0a69de7d1c82391b9a1f5dacab94dc8",
      "parents": [
        "224c334e50a553504385dd001dadf31f7346b30a"
      ],
      "author": {
        "name": "Roshan George",
        "email": "rgeorge@liveramp.com",
        "time": "Tue May 09 18:32:09 2017 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu May 11 01:26:22 2017 +0200"
      },
      "message": "THRIFT-4193 Lower the default maxReadBufferBytes for non-blocking servers\nClient: Java\nPatch: Roshan George \u003crgeorge@liveramp.com\u003e\n\nThis closes #1264\n"
    },
    {
      "commit": "6c08ac72c6ce9faf66bf28ee75cbb87413daa6aa",
      "tree": "d3d9f7c1b05df0108fb533082ce90608ca42d992",
      "parents": [
        "847fae9388048aa9e09d5ed042e34f5452638248"
      ],
      "author": {
        "name": "Jonathan Pearlin",
        "email": "jpearlin@newrelic.com",
        "time": "Sat Mar 11 09:46:03 2017 -0800"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Wed Mar 22 20:33:20 2017 -0400"
      },
      "message": "THRIFT-4130: Release connection back to managed pool.\nClient: C++\n\nThis closes #1212\n"
    },
    {
      "commit": "5038466e5e57b17b881684bae0e541408aafac0e",
      "tree": "4e82663091496a15cdfc8e389443cf5106e880e3",
      "parents": [
        "e2bc9727500584e055ce603bf95f00165c657ec2"
      ],
      "author": {
        "name": "Christopher Tubbs",
        "email": "ctubbsii@apache.org",
        "time": "Thu Feb 09 22:32:00 2017 -0500"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Feb 27 23:38:44 2017 -0500"
      },
      "message": "THRIFT-1805 Provide option for handling RTEs\nClient: Java\n\nAdds a Java option to the generator to generate code which lets Thrift\nhandle RuntimeExceptions from a service, and present them as\nTApplicationException to the client.\n\nThis closes #1186\n"
    },
    {
      "commit": "400b346db2510fffa06c0ced11105e3618ce5367",
      "tree": "969a4bd4747ecb7017102b746f05dc5c062aecd4",
      "parents": [
        "736075d2ac9ff4a449a3446320c270d864f8e616"
      ],
      "author": {
        "name": "Aleksey Pesternikov",
        "email": "ap@alekseys-mbp.att.net",
        "time": "Thu May 01 13:58:18 2014 -0700"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Sat Feb 18 13:58:21 2017 -0500"
      },
      "message": "THRIFT-2504: Add default processor to java multiplexed processor to handle older clients\nClient: Java\n\nThis closes #114\nThis closes #1195\n"
    },
    {
      "commit": "a3d6be906b339ce4e55e8fb8d98ff11480792949",
      "tree": "639e8c3803b2184e4098dffa08fed5385cf9806c",
      "parents": [
        "de9c330b24c9190078eefb68c864d2a41a4dee07"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Sat Feb 04 00:23:55 2017 -0500"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Sat Feb 04 00:23:55 2017 -0500"
      },
      "message": "THRIFT-4068 fix comment in java server socket code\nClient: Java\nPatch: pigbrain \u003chyundong.lee@nhnent.com\u003e\n\nThis closes #1177\n"
    },
    {
      "commit": "34bd992bc3104517062482ec837d4b49d33963ef",
      "tree": "232a9fd28ae6092b2b7311cbf4376cb29c33393a",
      "parents": [
        "feea47852c50f502139952b7fa96cc71c45690bf"
      ],
      "author": {
        "name": "Tom Davis",
        "email": "tom@recursivedream.com",
        "time": "Tue Jan 31 12:01:50 2017 -0500"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Jan 31 21:31:58 2017 +0100"
      },
      "message": "THRIFT-4062 Remove debug print from TServiceClient\nClient: Java\nPatch: Tom Davis \u003ctom@recursivedream.com\u003e\n\nThis closes #1173\n"
    },
    {
      "commit": "de3e17ad39a57163a42ab89d559356f4cee27c4a",
      "tree": "bc51a87e3025fe6f14102a0e58572e6d1d362046",
      "parents": [
        "988b3e9bde9ef687dd09311c9842c8a5bf24e608"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Fri Jan 27 23:36:31 2017 -0500"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Fri Jan 27 23:36:31 2017 -0500"
      },
      "message": "THRIFT-3854 add a way in java to clear TFramedTransport read buffers\nClient: Java\nPatch: Chris Lockfort \u003cclockfort@palantir.com\u003e\n\nThis closes #1164\nThis closes #1081\n"
    },
    {
      "commit": "55f976e0decefb284b0f0a459745dd57f038ab4f",
      "tree": "c3d12b4ffaecc7026ff8dc0fdca9a36a83b8cc0d",
      "parents": [
        "330b3f814a33ab8a740fca4da29106bd7e219b1d"
      ],
      "author": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Jan 23 09:06:27 2017 -0500"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Mon Jan 23 09:06:27 2017 -0500"
      },
      "message": "THRIFT-4040 Add real cause of TNonblockingServerSocket error to exception\nClient: Java\nPatch: Dmitry Roenko \u003csavraz@gmail.com\u003e\n\nThis closes #1116\n"
    },
    {
      "commit": "84d6af4cf903571319e0ebddd7beb12bc93fb752",
      "tree": "66f275cbd40e011ed1039e4217b5d230616b912f",
      "parents": [
        "2a89bd94ac4ba8c645cad1e0c01606fdac6dc30b"
      ],
      "author": {
        "name": "Gary Gregory",
        "email": "ggregory@apache.org",
        "time": "Thu Nov 17 13:15:51 2016 -0800"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Nov 19 16:56:31 2016 +0100"
      },
      "message": "THRIFT-3964 Unsupported mechanism type ????? due to dependency on default OS-dependent charset\nClient: Java\nPatch: Gary Gregory \u003cggregory@apache.org\u003e\n\nThis closes #1134\n"
    },
    {
      "commit": "b0dadbde6aad1f5a09d47e3d1f2c713c76cd915f",
      "tree": "18da187626cad0832b0a102c3db40ba4b3e47d08",
      "parents": [
        "b413703eef78a3557ca6a1df073ad1eaecb4a936"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Oct 01 22:38:55 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Oct 03 01:04:31 2016 +0900"
      },
      "message": "THRIFT-3902 TFramedTransport.open throws NullPointerException\n\nThis closes #1105\n"
    },
    {
      "commit": "400ae6e76e07ec929125c1d78b11541eeb254de2",
      "tree": "259c557b6b51414cf63fdec995218b5d94971ba9",
      "parents": [
        "e134cbc6ff797c061332ecfae697e807832e1682"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Mar 18 22:27:38 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Mar 18 23:53:41 2016 +0900"
      },
      "message": "THRIFT-3449 TBaseAsyncProcessor fb.responseReady() never called for oneway functions\n"
    },
    {
      "commit": "1d4a4393c9a9396ec76c3ba674e0d6a65fe39cc1",
      "tree": "f515527eef851e446d3ba30af6c38a83156b4e56",
      "parents": [
        "b3a42dd050db2657a589b7b73e3d121211649fe5"
      ],
      "author": {
        "name": "Tyler Treat",
        "email": "tyler.treat@webfilings.com",
        "time": "Mon Mar 14 13:27:54 2016 -0500"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Mar 18 22:37:02 2016 +0900"
      },
      "message": "THRIFT-3743 Java JSON protocol left in incorrect state when an exception is thrown during read or write operations\n\nThis closes #952\n"
    },
    {
      "commit": "b3a42dd050db2657a589b7b73e3d121211649fe5",
      "tree": "9cf59eeba09eadee31c3dd1df430f9107fa5a559",
      "parents": [
        "a8765276d80fa86d258fa323cfd30bfcf22a0d67"
      ],
      "author": {
        "name": "Josh Elser",
        "email": "josh.elser@gmail.com",
        "time": "Tue Dec 08 13:32:55 2015 -0500"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Mar 18 22:37:02 2016 +0900"
      },
      "message": "THRIFT-3479 Avoid returning a message to a client on TException.\n"
    },
    {
      "commit": "a8765276d80fa86d258fa323cfd30bfcf22a0d67",
      "tree": "c0327e4345e6509992936a004ffd187bcf949e25",
      "parents": [
        "c3072227c06c570135741b625db612aaccff67b3"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 27 16:04:30 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Mar 18 22:35:39 2016 +0900"
      },
      "message": "THRIFT-3680 Java async processor fails to notify errors to clients\n\nThis closes #903\n"
    },
    {
      "commit": "c3072227c06c570135741b625db612aaccff67b3",
      "tree": "3c80a0e7dee216875d7c0d3fbfc55f1954a257bb",
      "parents": [
        "bd964c7f3460c308161cb6eb90583874a7d8d848"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 27 16:03:21 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Mar 18 22:34:38 2016 +0900"
      },
      "message": "Follow-up THRIFT-3112: key.cancel when error\n"
    },
    {
      "commit": "bd964c7f3460c308161cb6eb90583874a7d8d848",
      "tree": "9f8518aa4fd7b5bbad898ddbeaf4c0387a91076f",
      "parents": [
        "a4f96403210566bd1e76fee9b6e40412ff014e0a"
      ],
      "author": {
        "name": "John Sirois",
        "email": "jsirois@apache.org",
        "time": "Mon Feb 08 13:04:36 2016 -0700"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Mar 18 22:33:38 2016 +0900"
      },
      "message": "THRIFT-3112 [Java] AsyncMethodCallback should be typed in generated AsyncIface\n\nThe parametrization brings the existing actual parametrization with\nclient call implementation objects to the fore and so this change\nalso fixes that parametrization to be a simple parametrization over\nthe return type as is done in the server-side AsyncProcessor code.\n\nNB: This is a breaking change in both generated code and the client\nlibs.\n\nThis closes #840\n"
    },
    {
      "commit": "3b4c5fadfda3dfeef7ee3901b5bb64563a0f1a0c",
      "tree": "6e4a1a9024e2f3a02e0c9cf5ed53a9d536266e1f",
      "parents": [
        "aa7d0d5f2a9e8b201e8d0f5a37f420b9846e4625"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 27 03:06:23 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sat Feb 27 16:55:55 2016 +0900"
      },
      "message": "THRIFT-3678 Fix javadoc errors on JDK 8\nClient: Java\nPatch: Nobuaki Sukegawa\n\nThis closes #898\n"
    },
    {
      "commit": "949e242ec8099e616e464ee7dce8d14e516b2519",
      "tree": "8047e870fbaaa9e7e6ca8a363d6b90c167b30b3b",
      "parents": [
        "919752ca2fa7e64f8854729aebbd91d4cbd50a57"
      ],
      "author": {
        "name": "Roshan George",
        "email": "roshan@arjie.com",
        "time": "Fri Apr 17 00:46:02 2015 -0700"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Sun Feb 14 22:47:19 2016 +0900"
      },
      "message": "THRIFT-2877 Generate hashCode using primitives and static utility methods\nClient: Java\nAuthor: Roshan George \u003croshan@arjie.com\u003e\n\nThe TBaseHelper.hashCode methods are the Java 8 implementations of hashCode for\nthose types.\n\nThis closes #448\n"
    },
    {
      "commit": "3bf3ebfec390e45c1c5d42a654085360a76504b9",
      "tree": "1ac0efb996669f9185fbe1e13ad2ed43fe66016d",
      "parents": [
        "f8ca05528e04a24b9f843c82c6600e4de5e42291"
      ],
      "author": {
        "name": "Marc Breslow",
        "email": "marc.breslow@devfactory.com",
        "time": "Mon Jan 25 22:17:16 2016 -0500"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Jan 28 23:05:03 2016 +0100"
      },
      "message": "THRIFT-2157 generated code would cause ClassCastException\nClient: Java\nPatch: Marc Breslow \u003cmarc.breslow@devfactory.com\u003e\n\nThis closes #822\n"
    },
    {
      "commit": "fc07084ada3d788f31beb22ffc6eac73415b843d",
      "tree": "36a3b7eb8113ffea7b7189bf2bb8a95c62a32d8b",
      "parents": [
        "7b545b57200ab960894e873716862cafbf9321f0"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Jan 11 14:18:06 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Wed Jan 13 20:25:26 2016 +0900"
      },
      "message": "THRIFT-3542 Add length limit support to Java test server\n\nThis closes #788\n"
    },
    {
      "commit": "4f6138b7a2762f1937b49389f72b348736973e22",
      "tree": "4effc33e0562983d1b4e93bbc00015d23b17cac6",
      "parents": [
        "9d0f752abcd7b9435c245371d74a2086006a6417"
      ],
      "author": {
        "name": "Tom Lee",
        "email": "github@tomlee.co",
        "time": "Thu Dec 10 00:10:30 2015 -0800"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Dec 11 00:18:01 2015 +0900"
      },
      "message": "THRIFT-3484 Consolidate temporary buffers in Java\u0027s TCompactProtocol\nClient: Java\nPatch: Tom Lee\n\nThis closes #738\n"
    }
  ],
  "next": "9d0f752abcd7b9435c245371d74a2086006a6417"
}
