)]}'
{
  "log": [
    {
      "commit": "8ae80a7f8466e5c340388fcb1d797dc3779d9f80",
      "tree": "aa33c18523bf959c928eef3d5043ec2f78489ca1",
      "parents": [
        "261cad3417841a47d3f8caf46f344f0af7d41511"
      ],
      "author": {
        "name": "Grégoire Seux",
        "email": "g.seux@criteo.com",
        "time": "Thu Nov 07 11:33:58 2019 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Nov 21 22:43:21 2019 +0100"
      },
      "message": "THRIFT-4999: Raise proper exception on transport error\nClient: ruby\nPatch: Grégoire Seux\n\nThis closes #1924\n\nBefore this patch, any error on the http layer was ignored and usually\nseen by the user as ProtocolException instead of TransportException\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": "9aaf295806d32eab5715b4f0681f7da9b64c1fa5",
      "tree": "1cfd4bc12341047a2e21da783e79437365a2ff57",
      "parents": [
        "22bd3450c6e97e348d64fb6a75171e8ced79d1e4"
      ],
      "author": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Tue Mar 20 15:06:08 2018 -0400"
      },
      "committer": {
        "name": "James E. King III",
        "email": "jking@apache.org",
        "time": "Wed Mar 21 01:02:11 2018 -0400"
      },
      "message": "THRIFT-4358: add unix domain socket option to ruby cross tests\nClient: rb\n\nThis closes #1513\n"
    },
    {
      "commit": "9a745aa4a9ac1098f0ea584d0f4e85ca1f04c964",
      "tree": "c361e8f92e51d305689e6f2ccf65473cc573ff47",
      "parents": [
        "5862099f371388b0d1c0cc8beb43efb17e017a99"
      ],
      "author": {
        "name": "Sho Nakatani",
        "email": "lay.sakura@gmail.com",
        "time": "Fri Apr 14 23:08:37 2017 +0900"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat May 13 00:28:32 2017 +0200"
      },
      "message": "THRIFT-4198 Ruby should log Thrift internal errors to global logger\nClient: Ruby\nPatch: Sho Nakatani \u003clay.sakura@gmail.com\u003e\n\nThis closes #1252\n"
    },
    {
      "commit": "117a5cca77c3994a62e0287f703232af44a48d9f",
      "tree": "5ce80bd8fac9417a551bf75b0021fe9315930ec6",
      "parents": [
        "5c3de6d3d28b94650486d8ae337af56c94e9e442"
      ],
      "author": {
        "name": "Jim Apple",
        "email": "jbapple-impala@apache.org",
        "time": "Wed Mar 29 20:39:36 2017 -0700"
      },
      "committer": {
        "name": "James E. King, III",
        "email": "jking@apache.org",
        "time": "Sat Apr 01 10:51:48 2017 -0400"
      },
      "message": "THRIFT-4138: Remove undefined behavior imported from Boost\nClient: C++\n\nThere is undefined behavior in boost::lexical_cast that was fixed in\nhttps://github.com/boostorg/lexical_cast/issues/21, but that fix is\nonly available in recent Boost releases. This patch removes all uses\nof lexical_cast instead.\n\nThat removes the last undefined behavior, so this patch also makes\nubsan.sh unconditionally fail on undefined behavior.\n\nThis closes #1232\n"
    },
    {
      "commit": "eacbd65f1d5aaae6cd2a4cdac89ffbba049f3558",
      "tree": "e394d3022111fa2d2e3ec8da665131338b9db936",
      "parents": [
        "a400c690eb4dc79b0dd89d7f159931487c856dae"
      ],
      "author": {
        "name": "John Thomas",
        "email": "thomas07@vt.edu",
        "time": "Tue Jul 12 08:06:19 2016 -0700"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Mon Sep 26 01:42:02 2016 +0900"
      },
      "message": "Ensuring that HTTP failures will clear the http transport outbuf var\n\nThis closes #1048\n"
    },
    {
      "commit": "04e6f62c8fc68a1e846544c45943aad76934ce56",
      "tree": "de87e5c9682ac231b2b273b8c9e5855f1a403e40",
      "parents": [
        "311c98455a9cb9070e9dad86a28f9c3ecbdf0a01"
      ],
      "author": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Sep 20 15:27:54 2016 -0400"
      },
      "committer": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Sep 20 15:27:54 2016 -0400"
      },
      "message": "THRIFT-1108: SSL support for the Ruby library\nClient: ruby\nPatch: Mansi Nahar\n\nAdd ssl support to ruby lib.\n"
    },
    {
      "commit": "e1e09c7967aa7149ae291de9da744142e67a3806",
      "tree": "d221f213e348677db69e0fa7509355ac7628b8c6",
      "parents": [
        "0433d171f6722c47944caee6b81e8ed8c57be60a"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Thu Feb 18 01:03:07 2016 +0900"
      },
      "committer": {
        "name": "Nobuaki Sukegawa",
        "email": "nsuke@apache.org",
        "time": "Fri Feb 19 01:06:05 2016 +0900"
      },
      "message": "THRIFT-3641 Ruby client should try to connect to every result of getaddrinfo\nClient: Ruby\nPatch: Nobuaki Sukegawa\n\nThis closes #872\n"
    },
    {
      "commit": "8cd519f7a3b9436ae95049ee4299441306bdeb5c",
      "tree": "1c7ac1b21749e6ad1c8d1e8e1bb28df8527d0cae",
      "parents": [
        "56e5b9b01b5a033306d583cd2aec07a0dda3c9f5"
      ],
      "author": {
        "name": "Nobuaki Sukegawa",
        "email": "nsukeg@gmail.com",
        "time": "Sat Oct 10 01:52:13 2015 +0900"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Oct 11 00:18:02 2015 +0200"
      },
      "message": "THRIFT-3374 Ruby TJSONProtocol fails to unescape string values\n\nThis closes #640\n"
    },
    {
      "commit": "123258ba60facd8581d868c71a543487b2acff3c",
      "tree": "5470f572ed148f86eff5280e80f17ceaa48ff2be",
      "parents": [
        "96409d9dfecd8213726ee83ff1ac40695f8eeeec"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 02 00:38:17 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Oct 02 00:38:17 2015 +0200"
      },
      "message": "THRIFT-3364 Fix ruby binary field encoding in TJSONProtocol\nClient: Ruby\nPatch: Nobuaki Sukegawa \u003cnsukeg@gmail.com\u003e\n\nThis closes #633\n"
    },
    {
      "commit": "b9257395509bc6fbcc2f77e0f9237e39f7ec1a7d",
      "tree": "d3e2947e03e5bc1c0994ea6804a8845f08dfb40a",
      "parents": [
        "ff4a8edd50621fb6aab7dbbf6968d4322700ed7d"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Sep 21 22:36:45 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Sep 21 22:36:45 2015 +0200"
      },
      "message": "THRIFT-3335 Ruby server does not handle processor exception\nClient: Ruby\nPatch: Nobuaki Sukegawa \u003cnsukeg@gmail.com\u003e\n\nThis closes #612\n"
    },
    {
      "commit": "56d38fb913791f7df476471d3c0294849140964a",
      "tree": "4524eb28f89a84a29e5a7a1f3586e76947cafa2b",
      "parents": [
        "401d399ed0ceefebced795d450c61f5099a18ce1"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Jun 01 22:01:09 2015 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Jun 01 22:01:09 2015 +0200"
      },
      "message": "THRIFT-3176 ruby: Union incorrectly implements \u003d\u003d\n\nPatch: István Karaszi\n"
    },
    {
      "commit": "8ffabb02c2c07aee575149ad3a2043520ef82b85",
      "tree": "88f64abd82ea437c7be5b760e709146ab0fd67ce",
      "parents": [
        "434edf6d5d5f9705c1ebf3f711fd7e1b8efbb40d"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Apr 03 14:26:10 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Apr 03 14:31:27 2015 +0200"
      },
      "message": "THRIFT-1125 Multiplexing support for the Ruby Library\nClient: Ruby\nPatch: André Aizim Kelmanson \u003cakelmanson@gmail.com\u003e\n\nThis closes #406\n"
    },
    {
      "commit": "05d64b4e3bcac81b31b89a2db2255edd72b783a8",
      "tree": "00c3288ee210db45ae7f7d1a6ed4ee662b03178a",
      "parents": [
        "1ff4a97a45a78e4afe88660927fb798c18336f7d"
      ],
      "author": {
        "name": "Konrad Grochowski",
        "email": "hcorg@minions.org.pl",
        "time": "Tue Sep 16 19:39:19 2014 +0200"
      },
      "committer": {
        "name": "Konrad Grochowski",
        "email": "hcorg@apache.org",
        "time": "Mon Sep 29 22:08:58 2014 +0200"
      },
      "message": "THRIFT-2707: rb - support for oneway messages fixed\n\nClient: Ruby Library, Ruby Compiler\nPatch: Konrad Grochowski\n\nnow oneway method calls will use proper message type\n\nThis closes #217\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": "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": "1fb6847473169e2abfdd4b241ad4f2341842e8b1",
      "tree": "f52920d206511d30a31ad481970f4cd6368f84f3",
      "parents": [
        "4d1b0eac7ddea3d1de59477723958106b6d0209f"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Dec 26 18:55:33 2013 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Dec 26 19:01:20 2013 +0100"
      },
      "message": "THRIFT-2299 TJsonProtocol implementation for Ruby does not allow for both possible slash (solidus) encodings\n\nPatch: Jens Geyer\n"
    },
    {
      "commit": "cba92b308f894ef02b89c23ea6179faff6138772",
      "tree": "d5b1e10c764f456b63e5984b5dbe769a6555997a",
      "parents": [
        "f35975b67fc57fbb7c3b1bb43c09b646558be454"
      ],
      "author": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Mon Nov 25 13:30:41 2013 -0500"
      },
      "committer": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Mon Nov 25 13:30:41 2013 -0500"
      },
      "message": "THRIFT-2145:Rack and Thin are not just development dependencies\nClient: rb\nPatch: Nick Sieger\n\nThe rack and thin gems should be specified as full dependencies, not just development dependencies.\n"
    },
    {
      "commit": "3bb141d3689f0778af3dcf3218cfe760c36803bc",
      "tree": "43ebb183201f25d4e3ba5240617aaf37b0ec967d",
      "parents": [
        "1bb0ed88f240641a090edb075592ef2ca9ee80c5"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Aug 14 21:33:16 2013 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Wed Aug 14 21:33:53 2013 +0200"
      },
      "message": "THRIFT-2036 Thrift gem warns about class variable access from top level\n\nPatch: Takuya Hashimoto \u0026 Keith Barrette\n"
    },
    {
      "commit": "fbb78a65897ff40a7a40daa1b90aef5e23789827",
      "tree": "6dffd7cb90c6ead2a1b7b92e61d9ed9559f02942",
      "parents": [
        "d3c71827f87cc25a6469af5fd8f30e38454832e1"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Mon May 27 22:01:36 2013 -0400"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Mon May 27 22:01:36 2013 -0400"
      },
      "message": "Thrift-1978: Ruby: Thrift should allow for the SSL verify mode to be set\nClient: rb\nPatch: Timur Alperovich\n\nRuby SSL verify mode cannot be specified, which means thrift cannot be used against servers with self-signed certificates over SSL. The suggested fix is to expose the SSL verification mode as a constructor argument in lib/rb/lib/thrift/transport/http_client_transport.rb.\n"
    },
    {
      "commit": "073f9eb9b920bda948b306ee16e78743e42b7cd1",
      "tree": "0a1ddf53bb36127d023e2c2445e3d8df0f6b7f23",
      "parents": [
        "04f83112f6a84d5f572921990adf4b122e15d377"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Mon Mar 04 20:59:38 2013 -0500"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Mon Mar 04 20:59:38 2013 -0500"
      },
      "message": "Thrift-1629:Ruby 1.9 Compatibility during Thrift configure, make, install\nClient: Ruby\nPatch: Nick Zalabak\n\nUpdated ruby client to use thin serber over mongrel.\n"
    },
    {
      "commit": "772b2b1804252c76142be5a025a0f48e19c0c792",
      "tree": "95e0c50486d927ce6d67042b0929553af89ce01e",
      "parents": [
        "a1e36f6ee59e0502c1a5f759e4d43c2dbc4c6542"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Jan 19 21:04:12 2013 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Jan 19 21:04:12 2013 +0100"
      },
      "message": "THRIFT-1789 fix json protocol read set begin\nPatch: Kevin Radloff\n"
    },
    {
      "commit": "19dbbefcc183abce5f502aadc83fc86b7edb90c7",
      "tree": "9ef1d96342a796d6f377c2b56c455a787a53edd7",
      "parents": [
        "f089f8ee5f9ec70fdf8eb401d6844d05d7927cd5"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Thu Dec 27 01:24:20 2012 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Thu Dec 27 01:24:20 2012 +0100"
      },
      "message": "THRIFT-1766 [Ruby] Provide support for binary types\nPatch: Nathan Beyer\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": "b5a18a150ee73003ab760f85023e5fcb3625c8e5",
      "tree": "7a721c8263485511291e94d877aef54f5b5c71ea",
      "parents": [
        "fc35612d1dba14b47dadfed1c354f4d20be63e03"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Oct 09 01:10:43 2012 +0000"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Oct 09 01:10:43 2012 +0000"
      },
      "message": "Thrift-1023:Thrift encoding (UTF-8) issue with Ruby 1.9.2\nClient: rb\nPatch: Nathan Beyer \n\nFixes encoding issue for UTF-8 strings in ruby client.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1395832 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c34d7d75fb4f383182f1fab70cb18c6da9b662e3",
      "tree": "ba248d4a80c0fa88d9c3e344334648f6b8b7a222",
      "parents": [
        "a87810ff4b4fb75ccb83e4720169422a77939527"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Fri Sep 28 11:25:42 2012 +0000"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Fri Sep 28 11:25:42 2012 +0000"
      },
      "message": "THRIFT-1591: Enable TCP_NODELAY for ruby gem\nClient: rb\nPatch: Christos Trochalakis\n\nSet TCP_NODELAY for client socket for ruby lib\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1391399 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a30930f67708892316bdd6946b13862be4769b2c",
      "tree": "86db086e0a2e380a0a93e7a186dbb31550ee94f2",
      "parents": [
        "dd16f0538b14109a8ecc710bccd5c02cfa18b313"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 18:08:58 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri May 11 18:08:58 2012 +0000"
      },
      "message": "THRIFT-1599 Fixing HTTP client(Ruby)\nPatch: Tomas\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1337323 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6f0f52758381643ac80172d2c53c00e00c898a8e",
      "tree": "96be41d9c1ead706747a3d8e4d3469868cd07320",
      "parents": [
        "c00d83b26a4ae5211e2e7a92c6b8c377aded7b4e"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Jan 31 03:39:30 2012 +0000"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Jan 31 03:39:30 2012 +0000"
      },
      "message": "THRIFT-1510:There should be an implementation of the JsonProtocol for ruby\nClient: ruby\nPatch: Wim Crols\n\nJSON impl for ruby\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1238144 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3371925d1804e6b7a4e94ef928ea897ded5e09fb",
      "tree": "db5ba440b6eb3359120ddcc150d01108bd439fd4",
      "parents": [
        "6e96965fdb19755489c0d35dee6d7fe868477b55"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Dec 13 18:33:15 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Dec 13 18:33:15 2011 +0000"
      },
      "message": "THRIFT-1449. rb: Ruby client does not work on solaris (?)\n\nThis patch adds a new argument to the socket calls that seems to fix the problems while not causing any detriment to non-Solaris systems.\n\nPatch: Erik Hetzner\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1213837 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e80a194c473e94f90b30919da29cbe9b4542e244",
      "tree": "16f539b1ba856b1b9f3a9b92687c1fadf4d737b4",
      "parents": [
        "7e3b866a3558411e99986144061339c21f6125c0"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 20 18:45:56 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 20 18:45:56 2011 +0000"
      },
      "message": "THRIFT-1331. rb: Ruby library deserializes an empty map to nil\n\nThis patch properly detects when the metadata is omitted in Compact Protocol messages.\n\nPatch: Armaan Sarkar\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1173300 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": "472f9e190c982454642e4edeca49b136722b27ef",
      "tree": "bb5594f70acb78752f5a9ad0695b8ea58f23e058",
      "parents": [
        "bb267d48e0934d486e4276d90326e385495cc2ec"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Aug 02 10:55:47 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Tue Aug 02 10:55:47 2011 +0000"
      },
      "message": "THRIFT-1252 Segfault in Ruby deserializer\nPatch: Ilya Maykov\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1153093 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ad0ad824d2fb8c68b77e4a8a982225cf879f878d",
      "tree": "ebc2723be52dc2a0f8c2e4f5b10bcbf0ab570812",
      "parents": [
        "82dc2e2e96807965ea6061c0da973b5313195608"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Jun 28 18:46:03 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Jun 28 18:46:03 2011 +0000"
      },
      "message": "THRIFT-1189. rb: Ruby deserializer speed improvements\n\nThis patch gives the Ruby deserialization stack a healthy performance boost.\n\nPatch: Ilya Maykov\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1140780 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d1df20a20d1f23321bfdd9ca06ab03a71ceba51d",
      "tree": "d796a9f6d2e90a573d4bc216d4ee136d17883cb9",
      "parents": [
        "6e292e5bfa4f06b63eb39afb266eeda6807250fc"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 15 20:52:57 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 15 20:52:57 2011 +0000"
      },
      "message": "THRIFT-418. rb: Don\u0027t do runtime sorting of struct fields\n\nA simpler version of the already-committed patch.\n\nPatch: Ilya Maykov\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1136189 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "df8a0e6fca0dd0513a1b89a2feaf03f9a0056416",
      "tree": "e711dc61ce954e064b3c0e147a877e06fca8fd98",
      "parents": [
        "af7804e29acc0d8a092e092f6b9e057afbc343ff"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jun 09 22:46:28 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jun 09 22:46:28 2011 +0000"
      },
      "message": "THRIFT-418. rb: Don\u0027t do runtime sorting of struct fields\n\n\nPatch: Ilya Maykov\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1134122 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b7c69711e70e1337d0587ac3b50b283ca860a19d",
      "tree": "9cd87ad5391189ec8512eb0546afbe6361297d2f",
      "parents": [
        "63c2d378c53ab7340466495b49451e68a7411c6c"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 08 22:53:11 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 08 22:53:11 2011 +0000"
      },
      "message": "THRIFT-1193. rb: Potential infinite loop in nonblocking_server\n\nPatch: Ilya Maykov\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1133593 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5218cc17427b81bcadbc9bc32e56ef6a4755e92e",
      "tree": "b0d89ee5d50a6259e5d64be5a4e5b18dfc9049f9",
      "parents": [
        "fb1412d916a68dd4aa249cd93b793e4dcfebda0c"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 01 17:43:39 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 01 17:43:39 2011 +0000"
      },
      "message": "THRIFT-1187. rb: nonblocking_server shutdown race under Ruby 1.9\n\nThis patch fixes a shutdown error that occurs under ruby 1.9.2\n\nPatch: Ilya Maykov\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1130242 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fb1412d916a68dd4aa249cd93b793e4dcfebda0c",
      "tree": "091d409f46cd170c7d7af1406c1942eba8f83464",
      "parents": [
        "5075a196770acda37ad75c23913f3d49973db35a"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 01 17:23:33 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 01 17:23:33 2011 +0000"
      },
      "message": "THRIFT-1183. rb: Pure-ruby CompactProtocol raises ArgumentError when deserializing under Ruby 1.9\n\nUse #ord to ensure we get back an int\n\nPatch: Ilya Maykov\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1130236 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "911d2f1576197fbc4cc0f6b98c0fd5998400f906",
      "tree": "80950cf0e8461278d12863b2e5ff66296a9a56d8",
      "parents": [
        "b94b5514b54581cc207cfcbeea352c050de68e67"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue May 31 20:03:29 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue May 31 20:03:29 2011 +0000"
      },
      "message": "THRIFT-1182. rb: Native deserializer segfaults on incorrect list element type\n\nThis patch causes both the pure ruby and native extension code paths to check if the data in lists, sets, and maps is of the expected type before deserlizing it. When it\u0027s not the right type, it now skips the bad data correctly.\n\nPatch: Ilya Maykov\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1129892 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5671a55f8e974828fde5ce212b6c518bb4c3ebea",
      "tree": "9ec2ca741408f09bdb19de770d669df158c89866",
      "parents": [
        "6b38cf68058c335a55b62752ccb126263df34cbb"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Apr 18 17:29:06 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Apr 18 17:29:06 2011 +0000"
      },
      "message": "THRIFT-1149. ruby: Nonblocking server fails when client connection is reset\n\nIn some situations, a disconnecting client could cause the nonblocking server to trip on an exception and take the whole server down. This patch rescues such errors and cleans up only the disconnected client.\n\nPatch: Alex\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1094667 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6a1fb17a25ce7b52b7c5e396adf86ceb96606d64",
      "tree": "df7f8cca3980f6da2d22f6151a33c4c51b50b296",
      "parents": [
        "1237dcb099a068f83f31cc51df428f5c828d0511"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 21 16:30:58 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 21 16:30:58 2010 +0000"
      },
      "message": "THRIFT-909. rb: allow block argument to struct constructor\n\nThis patch allows the user to pass a block to generated structs\u0027 constructors. The block will receive and instance of the new object.\n\nPatch: Michael Stockton\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@999487 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "83c47958707956a8812b2c5c91a4550f874cb055",
      "tree": "45ce71e9b34d618c29e42b04fc4eb399842f6db9",
      "parents": [
        "d920765c66472d0011a7c6b3c8ce612317fa3801"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Sep 17 20:17:21 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Sep 17 20:17:21 2010 +0000"
      },
      "message": "THRIFT-899. rb: Ruby read timeouts can sometimes be 2x what they should be\n\nThis patch makes sure that we don\u0027t wait longer than necessary for timeouts.\n\nPatch: Ryan King\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@998303 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7e9ac7bf593a71b05b0879ddc34aaf82509052bb",
      "tree": "13ae5fb8f8fca741c02fc120db65a36479c06b3e",
      "parents": [
        "ea67a78377e7434cb750b6e7a1072e3729c8109f"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Aug 09 15:25:34 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Aug 09 15:25:34 2010 +0000"
      },
      "message": "rb: Make MemoryTransport\u0027s inspect_buffer method work in Ruby 1.9\n\nPatch: Rajesh Malepati\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@983680 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ad776c14256b3dd0b8d3ff6d466416c3f7f1f642",
      "tree": "efa94d2013dd5eeff9dc544bc366033232efb7a4",
      "parents": [
        "d74ca156b3aaff49abca1b52461235031ef522b9"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 05 22:12:01 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 05 22:12:01 2010 +0000"
      },
      "message": "THRIFT-811. rb: http_client_transport.rb: allow custom http headers\n\nAllows setting of custom http headers in http_client_transport.rb \n\nPatch: Tony Kamenick\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@982804 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3e60fa6a54ecdd4b30df74e35ff64dbfd81a549c",
      "tree": "61d0f58f4faa9de65fdbe7e5895310d8969335fb",
      "parents": [
        "4e7cf25b9574eb439b329070fd57e854948144df"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 02 18:34:00 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 02 18:34:00 2010 +0000"
      },
      "message": "THRIFT-720. rb: HTTPClientTransport ignores url parameters\n\nThis patch causes the url parameters to be sent as expected. Patch by Tony Kamenick.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@918137 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "205e4500f9212ee3689fd973ca4e7b4886d2ed1d",
      "tree": "3d608cbc308f10325ea64a52857ed3b8169f2285",
      "parents": [
        "39dadd6656d0cf009e8fdef42db9eea108cb6bb9"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 18 23:19:42 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 18 23:19:42 2010 +0000"
      },
      "message": "THRIFT-553. rb: thrift structs should be comparable (\u003c\u003d\u003e)\nThis patch adds the spaceship operator to the struct and union base classes, enabling object comparisons between objects without regenerating code.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911644 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "39dadd6656d0cf009e8fdef42db9eea108cb6bb9",
      "tree": "58acd6527f377ad11660db7d3415aa90fb6942ab",
      "parents": [
        "0e4920c6b892ef46ae491fb1c65157ee6aab1367"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 18 22:00:45 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 18 22:00:45 2010 +0000"
      },
      "message": "THRIFT-712. rb: Inspect should print binary fields as hex instead of escaped string\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911610 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0e4920c6b892ef46ae491fb1c65157ee6aab1367",
      "tree": "ea29c136b62147ed20558badea98c4478bf8f867",
      "parents": [
        "becaf536211a699f1fb936752262fdb7bcd36126"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 18 20:28:27 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 18 20:28:27 2010 +0000"
      },
      "message": "THRIFT-708. rb: Is set checking methods\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911557 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3d03c527dfec72d10f885b3060ffdc35faa2cfb7",
      "tree": "fad863700dcdc9493357e3582376d0715b2ae545",
      "parents": [
        "25b851af36d9260a18ffbf1494e572b54ce6d426"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 18 17:42:06 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 18 17:42:06 2010 +0000"
      },
      "message": "THRIFT-709. Print enum value names in Ruby\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911500 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5af64f03464b927bdc329065b24a063c02fe8412",
      "tree": "35b1d05dca0514e0d91eb7ba6a4a866ffe7730b5",
      "parents": [
        "cd43a06405c806d7ff928262da29703cde7e764f"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 17 22:27:27 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 17 22:27:27 2010 +0000"
      },
      "message": "THRIFT-707. Support old-style constructors for Union structs\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911199 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "33e190cd150c326ac833c435f975c2e737cff74f",
      "tree": "1c0006c1547eaf0024ebd152518cb5a1541a6be4",
      "parents": [
        "322caa2f9289e8174069dbac1f8d7949e1130af6"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 16 21:19:01 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 16 21:19:01 2010 +0000"
      },
      "message": "THRIFT-697. Union support in Ruby\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@910700 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8d41b643f9bb670f18404260fbe124c0cabb5360",
      "tree": "b5595e39c95f7872e90e7df2ff5c864489cad454",
      "parents": [
        "62fb2ed1fea45f3193a0b295e5ef7f910a70cd6a"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:30:40 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:30:40 2010 +0000"
      },
      "message": "THRIFT-604: rb: nonblocking_server assumes that socket.read returns exactly one message\n\nThis patch causes every message currently in the buffer to be processed before going on.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@899725 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "35565a4719679523779d946420992bde33a4987c",
      "tree": "6ed14b92463c081d5a5c7f65231d74254f0ce4a6",
      "parents": [
        "3076fb8d791a07d6f4933bcfb7875ef0d27cb70e"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jan 06 23:12:09 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jan 06 23:12:09 2010 +0000"
      },
      "message": "THRIFT-671. rb: Ruby compact protocol implementation gets mixed up when there are fields that don\u0027t fit in the delta space\n\nThis patch adds a test and a fix for the problem.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@896712 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "53ae9f39d5118d9b13774413e7989b9f0fb1a8eb",
      "tree": "5cc5f76a2afed365f70f366994e255dbda59235c",
      "parents": [
        "f5dea4c7f31703cdc0c347eb7ec429fc5864afb4"
      ],
      "author": {
        "name": "Todd Lipcon",
        "email": "todd@apache.org",
        "time": "Mon Dec 07 00:42:38 2009 +0000"
      },
      "committer": {
        "name": "Todd Lipcon",
        "email": "todd@apache.org",
        "time": "Mon Dec 07 00:42:38 2009 +0000"
      },
      "message": "THRIFT-622. Add appropriate licensing information to get Thrift ready for a release.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@887812 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "293086cacc60f24d45359ed93c5ec224562b4ddd",
      "tree": "6e7769ceab3cc1d8a16e7dd3cc4143c23adcb7ac",
      "parents": [
        "ccae88473962261d28d1ef56dd05637ca1445df6"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jul 31 18:53:14 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jul 31 18:53:14 2009 +0000"
      },
      "message": "THRIFT-547. rb: Thrift deserializer hangs when deserializing empty string\n\nThrift::MemoryBuffer will now throw an EOFError when it cannot fulfill a request for data. \n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@799696 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2fb877a794ce3df3eb488926f991e210f419ebf6",
      "tree": "4705289332d137390920c6e915d47d31d151d972",
      "parents": [
        "9e347410049ea20bf69f5fcf79d36d89e44f6121"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri May 29 20:18:58 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri May 29 20:18:58 2009 +0000"
      },
      "message": "THRIFT-511. rb: Better performing hash method for generated structs\n\nThis patch uses a hash function that takes into account the hashes of struct elements, instead of just returning 0. This make hashes of Thrift structs O(1) instead of O(n).\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@780094 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d1d1542e1e307756f7637de0d759d9fc02677a93",
      "tree": "e4e906515afe79e8ce5388b854b39f2ac166acfa",
      "parents": [
        "cf8c94acb4ca63d92b73fda6351b6a8f315f4895"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Apr 04 00:58:03 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Apr 04 00:58:03 2009 +0000"
      },
      "message": "THRIFT-276. rb: Ruby libraries should have one class per file\n\nThis monster of a patch moves all the classes into their own files and specs as appropriate. Additionally, it concentrates all the requires into thrift.rb, removing the need to require any other file. (Changes were made to the compiler to reflect this reduced requirement.)\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761849 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": "8852720e70e77669fa5ffff494dd641f6fff06f2",
      "tree": "960f0dd2a22e76af135b4cf10ff3b0217ffa638a",
      "parents": [
        "e211393964cc1083ec0cc11d3ccf6f1666bfd521"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Mar 26 18:41:44 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Mar 26 18:41:44 2009 +0000"
      },
      "message": "THRIFT-372. rb: Ruby lib doesn\u0027t rescue properly from lack of native_thrift extension\n\nThis patch adds a new thrift/thrift_native.rb which should be the require point for application users. It also removes some unnecessary code from a few files and cleans up requires in some specs.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@758794 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "264e9426b9647bb4cc8956128c4e6d687fa831da",
      "tree": "46e2e6a844afc9317d7eaf6070c470c8f3b54f07",
      "parents": [
        "d1c86825585a33b42309979c6014460e1930bc9d"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Mar 26 03:46:58 2009 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Mar 26 03:46:58 2009 +0000"
      },
      "message": "THRIFT-401. rb: Speed up FramedTransport\n\nAuthor: Tyler Kovacs\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@758510 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e3ab50d0f300da7aa3bf018de805fa154afeb53f",
      "tree": "8a19d2666e67a477b202edbed1a72a85db3fe9a3",
      "parents": [
        "d73255d1acfd83ca65d3293a0d6a6c8f25c834f4"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Mar 25 21:06:53 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Mar 25 21:06:53 2009 +0000"
      },
      "message": "THRIFT-374. rb: ruby 1.9 compatibility\n\nThis patch updates the thrift_native package to use 1.9 compatible macros and fixes the pure ruby stuff to behave equally well in ruby1.8.6-ruby1.9.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@758435 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e8ae5d3728de07e880d6477db0f63ed9a7c65415",
      "tree": "3b55ef7506d405e597aaf053d78b1dd00f279c2f",
      "parents": [
        "127d01cb0635dcf9c4650c00ef822b9f6bd7be85"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 24 05:23:52 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 24 05:23:52 2009 +0000"
      },
      "message": "THRIFT-275. rb: Remove deprecated classes from Ruby library\n\nThis patch removes all the deprecation stuff and the t*.rb classes that were only placeholders. In addition, I\u0027ve changed the implementations of some \"abstract\" methods to throw NotImplementedError instead of returning nil, and fixed the test accordingly. Finally, I removed the no longer required borrow and consume methods from all the transport implementations that had them. (Borrow and consume have been supplanted by the thrift_native package.) \n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@757668 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6e26d3d9d21c9da91f9d71b8c72147e947939ac0",
      "tree": "6956b3245444425aed20f90921d019e109cb98fd",
      "parents": [
        "74c3de61a1e08e8c2491d9c90a3f2e53c307b344"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Mar 23 23:36:16 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Mar 23 23:36:16 2009 +0000"
      },
      "message": "THRIFT-396. rb: BinaryProtocol missing method implementations\n\nAdded missing implementations of write_struct_begin and read_struct_begin to BinaryProtocol.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@757599 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "916f353f9f9577d48c764e856bef9b6ba41a7550",
      "tree": "e98b1b50e6637a45948c5d1216b0722db99bd604",
      "parents": [
        "ab4460dc974586407cb3d9382e6b079c8449a8ca"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Mar 20 04:21:39 2009 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Mar 20 04:21:39 2009 +0000"
      },
      "message": "Add Apache headers to Ruby libs and remove a few remaining Facebook notices\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@756322 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ae0631a844968eefd10aa00863b0c26fc1f54b83",
      "tree": "028fa5294da782406ee3eea387c72da42342e370",
      "parents": [
        "1f804a80c2d677b8d7aa3f60f6146b7246a55edf"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Mar 20 01:49:53 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Mar 20 01:49:53 2009 +0000"
      },
      "message": "THRIFT-260. rb: Some Protocol methods shouldn\u0027t have default nil implementations\n\nThis patch makes most of the methods in Thrift::Protocol throw NotImplementedExceptions.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@756293 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d815c218c8c48ab7bd930aa0ea8913bc9b2ce872",
      "tree": "6344fafd1300682cd8a6822d19dc380c6a412fe1",
      "parents": [
        "00a8dd633c4ebdd2536b70901343d0beb36da0f1"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Mar 19 18:57:43 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Mar 19 18:57:43 2009 +0000"
      },
      "message": "THRIFT-332. rb: Compact Protocol in Ruby\n\nThis patch includes both a pure Ruby and C-extension port of the Compact Protocol described in THRIFT-110. It also fixes a bug in struct.c that was interfering with native protocol method calls, and adds some utility classes to the Java library for serializing/deserializing to a file for the purpose of testing protocols cross-language.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@756133 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "11727d2445573eab9fa86824ffcde9a3f5441b46",
      "tree": "8156bf75ee6b46b2b4accb5f37ba7c3b5f3abec2",
      "parents": [
        "97592b40b1ae6d00911ab5e76dd951b011c63863"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Mar 18 02:40:54 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Mar 18 02:40:54 2009 +0000"
      },
      "message": "THRIFT-277. rb: Abstract Transport in Ruby #read method should throw NotImplementedException\n\nThe name says it all.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@755460 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3637645c9e2804fdca98c9ac70786c40efec07c2",
      "tree": "3742c3d5f98b7e3b5a01cf9e4528f2915816a43c",
      "parents": [
        "f4d6fa408ff8a6d52e69fe9a1d26f94822fc4576"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Sat Mar 07 00:03:15 2009 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Sat Mar 07 00:03:15 2009 +0000"
      },
      "message": "THRIFT-229. rb: Don\u0027t block indefinitely on connect()\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@751142 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ead3382915e3e50845a2c6d0acdd75dc00dd3be3",
      "tree": "a681e6bf0013713f137d95269a08bd1562667f90",
      "parents": [
        "80a44e7e82533d79e0ee664819004a60591809e9"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Feb 04 22:43:59 2009 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Feb 04 22:43:59 2009 +0000"
      },
      "message": "THRIFT-254. rb: Add optional strict version support to binary protocols\n\nAuthor: Michael Stockton\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740930 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "dc9092ab1a2953c282b1add4a2500467eb9e3c9d",
      "tree": "0130011c7ab95829b6592b9e2da1ebbfcbf4ed00",
      "parents": [
        "c016628a8a05aecefb3718e74a04a6e59882d537"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 03 00:31:55 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 03 00:31:55 2009 +0000"
      },
      "message": "THRIFT-298. ruby: Exception propagation seems broken for Ruby clients\n\nThis patch fixes the problem. How is anyone\u0027s guess, but we\u0027ll simplify all this code in the future.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@740161 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c016628a8a05aecefb3718e74a04a6e59882d537",
      "tree": "6c7db6eeb00678ffcbf93056c77f4ee41479b091",
      "parents": [
        "056bcb69477a12381bdb007debf55e654c1be257"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Feb 02 00:48:17 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Feb 02 00:48:17 2009 +0000"
      },
      "message": "THRIFT-248. ruby: Factor BinaryProtocolAccelerated into separate protocol and struct components\n\nThis patch replaces the \"binaryprotocolaccelerated\" c extension with the \"thrift_native\" c extension. This new extension creates native implementations for the struct.rb #write and #read methods, Thrift::BinaryProtocol, and Thrift::MemoryBuffer, but keeps ruby-level interfaces, allowing all protocols to benefit from the struct code and the memory buffer. There is however an additional cost associated with going through this ruby layer, but the increased interoperability seems to be well worth it.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739895 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d6b7182df59ae7cb1849c36b5d9513fce681ce35",
      "tree": "1102c15a46d9ee4d84c0fb5889f4b5a84a3a44f9",
      "parents": [
        "41baeaba96302e480265542340532842bc5ab0c9"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jan 06 01:34:28 2009 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jan 06 01:34:28 2009 +0000"
      },
      "message": "THRIFT-246. rb: Generate #struct_fields rather than reflect.\n\nAuthor: Bryan Duxbury\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731806 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bcb4cf83e56ecbe5167d8c6ae79248c35020afe4",
      "tree": "e37266af7c256d1c50d2cb69f9cc5870e5cccf1b",
      "parents": [
        "8eaebfedc12bfc95ba3069bf99fe73375b1f8152"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Mon Jan 05 23:00:22 2009 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Mon Jan 05 23:00:22 2009 +0000"
      },
      "message": "THRFIT-231. rb: Make Thrift::Structs hashable\n\nAuthor: Bryan Duxbury\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731760 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "083c07a26579e685bd62b085471f8720ef0aa822",
      "tree": "f599d8544c562823b19d3bde019329cf6b8d02f6",
      "parents": [
        "a2309996679350a249beeac34efd65ff703f5b23"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Sat Dec 13 02:39:20 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Sat Dec 13 02:39:20 2008 +0000"
      },
      "message": "rb: Thrift.check_type should check struct classes [THRIFT-185]\n\nAuthor: Piotr Kozikowski\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@726156 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1d5a1f6500c0c40fe3ba06b7a63ed02b16675f45",
      "tree": "2b1b3dd9eae49805b3202c44d938a1a67a5b1380",
      "parents": [
        "031baf70860ade4096953d1c0838408ca0ecee96"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Nov 19 23:24:12 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Nov 19 23:24:12 2008 +0000"
      },
      "message": "rb: Remove extra validate in read [THRIFT-207]\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719126 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "031baf70860ade4096953d1c0838408ca0ecee96",
      "tree": "a6186c6273cfe4c995e5b9ab5d64bef5ba8647e0",
      "parents": [
        "713623bee6105f6b8ee946cecde4dd98847f6a2b"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Nov 14 17:11:39 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Nov 14 17:11:39 2008 +0000"
      },
      "message": "Merge branch \u0027THRIFT-143\u0027\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@714070 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "713623bee6105f6b8ee946cecde4dd98847f6a2b",
      "tree": "7b8c4e2716818bccd9b48cc4ad68840523dd35a7",
      "parents": [
        "159383f789651150ae33748d7d68ef22108d614c"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Nov 14 17:09:52 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Nov 14 17:09:52 2008 +0000"
      },
      "message": "rb: Validate struct _after_ read. [THRIFT-206]\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@714069 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "159383f789651150ae33748d7d68ef22108d614c",
      "tree": "6d32b537b0d184dbe054fe13b474a16bff90faf1",
      "parents": [
        "74421273ad97359402556428f23afacfe31ce978"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Nov 11 05:46:04 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Nov 11 05:46:04 2008 +0000"
      },
      "message": "rb: raise if an object is serialized without required fields [THRIFT-143]\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@712945 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "762e9bd15f84e8dc45eec60308a0519be3bdda9a",
      "tree": "8e73a824e671b268ecb35461e07a4bfa158d0c0c",
      "parents": [
        "cfca336fad004b6a41b13d02b3f1da86d2e7cae0"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Oct 31 00:39:20 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Oct 31 00:39:20 2008 +0000"
      },
      "message": "rb: Performance tweaks in Struct#initialize [THRIFT-188]\n\nAuthor: Bryan Duxbury\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@709313 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c2485608976036d50b0066018f8d3dbb80291f6c",
      "tree": "d4981b425cafc97edd9fcb023819dedc337331aa",
      "parents": [
        "4f1bbc7e8a28cdc1621f6cc9627a7cbd5cc74546"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Oct 15 19:06:18 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Oct 15 19:06:18 2008 +0000"
      },
      "message": "rb: Support SSL and correct Content-Type in HTTPClient [THRIFT-156]\n\nAuthor: Dave Engberg\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@704994 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5ad6d4a7e35dc8f7078529e8e8004eb90dae31e9",
      "tree": "ad3f6f3bd21dd508fcee9d8dad0643e9a4d3d09e",
      "parents": [
        "969c04b912c774e6f9c6f0f3356b8eff5b5947b4"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Aug 26 20:02:07 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Aug 26 20:02:07 2008 +0000"
      },
      "message": "rb: Add pretty inspect, optional field hint for Thrift::Struct\n\nAuthor: Bryan Duxbury\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@689193 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "969c04b912c774e6f9c6f0f3356b8eff5b5947b4",
      "tree": "0daeba4e1e4992d6e5ca23052cc37905e71d3b84",
      "parents": [
        "38a2ce635de89fe2e3686e04b8f146c853c4bfa0"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Mon Aug 25 22:16:45 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Mon Aug 25 22:16:45 2008 +0000"
      },
      "message": "rb: Add FramedTransport#borrow/consume! [THRIFT-117]\n\nThis addition makes FramedTransport BinaryProtocolAccelerated ready.\n\nAuthor: Bryan Duxbury\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@688901 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "38a2ce635de89fe2e3686e04b8f146c853c4bfa0",
      "tree": "99ecbb4f7c570e14cd4c835a1a68777535d26a3d",
      "parents": [
        "14fe791ef36d84a16abdafd67d87ff85e8780924"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Mon Aug 25 21:34:19 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Mon Aug 25 21:34:19 2008 +0000"
      },
      "message": "rb: Speed up Struct#initialize for optional fields [THRFIT-112]\n\nStruct#initialize previously walked over every field and checked for\ndefault values before assigning nil. The new approach assigns defaults\nonly to fields that have defaults, and lets Ruby handle nil ivars.\n\nAuthor: Bryan Duxbury\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@688891 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a2693c135edef13a5f4816921c26cf1c33f025ce",
      "tree": "e7bc708cf3df5fd260cb539e67ae1f6b1f5e5405",
      "parents": [
        "e29995e75be58281975def90935c5894e3eb98c7"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Aug 01 22:04:09 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Aug 01 22:04:09 2008 +0000"
      },
      "message": "rb: Check container elements when Thrift.type_checking \u003d true [THRIFT-104]\n\nAuthor: Kevin Ballard \u003ckevin@rapleaf.com\u003e\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@681863 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3af9287a743b6c8a4964032059dd67d6c9e023fc",
      "tree": "71b0fb76500bbbf14bafe5c7e8671ff212776f0e",
      "parents": [
        "c8190174dc638f5b60dc19785c8beca04d0ac7af"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Mon Jul 28 22:20:36 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Mon Jul 28 22:20:36 2008 +0000"
      },
      "message": "rb: Support `raise Xception, message` for Structs that inherit from ::Exception [THRIFT-58]\n\nAuthor: Kevin Ballard \u003ckevin@rapleaf.com\u003e\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@680542 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5ebb23b3e11dbae53afc395336b165455e1ff12c",
      "tree": "22a51e1b23824ef5bd1a29ab43d1f5617a413b3b",
      "parents": [
        "1f5ce50186de5dcd753b68d8a80428dd4913ba75"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Mon Jul 28 22:16:28 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Mon Jul 28 22:16:28 2008 +0000"
      },
      "message": "rb: Ensure the transport is closed if an exception is raised serializing data in Client.send_message [THRIFT-75]\n\nAuthor: Kevin Ballard \u003ckevin@rapleaf.com\u003e\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@680538 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f4e700883b943775233b75770a12fd7affa9ef31",
      "tree": "d0a70d388da362ce8300ad69ff85670fa975538c",
      "parents": [
        "b58633945386f0a879d8da58b271fe1bf0de3cd5"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Jul 18 22:27:03 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Jul 18 22:27:03 2008 +0000"
      },
      "message": "rb: Improve IOStreamTransport to behave more like a real transport [THRIFT-76]\n\nAuthor: Kevin Ballard \u003ckevin@rapleaf.com\u003e\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@678065 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b58633945386f0a879d8da58b271fe1bf0de3cd5",
      "tree": "e98df0b16acd694d8185492b092bae01c7cda4c4",
      "parents": [
        "8d1918be78aa932dc398b7f51c83dc03ca04d920"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Jul 18 22:03:48 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Jul 18 22:03:48 2008 +0000"
      },
      "message": "rb: Display field name in type-checking error [THRIFT-78]\n\nAuthor: Kevin Ballard \u003ckevin@rapleaf.com\u003e\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@678059 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5ae0bab24791b48caab35a820be19567134f1256",
      "tree": "3f0102c321876cd3a91837c2ec4a2eaced95db89",
      "parents": [
        "1931b12be037fe3e0e70f09510497aa78e2b586a"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Jul 18 21:49:50 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Jul 18 21:49:50 2008 +0000"
      },
      "message": "rb: Add optional timeout argument to Thrift::Socket [THRIFT-74]\n\nSocket.new and UNIXSocket.new both now have a new optional argument: timeout.\nThere\u0027s also a timeout field accessor. This timeout is used when reading or\nwriting.\n\nAuthor: Kevin Ballard \u003ckevin@rapleaf.com\u003e\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@678053 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "615da249957987b39887eb12abe887ad6c883114",
      "tree": "e869ed10faac8cc79278159c952a18e80b2d0fe5",
      "parents": [
        "bf2ff249b97b31822cb02c4850dae15966b70a6f"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jul 08 23:30:13 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jul 08 23:30:13 2008 +0000"
      },
      "message": "rb: Check Thrift.type_checking earlier for a performance boost [THRIFT-55]\n\nAuthor: Kevin Ballard \u003ckevin@rapleaf.com\u003e\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@675053 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bf2ff249b97b31822cb02c4850dae15966b70a6f",
      "tree": "ca46f98ac1552800237e6b5ed436945b354922eb",
      "parents": [
        "4bd8916b1257378f8173c4ada41b4606e9c0226b"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jul 08 23:20:15 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jul 08 23:20:15 2008 +0000"
      },
      "message": "rb: Buffer the slice!s in MemoryBuffer for a significant performance increase [THRIFT-63]\n\nAuthor: Kevin Ballard \u003ckevin@rapleaf.com\u003e\n\nCurrently it buffers up to 4kB before throwing away the data.\nTests with 1MB shows the exact same performance characteristics.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@675049 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4bd8916b1257378f8173c4ada41b4606e9c0226b",
      "tree": "a43f051132e33d3ed07e3412b8777c3c08a75e6d",
      "parents": [
        "af78778acd7fb551a84aaf63e604d969123bf85d"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jul 08 00:47:49 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jul 08 00:47:49 2008 +0000"
      },
      "message": "Merge branch \u0027fastbinary\u0027\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@674688 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "28744ab833688ffe95eb4634aae33ad6f57a9054",
      "tree": "dd144badd1951aea49577cab5cbb79023d66b19f",
      "parents": [
        "f2e4d107af58ad806556cc289befa3b2cf694d3c"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Jun 26 18:45:29 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Jun 26 18:45:29 2008 +0000"
      },
      "message": "rb: Ensure the specs that expect deprecation warnings actually get them [THRIFT-56]\n\nAuthor: Kevin Ballard \u003ckevin@rapleaf.com\u003e\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@671985 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f2e4d107af58ad806556cc289befa3b2cf694d3c",
      "tree": "2e2760843f6423ea6667591bf3907f053c6d9e47",
      "parents": [
        "5da153b36a91c9ea6bda9a717dd1f5e55639addc"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Jun 26 18:45:19 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Jun 26 18:45:19 2008 +0000"
      },
      "message": "rb: The deprecation stuff should skip thrift library code when showing caller [THRIFT-56]\n\nAuthor: Kevin Ballard \u003ckevin@rapleaf.com\u003e\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@671984 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5da153b36a91c9ea6bda9a717dd1f5e55639addc",
      "tree": "11634b7855cfaed35ce4f9bb2e114342b151bde7",
      "parents": [
        "3387115fa3e49a11cf70d4e2cbfaf8875993bed4"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Jun 26 18:35:15 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Jun 26 18:35:15 2008 +0000"
      },
      "message": "rb: Add some additional error handling to Thrift::Socket [THRIFT-53]\n\nAuthor: Kevin Ballard \u003ckevin@rapleaf.com\u003e\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@671979 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "091fa95233d793e10a95ebcce9e12b135301a855",
      "tree": "04230f1ca0f019534f30760604b858e40ba0099e",
      "parents": [
        "2bd3a30b91ef2a4a6c54b4a030a4955a65c96bc8"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Jun 26 18:10:56 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Jun 26 18:10:56 2008 +0000"
      },
      "message": "rb: BufferedTransport should flush on close [THRIFT-49]\n\nThis also adds code and spec so nothing will be written to the transport\nif there\u0027s nothing in the write buffer.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@671967 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1ce8b3d7d502cff253b1ac761d2326763f144101",
      "tree": "3b504a594b2178d94cf7cb21ff0013dc09219a0a",
      "parents": [
        "eaf8d034e7e408a8185975ca4194ece66bd7ea0c"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jun 24 01:32:03 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jun 24 01:32:03 2008 +0000"
      },
      "message": "rb: When passing unknown keys to Thrift::Struct.new, report those keys in the exception [THRIFT-51]\n\nAuthor: kevin@rapleaf.com\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@670989 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c5336ff6915c454b7f10c6fe473e2257a1303367",
      "tree": "fe303ed63e16d6b03755e55cc3991ccb15bb6129",
      "parents": [
        "3a9ffbda08ce0dca4b095cbb87e0c069c5961685"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jun 24 01:06:06 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jun 24 01:06:06 2008 +0000"
      },
      "message": "rb: Change the license from Thrift Software License to Apache Software License [THRIFT-38]\n\nFrom kevin@rapleaf.com\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@670983 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a058d02eda026c05a510c3f4011608c7d4ac5bed",
      "tree": "cd0c9f7fb1e50befbf721c2a57ddc97867f02c61",
      "parents": [
        "be1dd3a0e1ee7c4e56334b4189e7ce05e32680fc"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jun 24 00:33:00 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jun 24 00:33:00 2008 +0000"
      },
      "message": "rb: Bugfix for deprecation code [kevin@rapleaf.com][THRIFT-50]\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@670976 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ],
  "next": "f8ecb02ef4fae39f6f837508f75038afd4f69aa9"
}
