)]}'
{
  "log": [
    {
      "commit": "4e19f1914e49db4b7913ff0f5af8eec51caee875",
      "tree": "64db18658f59cb9411dc32d8c9a764131e8c82f8",
      "parents": [
        "6c1ee214c447bef02c3aa091ff5706503d1b1004"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:59 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:59 2010 +0000"
      },
      "message": "cpp: non-blocking add for ThreadManager\n\nIt\u0027s rare for the ThreadManager mutex to be contended, but it is\npossible.  For nonblocking applications, it is necessary to have a\nstrict timeout for the lock acquisition.  With this change, that timeout\nis enforced.  Also add timeout parameters to Mutex::lock and\nGuard::Guard to support this feature.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920679 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6c1ee214c447bef02c3aa091ff5706503d1b1004",
      "tree": "1a23e82355b5cadd2ea675cc37c39313f54d353e",
      "parents": [
        "a1a15112fed5f7ec934a352920b4c535941fd1ab"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:56 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:56 2010 +0000"
      },
      "message": "cpp: Extend FunctionRunner to support periodic calls (in a thread)\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920678 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a1a15112fed5f7ec934a352920b4c535941fd1ab",
      "tree": "5aca787d7a2489cbebb88fed005c97a47ac4eb84",
      "parents": [
        "eed92991cf064f7c89a911be734d51619150d6bf"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:54 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:54 2010 +0000"
      },
      "message": "cpp: TSocket: call a second gettimeofday only for error checking\n\nPreviously, we called gettimeofday twice for every send, which is\ncostly.  Now, we only make the second call if send fails with EAGAIN.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920677 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "eed92991cf064f7c89a911be734d51619150d6bf",
      "tree": "f2e05dedb6daeff59fdfa1609d30056216d4a2bc",
      "parents": [
        "8106ba617af50f2a325fd6ce01a1a995cbd320a9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:52 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:52 2010 +0000"
      },
      "message": "cpp: TSocketPool: Optimize the case of a single server in the pool.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920676 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8106ba617af50f2a325fd6ce01a1a995cbd320a9",
      "tree": "67bf9253e4e6f58119ce830092ef73a1a2fa2b90",
      "parents": [
        "9c22ba41033a3f632df9db1c871cbf844e79824c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:50 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:50 2010 +0000"
      },
      "message": "cpp: TSocketPool: make it possible to add servers by struct\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920675 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9c22ba41033a3f632df9db1c871cbf844e79824c",
      "tree": "f1345b9a32516d4f7863da36dbcb068692257af8",
      "parents": [
        "068f4169b9c2cd9f93ad32e99c5b0d5b786e0bc1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:47 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:47 2010 +0000"
      },
      "message": "cpp: TTransport: set END_OF_FILE TException code if read returns 0\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920674 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "068f4169b9c2cd9f93ad32e99c5b0d5b786e0bc1",
      "tree": "da5926056c211612a1c1856e83fc7493f2af5f12",
      "parents": [
        "58e4d2c6e3b237825b573116d4e06781733ab5f5"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:45 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:45 2010 +0000"
      },
      "message": "cpp: TNonblockingServer: Allow unrun tasks to expire after a time limit\n\nEnhance ThreadManager to allow a expiration time interval to be assigned\nto tasks, and expire those tasks after that time limit has passed.\nEnhance TNonblockingServer to utilize this capability so it can be used\nfor overload resilience.\n\nNote: expired entries are only removed from the queue head, so the\nmechanism in ThreadManager may not do what you expect if you have\nheterogeneous expiration times. That\u0027s not an issue with\nTNonblockingServer (which will give all tasks the same limit) and might\nnot be in other cases where most tasks have the same limit and the rest\nexecute quickly. A full-up timeout queue would be more complex and have\ngreater overhead than that used here. It\u0027s unnecessary for the task at\nhand so I didn\u0027t go that route...\n\nThe TNonblocking interface is simple: a setTaskExpireTime() accepts a\n64-bit millisecond argument. 0 means infinite. A getTaskExpireTime()\naccessor completes the interface.\n\nThe ThreadManager interface involves an added argument to add() for the\nexpiration interval and a setExpireCallback() function for setting a\ncallback that is called for expired tasks (for this project this is\nnecessary to shut down the associated connection).\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920673 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "58e4d2c6e3b237825b573116d4e06781733ab5f5",
      "tree": "58baf86bf023662ae8c58d314f301b44ec1219d1",
      "parents": [
        "450e35d2a333a6883c4a7444d9687e9ebd1160dd"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:43 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:43 2010 +0000"
      },
      "message": "cpp: Log unexpected exceptions in TThreadPoolServer\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920672 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "450e35d2a333a6883c4a7444d9687e9ebd1160dd",
      "tree": "3ecd87d815ee076a751384a5e004a46ebc648ecb",
      "parents": [
        "9e8073c5cd71ad72f7603b36514af06cee09c830"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:41 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:41 2010 +0000"
      },
      "message": "cpp: Fix max TCP port number\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920671 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9e8073c5cd71ad72f7603b36514af06cee09c830",
      "tree": "6456dfabe60b407f7c700026512770e0620965da",
      "parents": [
        "e96fa5502f38d91e7c417343e4c504384fc84f31"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:39 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:39 2010 +0000"
      },
      "message": "Eliminate some trailing whitespace\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920670 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e96fa5502f38d91e7c417343e4c504384fc84f31",
      "tree": "99c93564471b280e9e74d089a824fdcd858b59b7",
      "parents": [
        "83b8fdac0ff52f1f1d9f96772b956c807f668593"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:37 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:37 2010 +0000"
      },
      "message": "cpp: Add enum and constructor to RWGuard to make read/write more visible\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920669 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "83b8fdac0ff52f1f1d9f96772b956c807f668593",
      "tree": "d4cecc242929b8313fa6abcb19aac9214937f0f4",
      "parents": [
        "a0dbfefbf3d09eebdc784f3fe6049c8bbc62a498"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:34 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:34 2010 +0000"
      },
      "message": "cpp: Fix for task completion notification deadlock under heavy server load\n\nAlong with insuring that the event loop is able to see task completion\nnotifications, we need to process pending notifications as soon as they\nare available to avoid filling the notification pipe (the pipe can hold\n512 notifications).\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920668 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a0dbfefbf3d09eebdc784f3fe6049c8bbc62a498",
      "tree": "17f873e6cd020a1dfbccb319229341c731698050",
      "parents": [
        "b9db49c6776bde3b06ce8a5ceb32c873f8de4592"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:32 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:32 2010 +0000"
      },
      "message": "cpp: TNonBlockingServer: Use separate monitor for max queue\n\nWe were using the same monitor for max queue size and empty queue, this\nmeant the notifies might be going to the wrong place.\n\nThis change significantly reduces the time spent in futex calls in\nloaded servers.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920667 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b9db49c6776bde3b06ce8a5ceb32c873f8de4592",
      "tree": "a6925b9e86822ef11fed77eacb2cd50aa0e072d3",
      "parents": [
        "28e88ecac1cab801112587068ee4fbc6de457e49"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:30 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:30 2010 +0000"
      },
      "message": "cpp: Let Monitors share Mutex instances\n\n- Let Monitor objects share a Mutex() instance so that more than one\n  condition can be implemented on top of a single mutex protecting an\n  important data structure.\n- Make Mutex and Monitor noncopyable\n- Add an accessor to Mutex() so the underlying pthread_mutex_t* can be\n  retrieved for passing to pthread_condwait\n- Change Monitor to use the actual Mutex class instead of creating a\n  naked pthread_mutex_t on its own\n- Add new constructors to Monitor\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920666 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "28e88ecac1cab801112587068ee4fbc6de457e49",
      "tree": "03bf1cc43953d72dc46fc7f2308aaa435926e61b",
      "parents": [
        "01fe15322f55a9aec5de6807fe0d4c54db7d79f6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:27 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:27 2010 +0000"
      },
      "message": "cpp: Exit TNonBlockingServer on memmory allocation failure\n\nsetrlimit causes bad_alloc exceptions, but undefined behavior occurs if\nwe don\u0027t exit.  It is not typical for libraries to call exit, but it is\nnot clear what other behavior is possible.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920665 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "01fe15322f55a9aec5de6807fe0d4c54db7d79f6",
      "tree": "2f95d72f6b8f0fd8f544ce46367f1aeacf4069f9",
      "parents": [
        "e574a065a9ed100bda718582dc3378abc2933e78"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:25 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:25 2010 +0000"
      },
      "message": "cpp: TNonBlockingServer overload handling and optimizations\n\n- Establish a mechanism for TNonBlockingServer to handle overloads by\n  limiting the number of connections accepted or in-process.\n\n- Provide a framework for further work in handling server overloads.\n\n- Limit memory consumption of connection object pool.\n\n- Drop connections when overloaded.\n\n- Add overload-handling behavior allowing pending tasks to be dropped\n  from the front of the task queue (short of the ability to terminate\n  running tasks, these are the oldest tasks in the system and thus the\n  most likely to be beyond their freshness date).  This reduces the\n  chance of spending valuable CPU time processing a request that the\n  client has already timed out.\n\n- Uses a single persistent pipe() to communicate task completion instead\n  of constructing and monitoring a new socketpair() for every task in\n  the system.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920664 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "006260f07a49f74b1fe8fa7be39b0d34d14b8067",
      "tree": "69bdc1c11b213b0c3fb333c0c6b1965c498f1de6",
      "parents": [
        "c548b3dd6312e02df04ca822157c1e41193731c9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:20 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:20 2010 +0000"
      },
      "message": "THRIFT-659. php: Make php_thrift_protocol handle std::exception cleanly\n\nAny std::exceptions thrown from within the extension will now be\nconverted into php exceptions.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920662 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c548b3dd6312e02df04ca822157c1e41193731c9",
      "tree": "4806597aca784581d8f5b21cdd4083822af2e490",
      "parents": [
        "ff3d249d413448489095991be7ce3176dbb87722"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:18 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:18 2010 +0000"
      },
      "message": "THRIFT-475. python: Eliminate DeprecationWarning\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920661 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ff3d249d413448489095991be7ce3176dbb87722",
      "tree": "e6b71aa1ba4b99ff178bfb6fdde6e9b57289033a",
      "parents": [
        "bec15e5105cae849b8095210e6ed6deac09c443d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:16 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:16 2010 +0000"
      },
      "message": "THRIFT-658. python: Add THttpClient.setTimeout()\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920660 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bec15e5105cae849b8095210e6ed6deac09c443d",
      "tree": "6c3f22cadc4465d1c9ea1ee79a49ae107608dd0d",
      "parents": [
        "487fd2e0435db0326a60821bcc96e56fa2eee711"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:14 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:14 2010 +0000"
      },
      "message": "THRIFT-661. java: Detect EOF in TIOStreamTransport\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920659 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "487fd2e0435db0326a60821bcc96e56fa2eee711",
      "tree": "c27ba642e688b704c41aceea37e584757d64c349",
      "parents": [
        "4dd7801e90fe10a6614890f3d176716582b04233"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:11 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:11 2010 +0000"
      },
      "message": "THRIFT-657. java: Detect negative length in TBinaryProtocol\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920658 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d93c626131455fe5f8757fe3ee29d7f7a5c4fe22",
      "tree": "8194aace90f3c53096f585806acb16d4c8714a33",
      "parents": [
        "4ae8780c5c1e37c4c480a23f277a7942e3aada09"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 09 05:14:34 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 09 05:14:34 2010 +0000"
      },
      "message": "THRIFT-656. java:  TDeserializer.toString is misnamed\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920656 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4ae8780c5c1e37c4c480a23f277a7942e3aada09",
      "tree": "b4af0631a81b83a4fec3bd43ace98dd030e60e52",
      "parents": [
        "53c10e09e15b446e7213b341e8fddc79296f1d51"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 00:49:14 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 00:49:14 2010 +0000"
      },
      "message": "THRIFT-706. cpp: Fix memory leak of string_buf_ in TCompactProtocol\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920597 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a268019e85ac34b5b7a1c89d59288ecead5e6d97",
      "tree": "957d8d4fdb680f901bf3cc9bd328d2be8cc5d746",
      "parents": [
        "0f52f072013e8fcb85a8382a412a764433cf0673"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 02 18:49:02 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 02 18:49:02 2010 +0000"
      },
      "message": "THRIFT-710. java: TBinaryProtocol should access buffers directly when possible\n\nThis patch makes TBinaryProtocol use direct buffer access in the relevant methods. Performance testing indicates as much as 2x speed boost, though your mileage may vary.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@918147 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0f52f072013e8fcb85a8382a412a764433cf0673",
      "tree": "64d6282ae82512aef69ccbf7f89713845c1004bb",
      "parents": [
        "3e60fa6a54ecdd4b30df74e35ff64dbfd81a549c"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 02 18:39:57 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 02 18:39:57 2010 +0000"
      },
      "message": "THRIFT-711. java: TFramedTransport should support direct buffer access\n\nThis patch adds direct buffer read access to TFramedTransport as well as a simple test for reading, direct buffer reading, and writing.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@918142 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": "4e7cf25b9574eb439b329070fd57e854948144df",
      "tree": "dab0985ce758bdf31689f07d92bfb0f831c5997a",
      "parents": [
        "30dd725952ddce68eecc645426443a5ebb3bec52"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun Feb 28 05:19:38 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun Feb 28 05:19:38 2010 +0000"
      },
      "message": "THRIFT-716. java: Field names can conflict with local variables in code for unions\n\nThis patch resolves the name clash issue by removing the unnecessary parameters from the generated method and using the protected variables directly instead.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@917130 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "30dd725952ddce68eecc645426443a5ebb3bec52",
      "tree": "0d730bac16f5d98987031babcc5095027bbc6ddc",
      "parents": [
        "53cba3cfa23d7c86badb0f85606a26a3e2391aec"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Feb 27 05:47:15 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Feb 27 05:47:15 2010 +0000"
      },
      "message": "THRIFT-715. rb: Add additional test case for serialization of false boolean fields\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@916911 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "53cba3cfa23d7c86badb0f85606a26a3e2391aec",
      "tree": "225a23e3eae6b15fa6240797374bc133e3038db3",
      "parents": [
        "6acc269d1883c822595ab5f346c6e4c1e1b2724c"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Feb 26 21:38:42 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Feb 26 21:38:42 2010 +0000"
      },
      "message": "THRIFT-689. java:  Notify client of recoverable protocol errors on java server\n\nWhen a protocol error occurs, the server will now send back a message containing the exception. Clients should be able to detect and rethrow these exceptions as appropriate.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@916825 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6acc269d1883c822595ab5f346c6e4c1e1b2724c",
      "tree": "c2c0b852bd0fd114cb1a6b27421b73560f630b7e",
      "parents": [
        "dee6d4260c2cca0917d5a921460d16f062ab27d6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 26 00:56:02 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 26 00:56:02 2010 +0000"
      },
      "message": "THRIFT-695. python: [de]serialize convenience functions\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@916508 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "dee6d4260c2cca0917d5a921460d16f062ab27d6",
      "tree": "5ff6132c6d41c11b572ffd174593c40cdf920781",
      "parents": [
        "65073e5b116d1eb48ccc52c8446ebfdef4b36851"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 23 19:06:25 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 23 19:06:25 2010 +0000"
      },
      "message": "THRIFT-713. java: Java compareTo method throws NPE when any field isn\u0027t set.\n\nThis patch fixes a somewhat egregious bug in the generated compareTo for non-union structs and avoids possible NPEs.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@915499 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "65073e5b116d1eb48ccc52c8446ebfdef4b36851",
      "tree": "ad7802e3e337fbe91bc746f786c50f4ec3030d7a",
      "parents": [
        "a34a4be080e90888842959794b4c8e7838276996"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 23 15:46:46 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Feb 23 15:46:46 2010 +0000"
      },
      "message": "add newline to the end of struct.c to make some whiney compilers happy\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@915398 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": "becaf536211a699f1fb936752262fdb7bcd36126",
      "tree": "044e091e40d93663181ebfe9e9a4dc93fc85107c",
      "parents": [
        "3d03c527dfec72d10f885b3060ffdc35faa2cfb7"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 18 18:27:51 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Feb 18 18:27:51 2010 +0000"
      },
      "message": "THRIFT-685. java: Direct buffer access to improve deserialization performance\n\nThis initial patch adds direct buffer access support to TDeserializer and TCompactProtocol, with the framework in place to be extended to other areas.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911510 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": "25b851af36d9260a18ffbf1494e572b54ce6d426",
      "tree": "f79cff4218525eb109ebbd1cc05c5c4036c7974b",
      "parents": [
        "361ef347225707e2066b7b7397a5f9dddb5c8694"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 17 23:10:48 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 17 23:10:48 2010 +0000"
      },
      "message": "add some missing files to Manifest\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911217 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "361ef347225707e2066b7b7397a5f9dddb5c8694",
      "tree": "4ebc65eb009fe01eda7bf30881bb738a1e68d487",
      "parents": [
        "5af64f03464b927bdc329065b24a063c02fe8412"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 17 22:29:49 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 17 22:29:49 2010 +0000"
      },
      "message": "bump rev on ruby gem version\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911200 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": "cd43a06405c806d7ff928262da29703cde7e764f",
      "tree": "fab911ee1dae532d3b231b9fe9e4f73c28d61cdd",
      "parents": [
        "33e190cd150c326ac833c435f975c2e737cff74f"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 17 20:01:29 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 17 20:01:29 2010 +0000"
      },
      "message": "THRIFT-703. Attempting to hash an unset union struct results in NPE\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911162 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": "322caa2f9289e8174069dbac1f8d7949e1130af6",
      "tree": "6f6ccef8c84e4535a0e2a3c9506804946060bb42",
      "parents": [
        "f94f008d80bf858e4ad635fda61f8cd2bd1be0a2"
      ],
      "author": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Mon Feb 15 03:24:55 2010 +0000"
      },
      "committer": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Mon Feb 15 03:24:55 2010 +0000"
      },
      "message": "THRIFT-550: Added javascript support\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@910158 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f94f008d80bf858e4ad635fda61f8cd2bd1be0a2",
      "tree": "23f73dc58140f7ebb1d5f5d36c04f4e0fbf3f5bb",
      "parents": [
        "526112103cff44ec923d77aed0838b93a41f6b04"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Feb 12 22:49:40 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Feb 12 22:49:40 2010 +0000"
      },
      "message": "THRIFT-702. TUnion\u0027s toString method throws NPE if the union is unset\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@909645 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "526112103cff44ec923d77aed0838b93a41f6b04",
      "tree": "fc39796573ac228ae125555bbcf3b1a764917e34",
      "parents": [
        "ddfe0c96982c50901504921291a1b973c1304941"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 10 23:23:35 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Feb 10 23:23:35 2010 +0000"
      },
      "message": "don\u0027t put all the test cases and generated classes into the jar - reduces size of jar from ~1M to ~200k.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@908746 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ddfe0c96982c50901504921291a1b973c1304941",
      "tree": "4c4773fbfa18b0aad6c443daba906ce048ef674c",
      "parents": [
        "7acb526434d06f49998e7fe218c7ee384b005621"
      ],
      "author": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Wed Feb 10 01:03:01 2010 +0000"
      },
      "committer": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Wed Feb 10 01:03:01 2010 +0000"
      },
      "message": "THRIFT-687.  Fix memory leak in TSocketServer.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@908303 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7acb526434d06f49998e7fe218c7ee384b005621",
      "tree": "68a6a1a20677158a87f2d87e433ef141577ba5aa",
      "parents": [
        "ba4bf4d512439b8eb1fb42584793dec40682a7f9"
      ],
      "author": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Wed Feb 10 00:56:09 2010 +0000"
      },
      "committer": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Wed Feb 10 00:56:09 2010 +0000"
      },
      "message": "THRIFT-686.  Adding TMemoryBuffer implementation to Cocoa\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@908301 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3bb5e0581a076e5c754470f4d44979ad0cff8bc1",
      "tree": "98760787de98019370e9edebdc2565e9a878ef50",
      "parents": [
        "c771944644247f5ae31c37ffe937fe93c147b327"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 25 19:31:31 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 25 19:31:31 2010 +0000"
      },
      "message": "THRIFT-683. Remove profanity\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@902941 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c771944644247f5ae31c37ffe937fe93c147b327",
      "tree": "bb6bd15d84544d6f50bcd21555f0d28d940669a4",
      "parents": [
        "b6f4e56bb0c67d6f10391d9a6dff845e72c4100f"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 21 03:20:01 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 21 03:20:01 2010 +0000"
      },
      "message": "THRIFT-684. java: Add constructor to TNonblockingServerSocket to accept InetSocketAddress\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@901513 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b6f4e56bb0c67d6f10391d9a6dff845e72c4100f",
      "tree": "b5c26073e9f3c53d859a541043c03de1e2f38dc0",
      "parents": [
        "c4ad9be578f22e240b28af2ca89f83ac18179cd1"
      ],
      "author": {
        "name": "Todd Lipcon",
        "email": "todd@apache.org",
        "time": "Tue Jan 19 05:18:55 2010 +0000"
      },
      "committer": {
        "name": "Todd Lipcon",
        "email": "todd@apache.org",
        "time": "Tue Jan 19 05:18:55 2010 +0000"
      },
      "message": "THRIFT-643. smalltalk: Generated code doesnt load on Squeak3.10.2-7179-basic and PharoCore-1.0-10491rc1 images\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@900660 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "db57aa0df9f83ff035bedb7e0afc447d0214acc0",
      "tree": "fd3df2b44c738f4bef0840bcfe11210a339b1d1b",
      "parents": [
        "8d41b643f9bb670f18404260fbe124c0cabb5360"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:40:31 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:40:31 2010 +0000"
      },
      "message": "THRIFT-677. java: IntRangeSet.java ignores first element in the constructor array\n\nThis change removes IntRangeSet from the codebase\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@899729 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": "62fb2ed1fea45f3193a0b295e5ef7f910a70cd6a",
      "tree": "ec21096d7fc2ba0fc75e779962553176bb383395",
      "parents": [
        "9bfacd36800f052e33ffa78a06bc9a4f600e5f3d"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:29:26 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:29:26 2010 +0000"
      },
      "message": "THRIFT-608. java: Option parameter is ignored for one constructors in THsHaServer\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@899723 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9d435ab1913de3a597c0e2596d2cf8a71180ee20",
      "tree": "af9c393aa3bc09487b8577654c2e1312fb950be1",
      "parents": [
        "752529e9b449f69d2fce19eba1c12471858279b9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 11 19:13:14 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 11 19:13:14 2010 +0000"
      },
      "message": "THRIFT-560. haskell: Add THttpClient\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@898013 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "752529e9b449f69d2fce19eba1c12471858279b9",
      "tree": "f1e0d01e5caecb41a19e863dfc49bf5353702ada",
      "parents": [
        "35565a4719679523779d946420992bde33a4987c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 11 19:12:56 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 11 19:12:56 2010 +0000"
      },
      "message": "THRIFT-560. haskell: Move to ByteString and compiler fixes\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@898012 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": "3076fb8d791a07d6f4933bcfb7875ef0d27cb70e",
      "tree": "d7271f699fade812e54773234a4845cb6182572c",
      "parents": [
        "c2ec7cae04b1a18a0fbb2dc3802fb3d18f0c080c"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jan 06 23:10:24 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jan 06 23:10:24 2010 +0000"
      },
      "message": "Bump rubygem version up to 0.2.0, now that we\u0027re released and all.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@896711 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c2ec7cae04b1a18a0fbb2dc3802fb3d18f0c080c",
      "tree": "21ca03a118b38cebd1a3cc742239608d44ee5c71",
      "parents": [
        "986d50fc718f06b234cf59effd9d374678801557"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Dec 31 18:59:15 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Dec 31 18:59:15 2009 +0000"
      },
      "message": "THRIFT-670. java: Unions don\u0027t skip unrecognizable fields correctly\n\nThis patch adds a test and a fix for the bug.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@894924 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d250314e66b5a90b4aa5060ee1e326b5818cbb46",
      "tree": "3243d088c96f54df020bca22b6b247d3f5c1dcd6",
      "parents": [
        "2d80470bcb1a7e41ef0668194ab97bb65342baac"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Dec 28 18:49:03 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Dec 28 18:49:03 2009 +0000"
      },
      "message": "(no ticket). java: Make Unions print binary values more tersely\n\nBytes were getting sign-extended out into giant strings of f\u0027s. This change makes sure only the bottom byte is used.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@894222 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2d80470bcb1a7e41ef0668194ab97bb65342baac",
      "tree": "00cacf2bfbe22d4336e2c74fd0e45b37dd08d71e",
      "parents": [
        "e533bace3d462ebad7c65d7de4fd167a0ffbe740"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Dec 18 19:41:11 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Dec 18 19:41:11 2009 +0000"
      },
      "message": "THRIFT-632. java: Constants of enum types don\u0027t behave well\n\nThis patch causes constants of all types to be resolved differently by the compiler, and makes it so that constants of enum types contain a reference to the enum type so that code generators can produce the correct names.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@892358 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2727fab22f11a9d9c30b2c47d9d010adf97c15d6",
      "tree": "799d604fca5fa8020ce17c178ad72424e78dddf5",
      "parents": [
        "eb03222bca7d89654702569cad0c348b5dd44317"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Dec 09 19:30:01 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Dec 09 19:30:01 2009 +0000"
      },
      "message": "THRIFT-645. java: Create ant rules for running the test client and server\n\nI didn\u0027t make these depend on compile-test since ant doesn\u0027t seem to\ndetect that the class files are up to date, so it takes a really long\ntime to recompile everything.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@888931 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": "f5dea4c7f31703cdc0c347eb7ec429fc5864afb4",
      "tree": "e8aad41f828fc5ad8674b1c34fd02b1a9dad682c",
      "parents": [
        "9af23d9327277a791c8b22c4323b8e17e2bfc378"
      ],
      "author": {
        "name": "Todd Lipcon",
        "email": "todd@apache.org",
        "time": "Thu Dec 03 01:18:44 2009 +0000"
      },
      "committer": {
        "name": "Todd Lipcon",
        "email": "todd@apache.org",
        "time": "Thu Dec 03 01:18:44 2009 +0000"
      },
      "message": "THRIFT-637. python: Fix mixing of oneway and regular requests in TNonblockingServer\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@886646 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9af23d9327277a791c8b22c4323b8e17e2bfc378",
      "tree": "54b140c45dbb123fe46037ed5532c8519b49a1d2",
      "parents": [
        "e476480691d114ad1f1a9794bd10b34df6554ad2"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Nov 19 17:26:38 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Nov 19 17:26:38 2009 +0000"
      },
      "message": "THRIFT-551. java: Enumeration doesn\u0027t generate real enum in Java\nThis patch makes the compiler generate actual Enum classes.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@882211 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "aa9fb5dc9de5f3cfbe086e6df8e7c6d3640c272c",
      "tree": "73292b4fb495b218715ab291af1f6517e84c4cc2",
      "parents": [
        "0c5c234b58802c36013b0d69b237ec3f098ebfd5"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Nov 12 20:52:25 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Nov 12 20:52:25 2009 +0000"
      },
      "message": "THRIFT-623. java: Use a Java enum to represent field ids in generated structs\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@835538 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0c5c234b58802c36013b0d69b237ec3f098ebfd5",
      "tree": "0e4b315ae9259b4ec5e6bf669e9a2f8052f77cc8",
      "parents": [
        "f2b8f750b3adf3db50fa38af5462e758a38cdc65"
      ],
      "author": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Thu Nov 12 03:01:33 2009 +0000"
      },
      "committer": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Thu Nov 12 03:01:33 2009 +0000"
      },
      "message": "THRIFT-619: Perl server and example\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@835206 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f2b8f750b3adf3db50fa38af5462e758a38cdc65",
      "tree": "cc5feba9140e386a5f22f412f8a7a6b4eb9b55ac",
      "parents": [
        "93f8219567ab09f9dc35095ee3a8692f7a1992ad"
      ],
      "author": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Thu Nov 12 02:44:42 2009 +0000"
      },
      "committer": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Thu Nov 12 02:44:42 2009 +0000"
      },
      "message": "THRIFT-626: Increase timeouts for socket requests\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@835203 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "93f8219567ab09f9dc35095ee3a8692f7a1992ad",
      "tree": "abec108a452ac6e37f970c5974f7abc206a02618",
      "parents": [
        "e2e4ea1dcf09bdbf5bc2f270812ae2a3ca69c02b"
      ],
      "author": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Thu Nov 12 02:36:30 2009 +0000"
      },
      "committer": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Thu Nov 12 02:36:30 2009 +0000"
      },
      "message": "THRIFT-590: send/recv timeout values interchanged in perl socket lib\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@835200 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e2e4ea1dcf09bdbf5bc2f270812ae2a3ca69c02b",
      "tree": "4f910afa1552dafc23e1b20d3bb90d46c7602449",
      "parents": [
        "7948a66cfc6d164cb27da71360a270838a7468c2"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 11 21:01:35 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 11 21:01:35 2009 +0000"
      },
      "message": "THRIFT-624. java: compareTo is broken for Unions with binary fields\nThis patch adds a special case for byte[] values in TUnion. It also fixes a related bug in TBaseHelper for comparing two byte arrays.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@835065 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7948a66cfc6d164cb27da71360a270838a7468c2",
      "tree": "13c564bbabda0ab4027b099ccf89f54aa53cc0c4",
      "parents": [
        "2845b16eb24fc66d34f66c776400354225e70bad"
      ],
      "author": {
        "name": "Esteve Fernandez",
        "email": "esteve@apache.org",
        "time": "Wed Nov 11 18:32:25 2009 +0000"
      },
      "committer": {
        "name": "Esteve Fernandez",
        "email": "esteve@apache.org",
        "time": "Wed Nov 11 18:32:25 2009 +0000"
      },
      "message": "THRIFT-210. c#: Add support for TFramedTransport\n\nauthor: Michael Greene (euphoria)\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@835006 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2845b16eb24fc66d34f66c776400354225e70bad",
      "tree": "d3343b4fd1946cd672c08b7aa37e0ff594961a53",
      "parents": [
        "6731b57b582badaa3fca91e6ac54bf18cd2cf0f7"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Nov 09 15:55:22 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Nov 09 15:55:22 2009 +0000"
      },
      "message": "THRIFT-565. java: Structs containing typedefs for incomparable objects will be considered comparable\nThis patch causes the compiler to fully unwrap typedefs when determining comparability.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@834119 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6731b57b582badaa3fca91e6ac54bf18cd2cf0f7",
      "tree": "23d56486b6514d39e6ed916f0cb460d1ec6dc9b1",
      "parents": [
        "3533dcbef88d1c4bae8e610f289c3297aea26a67"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 04 00:30:10 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Nov 04 00:30:10 2009 +0000"
      },
      "message": "THRIFT-620. java: Compact Protocol should call readAll, not read\nThis patch switches to calling readAll instead of read.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@832633 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "034c49f0fcf95f13982de528f19760f5ed01617e",
      "tree": "99f43208fcd90ef32a501f7aff788fcb526ec06f",
      "parents": [
        "73380097e1afa0e8ea94eb40f6c17c8065f022ba"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 28 17:07:14 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 28 17:07:14 2009 +0000"
      },
      "message": "THRIFT-612. python: Fix exception bug in TFramedTransport.cstringio_refill\n\nreadFrame was being called without \"self.\"\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@830673 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "73380097e1afa0e8ea94eb40f6c17c8065f022ba",
      "tree": "56ab0b8e26703ce507b2b19284209ca1c54ebce5",
      "parents": [
        "72751724b5c1ff0397b8a35875cf3cb19f81ef64"
      ],
      "author": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Tue Oct 27 20:27:49 2009 +0000"
      },
      "committer": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Tue Oct 27 20:27:49 2009 +0000"
      },
      "message": "THRIFT-614. Add some more info to the exception that gets thrown when THTTPClient encounters an unexpected NSURLResponse object.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@830329 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9b90344445d0a753e8a4a8a926c67d6a6c051c5e",
      "tree": "0592ac49bbbee220c31b3bd9a952d8f13e44ccc2",
      "parents": [
        "72fd472476a68dc55ca8cbfb05452d6c69fb0d19"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 21 05:51:28 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 21 05:51:28 2009 +0000"
      },
      "message": "THRIFT-606. cpp: Fix build on Solaris Nevada\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@827890 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "72fd472476a68dc55ca8cbfb05452d6c69fb0d19",
      "tree": "51c714a9cad4de734d3558ce8a35953a67d64698",
      "parents": [
        "834895d15c8e6761b1dd28401966c39d32954936"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Oct 15 01:24:26 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Oct 15 01:24:26 2009 +0000"
      },
      "message": "THRIFT-589. java: Add Field Name to Field ID Mapping\nJava Thrift structs now have a static mapping of field name to field ID.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@825371 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "834895d15c8e6761b1dd28401966c39d32954936",
      "tree": "8dd7bb8a66f75b5ea2e130cbc49fa8871bf49c44",
      "parents": [
        "364902eb56493c513eab6eb5ba4dc680af7c1f1b"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Oct 15 01:20:34 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Oct 15 01:20:34 2009 +0000"
      },
      "message": "THRIFT-603. rb: Struct read method does not call validate\nAfter reading a struct, we will now call the struct\u0027s validate method.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@825369 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "51f288062dceebbb16886752ddeb0a24a8d04956",
      "tree": "39a9b4ee28f83ca7b5d6d227028805503c8ee9bf",
      "parents": [
        "315a5dbe29213aa70750f4e93542e1d72f3b0bb9"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Oct 01 20:53:45 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Oct 01 20:53:45 2009 +0000"
      },
      "message": "THRIFT-446. java: PartialDeserialization in Java\n\nThis patch adds a partialDeserialize method to TDeserializer that allows you to request a specific subfield of the serialized data.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@820786 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "315a5dbe29213aa70750f4e93542e1d72f3b0bb9",
      "tree": "a7cf17a5eedae6c0f60d4bdb2605c3125cdd4ef3",
      "parents": [
        "bff2a35adf75e5da3483facab647601a73a1f9ee"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Sep 25 20:28:35 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Sep 25 20:28:35 2009 +0000"
      },
      "message": "THRIFT-588. java: Generated .equals method throws NPE for thrift object\n\nIf other is null, then they\u0027re not equal.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@818998 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bff2a35adf75e5da3483facab647601a73a1f9ee",
      "tree": "88da87c4af3377005227a4387d3e99a86f391150",
      "parents": [
        "db40d26f4a61c1c2ae04997a6cc475bfd585d3e4"
      ],
      "author": {
        "name": "Esteve Fernandez",
        "email": "esteve@apache.org",
        "time": "Thu Sep 24 10:22:00 2009 +0000"
      },
      "committer": {
        "name": "Esteve Fernandez",
        "email": "esteve@apache.org",
        "time": "Thu Sep 24 10:22:00 2009 +0000"
      },
      "message": "THRIFT-586. python: TSocket incorrectly sets the exception type when an end of file error occurs\n\nTTransportException\u0027s type was set to \"Transport not open\" in some cases, which should\nbe its message.\nUse named arguments and set the type for TTransportException to END_OF_FILE in TSocket#read\nand TSocket#write.\n\nreviewer: dreiss\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@818429 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3e7fca421efe0c76bc493a4058d3667c540bcca4",
      "tree": "44809cd68dc6383bfaa37f95a793f1665169274e",
      "parents": [
        "0e8e6099e215f3a6adcb6e5c75e9dc8ad53a7a21"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Sep 19 01:59:13 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Sep 19 01:59:13 2009 +0000"
      },
      "message": "THRIFT-587. cpp: Properly set addrLen before accept calls\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@816850 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b42361c2e91efc63c11b21721643388db820b86d",
      "tree": "5984a69a52fa777de639220386353d85cb68f975",
      "parents": [
        "45603e9c6c6196301655b2328007382f46ef627d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Sep 09 17:18:57 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Sep 09 17:18:57 2009 +0000"
      },
      "message": "THRIFT-574. erlang: Support framed transport for servers\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@813054 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3647fc62f531f886d92042157b906f455097aa89",
      "tree": "adbab0b2c1c283dca948d6185b6cb92d3e46c47e",
      "parents": [
        "6f6318a652fc3401f92ea44869c6d80a13afa13d"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Sep 02 20:05:07 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Sep 02 20:05:07 2009 +0000"
      },
      "message": "THRIFT-569. rb: Segmentation Fault when using BinaryProtocolAccelerated in Ruby\n\nThis patch checks to make sure that a value is a string before treating it as one. \n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@810689 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6f6318a652fc3401f92ea44869c6d80a13afa13d",
      "tree": "9cbbfd8e74c157761fdea31b7fab30d7c2671b71",
      "parents": [
        "ab3666e6caad79315fddf0f8f38c13c7a10cc23a"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 01 23:18:34 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 01 23:18:34 2009 +0000"
      },
      "message": "THRIFT-572. rb: fix RSTRING for 1.9 compatibility\n\nUse a macro compatible with Ruby 1.9.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@810303 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ab3666e6caad79315fddf0f8f38c13c7a10cc23a",
      "tree": "4130f6c9eaae3553171c4c4a0d18623697a63193",
      "parents": [
        "fd58c55dca197daea0df23a339a1d106dea8189b"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 01 23:03:47 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 01 23:03:47 2009 +0000"
      },
      "message": "THRIFT-409. java: Add \"union\" to Thrift\n\nThis patch introduces new IDL syntax for creating Unions, explicityly single-valued structs. While the parser changes are portable, this patch only includes the actual generated code changes for the Java library. Other libraries can continue to generate a struct with the same fields and remain compatible until they are able to implement the full shebang.\n\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@810300 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fd58c55dca197daea0df23a339a1d106dea8189b",
      "tree": "746b658ab3b6d720c1ba063a5600b5a581c3a0b7",
      "parents": [
        "db5d5894577c14accc2c81b617fa36dc6924591e"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 01 22:32:50 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 01 22:32:50 2009 +0000"
      },
      "message": "THRIFT-571. rb: compact_protocol.c:89: warning: format not a string literal and no format arguments\n\nThis patch solves the issue for those of you on Ruby 1.9.1.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@810288 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ffff2b35763e47667c63df903fe6e59b5ada4d22",
      "tree": "88a954b0aab4f3d4cce5b9ed8d376ad9d3bc95e4",
      "parents": [
        "af81de0123c8d9920a25a27d28da66f9d00748cc"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Sep 01 18:03:07 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Sep 01 18:03:07 2009 +0000"
      },
      "message": "THRIFT-214. cpp: Qualify another cast\n\nr722337 only fixed one occurrence of this issue.\nNot sure why this one hasn\u0027t been a problem before,\nbut it is breaking compilation on Mac OS 10.6.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@810150 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "af81de0123c8d9920a25a27d28da66f9d00748cc",
      "tree": "a85adc2cfe4a3e5ae040f4b3eecb64e92f8013b8",
      "parents": [
        "2c8cd944e50d4d69f00fde70ecee9c75ab924e2b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 27 20:27:09 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 27 20:27:09 2009 +0000"
      },
      "message": "Revert r806014 \"THRIFT-562. java: Java is inconsistent ...\"\n\n- It changed the semantics of default-presence fields.\n- It messed up calls that accept exceptions.\n- Full details on issue.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@808609 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2c8cd944e50d4d69f00fde70ecee9c75ab924e2b",
      "tree": "41f814525b669777887bba8df93b90af7c0ffe07",
      "parents": [
        "2f45e789f6f87d95cd17be91900476f6a50bb1c1"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 20 01:00:18 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 20 01:00:18 2009 +0000"
      },
      "message": "THRIFT-562. java: Java is inconsistent checking for required fields\n\nThis patch makes the compiler act consistently regarding what it means to be required or optional. Additionally, it cleans up the tests to actually use the Fixtures class all over.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@806014 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2f45e789f6f87d95cd17be91900476f6a50bb1c1",
      "tree": "581aa69ea22832e3a5b796ee252df2f864ef511e",
      "parents": [
        "c27cda57a0347d3b7496a8ccbaf8071ead1f898e"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 20 00:55:12 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 20 00:55:12 2009 +0000"
      },
      "message": "THRIFT-566. java: jar file should contain copies of LICENSE and NOTICE files\n\nLICENSE and NOTICE are now included in the jar file by the build process. \n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@806013 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c27cda57a0347d3b7496a8ccbaf8071ead1f898e",
      "tree": "9257aece1f341bdc30aa92742fd613ad3814e174",
      "parents": [
        "f5a0b3dfc8b0d6f7d85de4f9b18f14d6584d3d3a"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Aug 14 20:04:15 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Aug 14 20:04:15 2009 +0000"
      },
      "message": "THRIFT-558. java:  Replace use of log4j by commons-logging in Java library and generated Java code\n\nThis patch switches Thrift to use slf4j instead of log4j. \n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@804349 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3029786ce1dda4bb625e72ebb5202c0b89e233a2",
      "tree": "c7f97b24b8f009c3ebd6395e816b706e1a4df1c5",
      "parents": [
        "3efce2336983ae9cb91e70d73827fa377ca3a3a7"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Aug 05 16:42:59 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Aug 05 16:42:59 2009 +0000"
      },
      "message": "THRIFT-555. cpp: Fix macro defintions for TCompact on non-GNU big endian\n\nWe were defining ntolell and letonll, but we were only using\nhtolell and letohll.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@801293 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "82e96f5d96833d0af5495405444bace82b2214d7",
      "tree": "4c80cda4b40668b6902cebdc09f00e13b73c9cc3",
      "parents": [
        "293086cacc60f24d45359ed93c5ec224562b4ddd"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jul 31 19:32:34 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jul 31 19:32:34 2009 +0000"
      },
      "message": "THRIFT-144. java: Generated classes should implement Comparable\n\nForgot to add TBaseHelper.java. Oops.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@799714 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": "ccae88473962261d28d1ef56dd05637ca1445df6",
      "tree": "78b91eeaa42fceda645c97c81981aa5c25f4d3f8",
      "parents": [
        "4184e2be546d19ece83c8132a03f08a5de6656a6"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jul 31 18:47:09 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jul 31 18:47:09 2009 +0000"
      },
      "message": "THRIFT-498. rb: Compact and Binary native protocols, used at the same time, can cause some issues\n\nDisable native method table usage.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@799693 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4184e2be546d19ece83c8132a03f08a5de6656a6",
      "tree": "5067ad117f668e45d6b7b6b389334f2c5086e991",
      "parents": [
        "684b4f9aeeef501ff45790b4ff8fb574211a7797"
      ],
      "author": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Fri Jul 31 01:31:00 2009 +0000"
      },
      "committer": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Fri Jul 31 01:31:00 2009 +0000"
      },
      "message": "THRIFT-554: Perl improper namespace check for exception handling and writeMessageEnd missing on processor calls\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@799484 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "05528138256fa6a5b92bf3a04aa01f33d2dc700d",
      "tree": "488cdb01ba027db7e39053e165284f4231e52246",
      "parents": [
        "ba71f8c7fcd0ae0a0177ee0e308a8a92abe64106"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jul 30 15:52:25 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jul 30 15:52:25 2009 +0000"
      },
      "message": "THRIFT-552. rb: gem requires exactly rubygems 1.2.0\n\nThe Thrift gem will now work with rubygems \u003e\u003d 1.2.0.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@799337 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bbd55ad8da7141ec5339944b6f497555ba2a4f6b",
      "tree": "4c649d255e699bdf0c3956682626d5207b4da56b",
      "parents": [
        "061722b4fd8a6aed2e8dbc98f0bbbffc9e71e72c"
      ],
      "author": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Fri Jul 24 15:58:07 2009 +0000"
      },
      "committer": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Fri Jul 24 15:58:07 2009 +0000"
      },
      "message": "THRIFT-549. Make socket client compatible with iPhone SDK as well as OS X\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@797545 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "061722b4fd8a6aed2e8dbc98f0bbbffc9e71e72c",
      "tree": "666dde6aba172bdd544ddd652cabe8e2997f1de3",
      "parents": [
        "0c8957114abc809b5db6a4b945a85d8e500a0c27"
      ],
      "author": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Thu Jul 23 18:12:18 2009 +0000"
      },
      "committer": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Thu Jul 23 18:12:18 2009 +0000"
      },
      "message": "THRIFT-548. malloc our temporary buffer, rather than creating it on the stack.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@797175 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0c8957114abc809b5db6a4b945a85d8e500a0c27",
      "tree": "6e21b569f3792a12856e23165d966894bc992f73",
      "parents": [
        "6efefc023aeb48db6b6ac875bd35b2e895d8311a"
      ],
      "author": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Tue Jul 21 21:14:19 2009 +0000"
      },
      "committer": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Tue Jul 21 21:14:19 2009 +0000"
      },
      "message": "THRIFT-280. Server-side Cocoa implementation.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@796538 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ],
  "next": "59ace01f3f15e2babc952cafa86310abdd29b114"
}
