)]}'
{
  "log": [
    {
      "commit": "44ff76f5147010694187e6ae95a3978fd7a71fb2",
      "tree": "107de4c06e6bbcb6674963a4e6e67f0bbf35cb63",
      "parents": [
        "64637511d2c987dc0df9d8466e7ce3626d005425"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:15 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:15 2010 +0000"
      },
      "message": "THRIFT-925. cpp: Add _VALUES_TO_NAMES enum map\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005143 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "64637511d2c987dc0df9d8466e7ce3626d005425",
      "tree": "c0374fb3bdc2e75a84900bc6de70def5e16e8e3d",
      "parents": [
        "a8af11dde6194e7449388148ed573347895b9229"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:13 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:13 2010 +0000"
      },
      "message": "THRIFT-924. php: Fix missing comma in generated PHP struct constants\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005142 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c3b3622158009ea9db85607a4901d05c63108875",
      "tree": "5c5a7d4452958349f93bb7f6d5c67ea3a9938e12",
      "parents": [
        "23248713345e36d8ed66704a9a58a5f39a48d942"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:10 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:10 2010 +0000"
      },
      "message": "THRIFT-922. cpp: Add profiling code to help conversion to C++ templates\n\nAdd some profiling code to track when potentially unnecessary virtual\ncalls are made in the thrift C++ serialization and deserialization code.\nThis can be used to help service implementors determine which places in\ntheir code should be updated to use an appropriate thrift template\nclass.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005140 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "23248713345e36d8ed66704a9a58a5f39a48d942",
      "tree": "e6aa7c9d97776a88be24ba1de8ca6cabcbacec05",
      "parents": [
        "b7762a032aa4190c6b99a5394e69b29aceb57281"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:08 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:08 2010 +0000"
      },
      "message": "THRIFT-928. cpp: Thrift Server Client Stats\n\nAdd the ability for Thrift servers to monitor client connections.  It is\nactivated by #including server/TClientInfo.h and creating 1) a\nTClientInfoCallHandler passed to the processor with setEventHandler()\nand 2) a TClientInforServerHandler passed to the server with\nsetServerEventHandler().\n\nThe result vector, showing active connections, provides client address\nand the thrift call it is executing (or last executed), the time\nconnected, and the number of calls made since connection.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005139 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b7762a032aa4190c6b99a5394e69b29aceb57281",
      "tree": "ebfc006c1ca2324ada5116d0edaa2f6717f7bf1e",
      "parents": [
        "8dfc732af635d5243194b74d4f411a551ff9a5ee"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:00 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:10:00 2010 +0000"
      },
      "message": "THRIFT-922. cpp: Update C++ generator to emit templatized code\n\nWhen the \"templates\" option is passed to the C++ generator, it now emits\ntemplatized versions of the client and processor.  Generated types emit\ntemplatized read() and write() functions.\n\nThis allows the generated code to invoke the correct non-virtual\nTTransport and TProtocol implementations, resulting in faster\nserialization and deserialization.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005138 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c6b4cab89c6da0272914a07b1f01491031df524f",
      "tree": "69d677b9dbdee0b8fbd2a947054676323ae1ff23",
      "parents": [
        "f62126dbb30f1d9ec9a8744206c598016d366e7a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:45 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:45 2010 +0000"
      },
      "message": "THRIFT-923. cpp: Add completion notification to async clients\n\nAdd a virtual function \"completed__(bool)\" to xxxCobClient that is\ncalled by recv_xxx() after reception of a response (arg \u003d true) or an\nexception (arg \u003d false). This allows the TAsyncClient to intercede at\nthat point, permitting, e.g., the load-balancing of persistent\nconnections that would otherwise remain bound to a single server.\n\nA new \"no_client_completion\" flag inhibits generation of this mechanism.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005131 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f62126dbb30f1d9ec9a8744206c598016d366e7a",
      "tree": "15763d767ead1c053ee0b5f1b6356878f26de546",
      "parents": [
        "ef7200f6e825db54edfa4736192446c96b2ae1d4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:43 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:43 2010 +0000"
      },
      "message": "THRIFT-928. cpp: Prefix function name with service name\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005130 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ef7200f6e825db54edfa4736192446c96b2ae1d4",
      "tree": "30115f97266d45ec4811f424441ae32000df8889",
      "parents": [
        "18cd0f03340c3eeead9b691e0d9b8a055035eec2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:42 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:42 2010 +0000"
      },
      "message": "THRIFT-928. cpp: Include request/response size in processor callbacks\n\nRequired updating transport interface.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005129 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "18cd0f03340c3eeead9b691e0d9b8a055035eec2",
      "tree": "525bb4bc983c4ff375fb7454fbbb2f93c55c2989",
      "parents": [
        "5ddabb8e3f63a15874e436c9a650dc17f7dd7028"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:39 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:39 2010 +0000"
      },
      "message": "THRIFT-928. cpp: Make clients call writeEnd on their transports before flush\n\nChanging the order of these calls makes more sense from the perspective\nof logical operations.  It also simplifies the upcoming stats collection\ncode.  No clients should be affected.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005128 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5ddabb8e3f63a15874e436c9a650dc17f7dd7028",
      "tree": "4e22ac0f769e0dda25c8a77734020c5d9a408770",
      "parents": [
        "d7192063e141c8374c2256e9fea9b7571e5fc71e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:37 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:37 2010 +0000"
      },
      "message": "THRIFT-923. cpp: Implement a fully nonblocking server and client\n\nThere are three major parts of this:\n1/ New callback-style interfaces for for a few key Thrift components:\n   TAsyncProcessor for servers and TAsyncChannel for clients.\n2/ Concrete implementations of TAsyncChannel and a server for\n   TAsyncProcessor based on evhttp.\n3/ Async-style code generation for C++\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005127 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d7192063e141c8374c2256e9fea9b7571e5fc71e",
      "tree": "8da8cd317b1394f2ced4bbe5da7f07addb784a43",
      "parents": [
        "8c535ab87c3eaa35f1c94ca9dd1aeb5930425c3b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:33 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 06 17:09:33 2010 +0000"
      },
      "message": "THRIFT-928. cpp: Processor-level event callbacks\n\n- Add a TProcessorEventHandler callback interface.\n- Add methods to TProcessor to hold an instance of the interface.\n- Add code to the compiler to make the processor call callbacks at key points.\n- Add an optional processor event handler to the test server.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005126 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1df96ce22fcfa3cbc2700eb4be29e5d457167d15",
      "tree": "a7cab95eaf9e0822c3f669211e9734477fcaf0ca",
      "parents": [
        "ded25bbe0d82ce151c633addd3b96d5c3e0c4dc1"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 06 00:28:10 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Oct 06 00:28:10 2010 +0000"
      },
      "message": "THRIFT-945. java: TAsyncClient class\u0027s currentMethod is never set, hence a second call on the same client will fail if a previous call is ongoing.\n\nThis patch adds a test for the problem and fixes the issue by setting the current method after a call has been started.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1004865 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "41d3058dbf45d3e771192052f1f15ba1b6daf5d3",
      "tree": "9431866345872172f9410dfd775d0fc47eb3791c",
      "parents": [
        "9e7ba8cbacd5d09eb2af4c76eb82f7df5e0b8739"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Oct 05 16:39:29 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Oct 05 16:39:29 2010 +0000"
      },
      "message": "THRIFT-868. Make const values work properly with typdefs\n\nJust requires calling get_true_type in the right spot.  Because \"the\nright spot\" is under src/parse, get_true_type had to be moed from\nt_generator to t_type.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1004703 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a406b90fa27221119baf09625345487de26db0a7",
      "tree": "c3461d004a333d5f3372cc851749668264ab6eec",
      "parents": [
        "71a58a87648c03309d00d959af74ca45c7700cfd"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Sep 27 23:37:44 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Sep 27 23:37:44 2010 +0000"
      },
      "message": "THRIFT-787. compiler: Enums are not read correctly\n\nThis patch removes unnecessary enum value resolution code from all the individual generators. It\u0027s been unnecessary since forever ago when we made the compiler force the global resolution of values.\n\nPatch: Christian Lavoie\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1001966 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "71a58a87648c03309d00d959af74ca45c7700cfd",
      "tree": "57c7c1cccf26fbb367a1027342c36650697b2770",
      "parents": [
        "515c2381b71cf997c17a70c144bfc622a388c6a0"
      ],
      "author": {
        "name": "Anthony F. Molinaro",
        "email": "molinaro@apache.org",
        "time": "Mon Sep 27 19:27:40 2010 +0000"
      },
      "committer": {
        "name": "Anthony F. Molinaro",
        "email": "molinaro@apache.org",
        "time": "Mon Sep 27 19:27:40 2010 +0000"
      },
      "message": "THRIFT-918 : better haskell tests\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1001883 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "daef1c8ed02102936655b9101a30cc8737a9eb15",
      "tree": "5d8676ac1ec36c74be58570e57ad8607079caf97",
      "parents": [
        "7404f2a72ffa3ec4495625f6eebc9a3735efd56b"
      ],
      "author": {
        "name": "Anthony F. Molinaro",
        "email": "molinaro@apache.org",
        "time": "Sun Sep 26 04:25:36 2010 +0000"
      },
      "committer": {
        "name": "Anthony F. Molinaro",
        "email": "molinaro@apache.org",
        "time": "Sun Sep 26 04:25:36 2010 +0000"
      },
      "message": "THRIFT-743: seems to compile and doesn\u0027t break other tests, so seems fine for now\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1001353 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6461d56d025893581fd9b06487b7c4788af3c0ed",
      "tree": "a53617106a5711d5f8a1906fb2dc00cf3ec1df3a",
      "parents": [
        "75a33e858fdeb2171a4ee973ee2e53d39e891d27"
      ],
      "author": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Wed Sep 22 02:33:06 2010 +0000"
      },
      "committer": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Wed Sep 22 02:33:06 2010 +0000"
      },
      "message": "THRIFT-911: fix for trailing commas in sets, lists, maps, consts\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@999728 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "75a33e858fdeb2171a4ee973ee2e53d39e891d27",
      "tree": "ef607ff4c80dd1123a7ccd8f9827aa5345e00e44",
      "parents": [
        "f9e3c3b140f046bf726c79db77a2a02cdc452e9b"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Sep 22 00:48:56 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Sep 22 00:48:56 2010 +0000"
      },
      "message": "THRIFT-906. hs: Improve type mappings\n\nThis patch fixes the type mappings to be more sane. It *will* break existing code, but the breakages should be well worth it.\n\nPatch: Christian Lavoie\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@999700 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1237dcb099a068f83f31cc51df428f5c828d0511",
      "tree": "d79af03e648901967d1df27703c0c00e2e85c5f7",
      "parents": [
        "f38b2f10fb83284c9a449e9aec82fc2a10cba81e"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Sep 20 17:49:09 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Sep 20 17:49:09 2010 +0000"
      },
      "message": "THRIFT-880. javame: JavaME code generator and runtime library\n\nThis patch adds a new generator and library that produces code suitable for use in JavaME environments.\n\nPatch: David Engberg\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@999022 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f38b2f10fb83284c9a449e9aec82fc2a10cba81e",
      "tree": "4431a0ea5f81b839a01a8e698b047f01f19f05eb",
      "parents": [
        "e59a80fbf9d3be9eab5353355718fbd495fad0f1"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Sep 20 17:41:40 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Sep 20 17:41:40 2010 +0000"
      },
      "message": "THRIFT-901. hs: Allow the bindings to compile without -fglasgow-exts and with -Wall -Werror\n\nForgot a small chunk of the previous patch.\n\nPatch: Christian Lavoie\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@999019 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e59a80fbf9d3be9eab5353355718fbd495fad0f1",
      "tree": "5e53ce8b7cef50693c92c7eb698fb2349366de41",
      "parents": [
        "fd32d79afa6a728b6dc320c5e0eda108b0622f98"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Sep 20 15:21:37 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Sep 20 15:21:37 2010 +0000"
      },
      "message": "THRIFT-901. hs: Allow the bindings to compile without -fglasgow-exts and with -Wall -Werror\n\nThis patch makes the bindings compile with pedantic warning levels, and individually declares each required language extension.\n\nPatch: Christian Lavoie\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@998955 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d920765c66472d0011a7c6b3c8ce612317fa3801",
      "tree": "2cf8593dfa6ee143cad7960ea95bbfd0fae79027",
      "parents": [
        "bdd6261b3336cbb7f3df2829e0c001f6591bb224"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Sep 17 19:27:36 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Sep 17 19:27:36 2010 +0000"
      },
      "message": "THRIFT-882. java: deep copy of binary fields does not copy ByteBuffer characteristics (arrayOffset, position)\n\nThis patch ensures that binary fields are copied correctly.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@998275 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d4235e0a47bde7a2fdbc9fc73dc6ca7231992278",
      "tree": "83c23dd8c22d7983c629b909e514f3b83026c4c5",
      "parents": [
        "a7420b6593998776871d55cbf415a0531c76a012"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Sep 13 16:28:53 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Sep 13 16:28:53 2010 +0000"
      },
      "message": "THRIFT-870. java: Java constants don\u0027t get Javadoc comments\n\nFix a trivial oversight.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996592 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a7420b6593998776871d55cbf415a0531c76a012",
      "tree": "9372057e8c93e9dab4e7e078db28e3a2f57cbf8a",
      "parents": [
        "a4c6d64e80e3d7f598ad97d213e83d66b7063a83"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Sep 13 15:42:36 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Sep 13 15:42:36 2010 +0000"
      },
      "message": "THRIFT-894. java: Make default accessors for binary fields return byte[]; provide new accessors to get ByteBuffer version\n\nThis patch causes the underlying ByteBuffer that backs a binary field to be hidden behind a default accessor that provides a byte[] interface. This should allow users who skipped 0.4 to update their generated code without breaking any of their other code. A new accessor has been added that allows a way down to the underlying ByteBuffer for those experts who want to take advantage.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996579 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "76ecb91c3d7034c939d6df9316f571cbf9f7ce09",
      "tree": "2e3090a44cdb99737eeae7e758e4b9f91377b78f",
      "parents": [
        "6e05e25c8977953a46251f5abfaf111a3ae9607b"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun Sep 12 15:29:38 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun Sep 12 15:29:38 2010 +0000"
      },
      "message": "THRIFT-897. compiler: Don\u0027t allow unqualified enum constant access\n\nFix some confusion in the java generator about adding the class name.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996327 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b6c50e56583d503ab7dcc843d4e09d99f8010ef3",
      "tree": "286e1ed8025f0cd60cfeb717b989d2ee097c77a6",
      "parents": [
        "13ad873d1815da49cf17f7a52c98895bfde011e1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Sep 10 23:00:40 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Sep 10 23:00:40 2010 +0000"
      },
      "message": "THRIFT-895. cpp: By default, generate enums as class-scoped enums\n\nMost of the other Thrift languages either have enum values that are\nscoped to the type or emulate enums in that way.  Now C++ does the same\nby default.  \"enum Foo\" in a .thrift file will be generated as Foo::type\nso the values can be called Foo::value1, etc.  The \"pure_enums\" compiler\noption restores the old behavior.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996015 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "04650afb872fbf62dc31426d7278261bf178fc4f",
      "tree": "39f0a128bea6cac2ee90f8df1634537e0883ec32",
      "parents": [
        "34628f3e7ae6f69bad0ce31af0e7008873839bd6"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Sep 10 18:49:53 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Sep 10 18:49:53 2010 +0000"
      },
      "message": "THRIFT-544. erl: multiple enums with the same key generate invalid code\n\nThis adds the enum name to the generated constants to avoid collisions.\n\nPatch: Ben Taitelbaum\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@995924 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c377c32168de2c9fdc73e9c29d8ed2425e1d8395",
      "tree": "02a6522dcd278e7044a681da0c5fcd6ec724f28c",
      "parents": [
        "a9ca25a81ec3d5a82c03ca31e2cfad3c4b87c674"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 15:37:19 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 15:37:19 2010 +0000"
      },
      "message": "THRIFT-257. py: Support validation of required fields\n\nPatch: Esteve Fernandez\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991987 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c43ec6247af8c67f4e14e8e2bab40b46baf03fce",
      "tree": "328d39da051df9650822def4bf3082d969f4d56c",
      "parents": [
        "1316ed9d1644234106035d76f48d6362c41bf914"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 14:58:51 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 14:58:51 2010 +0000"
      },
      "message": "THRIFT-634. csharp: C# Compiler Generates Incorrect Code For Fields which begin with an uppercase letter\n\nAdded a \u0027_\u0027 to the backing field, and changed all the field references to refer to the property instead.\n\nPatch: Jon S Akhtar\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991960 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1316ed9d1644234106035d76f48d6362c41bf914",
      "tree": "3eed4e23b412aec3d33bd1bdb4965ce1b052b700",
      "parents": [
        "7112c0712e0156fe227cf3dabf2cec6f80763d33"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 14:20:01 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 14:20:01 2010 +0000"
      },
      "message": "THRIFT-673. py: Generated Python code has whitespace issues\n\nThis patch trims several forms of trailing whitespace.\n\nPatch: Ian Eure\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991945 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "727d67dcfad44784b1ef552d4744f739a8fe7d3c",
      "tree": "a6117cd628cd37925775c46dd126347042fbcbb4",
      "parents": [
        "010f1e09d09d7a5169b3468399928b6e807aab29"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 01:00:19 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 01:00:19 2010 +0000"
      },
      "message": "THRIFT-721. py: THttpClient ignores url parameters\n\nRespect query string in THttpClient and generated remotes. Also, add an error message on unknown methods.\n\nPatch: Thomas Kho\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991786 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "773b8dbf301442372d4f7b3a84ee150e034047e6",
      "tree": "7d900b3dc35467ad2308edf0b960a6b910d29fd6",
      "parents": [
        "686d92ce66c100e8fc9671ea8a021aca21adc5cf"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 00:43:16 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 00:43:16 2010 +0000"
      },
      "message": "THRIFT-805. cocoa: Don\u0027t generate process_XXXX methods for oneway methods\n\nPatch: Brad Taylor\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991783 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e02d6118bfe00f74fec801efcb677ef17dfe928e",
      "tree": "635eefccd9e0b4c5fa63c7a856ae99fe33d3fef3",
      "parents": [
        "a55f51d8709582e1d054844c17c554e8d124b394"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 00:29:08 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 00:29:08 2010 +0000"
      },
      "message": "THRIFT-838. cocoa: Generated Cocoa classes have useless @dynamic declarations\n\nThis patch removes the @dynamic properties.\n\nPatch: Kevin Ballard\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991779 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cd9f200b9de57f08f3d4f0b7acb995227ab157cd",
      "tree": "db7258cc0d35445ca578a9936276afa250812d64",
      "parents": [
        "0f4078dbf5ed39beeacd509f1fab8fcb17d4c44a"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 00:12:22 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 00:12:22 2010 +0000"
      },
      "message": "THRIFT-884. html: HTML Generator: add Key attribute to the Data Types Tables\n\nThis patch adds the Key attribute to the Data Types Tables.\n\nPatch: Roger Meier\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991775 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0f4078dbf5ed39beeacd509f1fab8fcb17d4c44a",
      "tree": "a133192f74154289267d9907176abd7bf761ff76",
      "parents": [
        "38104c8234d28249912eeda5d8b45534ba4faa74"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 00:07:20 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Sep 02 00:07:20 2010 +0000"
      },
      "message": "THRIFT-860. ocaml: copy method and reset method\n\nThe attached patch provides the class copying and reset-to-default values methods.\n\nPatch: Lev Walkin\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991774 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5ad126044d56e0277c9ad31998777e04ae82eb42",
      "tree": "cedb1289aa1b81171e0e8d2a6bd97858deb5bd6e",
      "parents": [
        "4563acdd236da80f2cadc2ba548d05c10f5b2998"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 31 16:51:30 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 31 16:51:30 2010 +0000"
      },
      "message": "THRIFT-874. Include missing time.h in two compiler files\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991255 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "38f89597798a911221839188864f5f90949e3416",
      "tree": "f96c1d6c365514748d7465142b82978ad448b76d",
      "parents": [
        "bfab32a3b3937d413a38082b817c2829486ab52f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 31 16:51:25 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 31 16:51:25 2010 +0000"
      },
      "message": "THRIFT-507. ruby: Stop using boost::tokenizer\n\nPreviously, the Ruby generated used boost::tokenizer to produce a\nvector of namespace components from a dot-delimited namespace string.\nWe can do this manually with only a slight increase in complexity.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991251 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bfab32a3b3937d413a38082b817c2829486ab52f",
      "tree": "6a56ec2cc57738e16e5d9ef6579cedba05ec9120",
      "parents": [
        "dcc7e9b33343ab2ed07ec2fe46e670d7d5c193be"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 31 16:51:24 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 31 16:51:24 2010 +0000"
      },
      "message": "THRIFT-507. smalltalk: Remove an unnecessary include (boost/tokenizer)\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@991250 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "eb207273ea3e1e7210092cfee2848b855d67feb1",
      "tree": "1364e4edfb2b0266ea8a0e01ca82cc9ad7025be3",
      "parents": [
        "480d5ab62b6fa320a0f098575020b3cae08a3f14"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Aug 30 22:05:27 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Aug 30 22:05:27 2010 +0000"
      },
      "message": "erlang: Make the gen-code return a special value for bogus functions\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@990978 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f32d0fb90085009cd53efd402f21d6fe6dcde492",
      "tree": "ca3f29521c38ab29e2e505bc58355f600a27c4d9",
      "parents": [
        "73af3b7c4c3b3d71c12544ed800ec9b1c537c783"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Aug 30 22:05:00 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Aug 30 22:05:00 2010 +0000"
      },
      "message": "Rollback a few recent Erlang changes to fix blame data\n\nMy combined patch for THRIFT-599 was committed, but it is preferable\ncommit the individual patches to preserve the more detailed log and\nblame data.  I\u0027ll recommit r987018 as a sequence of patches and r988722\nas its own rev.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@990957 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4d8a9cd5693e9d6d14d4196d325be2e6917043a5",
      "tree": "12756627d4634bb0c5aff1fb40e0536fe4b12d28",
      "parents": [
        "90ec5bfcd0acd9314b0c02df25802fe9e26de4e3"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Aug 30 17:09:58 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Aug 30 17:09:58 2010 +0000"
      },
      "message": "THRIFT-877. compiler: smalltalk namespace doesn\u0027t work\n\nThis patch adds a special case to map \u0027smalltalk\u0027 to \u0027st\u0027 when checking for valid namespace declarations.\n\nPatch: Bruce Lowekamp\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@990866 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e3ba3490deabc8beb5a0f694b3134b16c5e3b68f",
      "tree": "a6569841fc5fd54491335b39bcb9fd6cd1b8c3a4",
      "parents": [
        "89200e1c9df54bd90a240a61849842e7584304e4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 26 21:49:45 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 26 21:49:45 2010 +0000"
      },
      "message": "Clean up some style from r987565\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@989948 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "66467a7779b980bf8e338ab3e9407fea64a6743f",
      "tree": "24e9590a50a8d80d7ecf4924bb4b934f1c45aa4e",
      "parents": [
        "0d28efac2d1caf844c7c8e44eb5feee07cdc8cd5"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Aug 21 17:48:18 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Aug 21 17:48:18 2010 +0000"
      },
      "message": "THRIFT-693. java: Thrift compiler generated java code that throws compiler warnings about deprecated methods.\n\nThis patch removes the deprecated methods from TBase and makes some generator changes to accommodate.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@987805 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c39817c9a7800d7185f908f726137bcb11c0df2c",
      "tree": "bbc8195b979a42803ca70acb46ae37332fbd0d6d",
      "parents": [
        "681f5eae6dee4e317248145be07be0b6ded5c1e8"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Aug 20 16:45:13 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Aug 20 16:45:13 2010 +0000"
      },
      "message": "THRIFT-859. py: Allow py:twisted to be generated in different namespace than py\n\nThis patch adds support for the \u0027twisted\u0027 sub-namespace to the python code generator.\n\nPatch: Bruce Lowekamp\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@987566 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "681f5eae6dee4e317248145be07be0b6ded5c1e8",
      "tree": "400152a6cee3319874eb83f9e5c03bc9aa45cc27",
      "parents": [
        "3adf8aad36eb46bf94c7c8ab7fc3a743775b46b2"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Aug 20 16:42:04 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Aug 20 16:42:04 2010 +0000"
      },
      "message": "compiler: make a standard way for language generators to accept sub-namespaces\n\nThis patch adds a new method to t_generator that allows the compiler to avoid special cases in checking for sub-namespaces in the Thrift IDL.\n\nPatch: Bruce Lowekamp\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@987565 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d3879f80c6bfb8c60b569ceb9a6235fcdff066a2",
      "tree": "7fdca464c46a47906eec4da069f20a7f90cf12d7",
      "parents": [
        "d50f347e33abcfc5c4d70bb8d276f3e1951f4e00"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 19 05:06:02 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 19 05:06:02 2010 +0000"
      },
      "message": "THRIFT-599. erl: Don\u0027t use unnecessary processes in the Erlang transports and clients\n\nThe only user-visible changes are to the client. Every thrift call now returns {NewClient, Result} instead of just Result.\n\nPatch: David Reiss (assist to Anthony Molinaro)\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@987018 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4d0e2b48bf30af8378436529b439662e752a5468",
      "tree": "9391b6e99c8216d5850aa892f25f9141653c163f",
      "parents": [
        "56b44d72b9bc6cd0443b860feb930b270cd93ea1"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun Aug 15 22:57:07 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun Aug 15 22:57:07 2010 +0000"
      },
      "message": "THRIFT-852. Missing newline causes many compiler warnings\n\nThis patch adds a newline to the end of t_generator_registry.h\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@985771 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "66c334792b1148f7eec8af923b5d90b29a89201e",
      "tree": "b3da52a7dfba27dc56a3643322a59d8bab2faef2",
      "parents": [
        "cf8fc15fa083d4111886b304e287e9811fe1b9c0"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 12 23:37:47 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 12 23:37:47 2010 +0000"
      },
      "message": "THRIFT-827. ocaml: OCaml generator to take default values into account \n\nA patch to the OCaml generator which uses default values defined in the .thrift file to initialize the members of the generated class. \n\nPatch: Lev Walkin\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@985041 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e2350512c9e2bcff8f5d3c2a3108e2573e85a1a5",
      "tree": "02b8e50b591ccc0f0b715b2aa8cf5b3f8a919e2b",
      "parents": [
        "07b2ed1df5a7438c974480c2888ec64437c1466e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 12 21:15:04 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 12 21:15:04 2010 +0000"
      },
      "message": "THRIFT-676. cpp: Move __isset definition for SWIG-compatibility\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@984979 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "07b2ed1df5a7438c974480c2888ec64437c1466e",
      "tree": "5148cb3edaa8c24833e215776ffef8c2c0431a29",
      "parents": [
        "17115d7a528b6351fc230fe73b6d765b8e186264"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 12 17:21:06 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 12 17:21:06 2010 +0000"
      },
      "message": "THRIFT-832. html: HTML generator shows unspecified struct fields as \u0027required\u0027\n\nThis patch causes required/optional/default to reported appropriately.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@984868 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f5abd26858f6839c9b8853c8fe810b94b310d1ad",
      "tree": "a8e94995d36edfcb9318d8cb0c8f6c2ee1542506",
      "parents": [
        "7f3285eddb0c4e1f58e2facacd47cf992e50c34c"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Aug 06 00:18:25 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Aug 06 00:18:25 2010 +0000"
      },
      "message": "THRIFT-830. java: Switch binary field implementation from byte[] to ByteBuffer\n\nThis patch switches the implementation of binary fields to ByteBuffer in the Java generated code, yielding up to 2.5x speed boost.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@982839 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "20dbec7cfe9f9b642f5c04d550063e600c35a9db",
      "tree": "8be6b22f0112386e3cab92ebebdf1c094b172925",
      "parents": [
        "ad776c14256b3dd0b8d3ff6d466416c3f7f1f642"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 05 22:28:13 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 05 22:28:13 2010 +0000"
      },
      "message": "THRIFT-782. perl: Perl code for writing containers doesn\u0027t count length of write*Begin or write*End\n\nThis patch adds appropriate accounting of the start and end bytes when writing out container types.\nPatch: Conrad Hughes\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@982812 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5226eeaaaa1789fccce5c7cf0a5cef0a38190df8",
      "tree": "82a5e8e1f0e1e1e953d24840c8311799f118b138",
      "parents": [
        "c412a2fad4e25f73a72f9821fd297937d9b2abda"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 05 20:44:53 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Aug 05 20:44:53 2010 +0000"
      },
      "message": "THRIFT-751. java: Add clear() method to TBase\n\nThis patch adds a clear() method to the TBase interface and causes the compiler to generate implementations.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@982774 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e0ac3abd534151e845fe229881a5ef27baf1b521",
      "tree": "eb8d7be8b2ff8899f8b326dc90ef6a9b6831c79a",
      "parents": [
        "efabb89c75169611801330b71b5fd230d46f8128"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jul 29 16:24:41 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jul 29 16:24:41 2010 +0000"
      },
      "message": "THRIFT-133. \u0027namespace ruby\u0027 should error out, or be an alias to \u0027namespace rb\u0027\n\nThis patch causes \u0027namespace ruby\u0027 (or any unrecognized generator name) to produce an error.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@980498 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "95c005a7c69d106591202cfa6eded6354608b307",
      "tree": "1096e7708186dc192f06f49b3691b6ab6395d187",
      "parents": [
        "623594749c76f65bf964a5dc517128f207d25b42"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jul 01 05:36:25 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jul 01 05:36:25 2010 +0000"
      },
      "message": "THRIFT-395. python: Add option to treat strings as UTF-8 unicode\n\nAdd the \"utf8strings\" option to the Python generator.  If set, all\nThrift strings (not binary) will be expected to be unicode objects, not\nstr.  They will be encoded as UTF-8 before serialization and decoded as\nUTF-8 after deserialization.\n\nThe accelerator module for TBinaryProtocol is not affected.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@959516 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "162b3ac6465d598e834609c8fae5b341f8e941d8",
      "tree": "6d546685b4c03ba11ca5e13b4d5f3f7b41df6ea9",
      "parents": [
        "656683c776f594da98b8df6d00fcb2a316d56171"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 23 21:17:48 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 23 21:17:48 2010 +0000"
      },
      "message": "THRFIT-804. java: CompareTo is broken for unions set to map, set, or list\n\nThis patch fixes TUnion\u0027s compareTo, and factors out the standard part of the comparison to TBaseHelper.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@957350 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2e1aab5db73ff3a32af112ee955b891d4705afc5",
      "tree": "082c7e0cdd11f1b2827baca9ee84d856b4c35c92",
      "parents": [
        "c07057e49ff8a2a1d2b772cf8655f55b01893350"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 23 16:54:17 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Jun 23 16:54:17 2010 +0000"
      },
      "message": "THRIFT-767. rb: ruby compiler does not keep comments for enum values\n\nThis patch makes sure that we print an rdoc comment above each of the enum values.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@957268 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d58ccec66090afbbef68471cb635ad731ef03319",
      "tree": "d1481420fba82e50ff18e7ec2511cc2d4dd86151",
      "parents": [
        "7ceba947212b6709adac7395a29d39376c50c9a4"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed May 26 16:34:48 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed May 26 16:34:48 2010 +0000"
      },
      "message": "THRIFT-768. java: Async client for Java\n\nThis patch adds an implementation of a fully-asynchronous client that makes use of NIO. Stubs for the async method calls are generated along with the existing synchronous ones.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@948492 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c8ee35805dc23143a8e0e774cee497deea4fa97d",
      "tree": "cb870f26a153aea33c0ee5114d18096cd3ab8217",
      "parents": [
        "a1e268c54b6702dc9223623fd51a8c96df8335d2"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue May 04 14:01:14 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue May 04 14:01:14 2010 +0000"
      },
      "message": "revert an unintentional commit to the java generator\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@940861 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6a681873383b931c82f5a4ddafb0c58547516eca",
      "tree": "26d49d0407697f3138523636eb6024ed1f470424",
      "parents": [
        "06491d7bb591f8b55d4be6b116b246c56af66511"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun May 02 22:39:31 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun May 02 22:39:31 2010 +0000"
      },
      "message": "THRIFT-647. php: PHP library is missing install target\n\nThis patch adds a \u0027make install\u0027 target to a new PHP makefile. \n\nPatch: Anthony Molinaro\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@940325 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "97d21c853d543dbba497650badcf10334910edaf",
      "tree": "c7321b48f3130f0f1c7eabd73468a6d429e324d3",
      "parents": [
        "719ab84318ae1c7c59da5657ef0ad41dc4c3f921"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Apr 26 18:16:46 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Apr 26 18:16:46 2010 +0000"
      },
      "message": "THRIFT-760. java: Generated client code does not set or check the sequence ID in messages\n\nThe Java generated clients weren\u0027t paying attention to sequence ids. Now they are\\!\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@938169 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "321eb7a2bdedde79102dfcf0fcefd99f45ec2075",
      "tree": "38b00b3a9a543390a7bdb67e8f858c2435eeb5bf",
      "parents": [
        "15e2930ccf8fd4932bd700f7dd9ba433819368d5"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Apr 22 21:17:39 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Apr 22 21:17:39 2010 +0000"
      },
      "message": "THRIFT-518. as3: Add the AS3 generator and library\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@937067 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "15e2930ccf8fd4932bd700f7dd9ba433819368d5",
      "tree": "b74cfd0eaf3ec53387c7603327007b17f32dc0a5",
      "parents": [
        "60229785cb858c919f832e8ce8155c7c4ce06012"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Apr 22 01:05:02 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Apr 22 01:05:02 2010 +0000"
      },
      "message": "THRIFT-761. java: Include the symbolic name of a typedef field in the field metadata\n\nThis patch adds a new isTypedef() method to FieldValueMetaData and converts MetaDataTest to a testcase in TestStruct.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@936588 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "60229785cb858c919f832e8ce8155c7c4ce06012",
      "tree": "e5757fd8c3806eacabc30a9a4093cd3a6a0554e3",
      "parents": [
        "505b4c1e98bdb07d4f047cbe6d75a604750c2881"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Apr 22 00:27:41 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Apr 22 00:27:41 2010 +0000"
      },
      "message": "THRIFT-763. java: Variable capture bug in generated struct compareTo\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@936583 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0fab12e9681581d4919cb7afe21d853c9e300614",
      "tree": "ff0c076e5852739ebe29a4167b41df06f96c435f",
      "parents": [
        "3292b3fed9665b04d6bfa2c8824af20332fbef39"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Apr 22 00:22:34 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Apr 22 00:22:34 2010 +0000"
      },
      "message": "THRIFT-759. java: Make TBase implement Comparable\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@936581 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "49b38015a672613c83d7c7a2954a9eb331b59a5a",
      "tree": "5c6fbba94a265656e4774a8f8fb03dada53c76bf",
      "parents": [
        "b1f7f7973bed233ec6f21807dfd774f7b600c5ec"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun Apr 04 04:01:07 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun Apr 04 04:01:07 2010 +0000"
      },
      "message": "THRIFT-753. java: Don\u0027t look up TFieldIdEnum values with a map\n\nInstead of using a generated map, use a big switch statement.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@930618 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b1f7f7973bed233ec6f21807dfd774f7b600c5ec",
      "tree": "2e3468f58310b9bb534a51ff7abc461a6e493408",
      "parents": [
        "88569a25d1e8380574de16be541f9e6e18bbca12"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Apr 03 23:19:52 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Apr 03 23:19:52 2010 +0000"
      },
      "message": "THRIFT-746. java: Generated services Iface/Client inner classes do not derive from base classes\n\nThis patch causes all generated Client classes to inherit from TServiceClient, an interface that provides a way to get the protocols the Client is using. Also, it causes a new TServiceClientFactory implementation to generated for each Service, which provides a generic, reflection-free way to get Clients. These changes make it easier to build generic pools of Client objects.\n\nPatch: Mathias Herberts\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@930601 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ea7910faf3abc85e90ba88bc9615b2fa3e8efd2d",
      "tree": "b2f709bcc00900f5a1c5984c96bd1be3f686ecd2",
      "parents": [
        "5557beffaecbd7b97a90ed38afc49c2a091aadba"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Apr 03 05:04:48 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Apr 03 05:04:48 2010 +0000"
      },
      "message": "THRIFT-663. java: JavaBean code generator produces incorrect setter methods\n\nThis patch causes the beans option to suppress the builder-style setter methods. It also adds a new \u0027private-members\u0027 option that leaves the builder-style methods, but makes the actual instance variables private.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@930474 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5557beffaecbd7b97a90ed38afc49c2a091aadba",
      "tree": "9bc037d9dea95cb12a2c7f6accc1792e207aa5fb",
      "parents": [
        "b35240f4d585a4f0415bf64fca5a39e0008380eb"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Mar 29 23:57:09 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Mon Mar 29 23:57:09 2010 +0000"
      },
      "message": "THRIFT-723: java: Thrift buffers with set and map types in Java should implement Comparable\n\nThis makes structs that contain sets and maps in their hierarchy Comparable.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@928944 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "15b7b287947dd348e2801ead6b1a33b2a2d6b31b",
      "tree": "9d4e82167abe6782e608debf1ec3592c03141d27",
      "parents": [
        "27c97857582b79f9ca684e03641d1cf81e8916e3"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 23 05:39:18 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 23 05:39:18 2010 +0000"
      },
      "message": "THRIFT-701. java:  Generated classes take up more space in jar than needed\n\nUse a static {} block instead of an anonymous inner class to define metaDataMap. This saves some space in jars generated by avoiding the internal class.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@926466 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3f4ca0e8fd63ed0fde1a5a00097144384436f9b2",
      "tree": "e9e3d4ec83c63a8a414c9efee517466193d34ca8",
      "parents": [
        "5f013bb45d0c380b034c2099614ab1ba5eaea021"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 16 03:13:26 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Mar 16 03:13:26 2010 +0000"
      },
      "message": "THRIFT-734. java: Can\u0027t use primitive types in service definitions for bean generated code\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@923566 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ac110e4f1cd87ce38fce06e61ef88bc84ac2edb0",
      "tree": "36ed0ff4d1a5a098f89eaeaf5571fe884e8cffd6",
      "parents": [
        "7a2065d3dbdf361bbbe8b66a5b03080c0e532403"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:20:07 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:20:07 2010 +0000"
      },
      "message": "cpp: Eliminate circular dependency between thrift libraries\n\nPreviously, Thrift.cpp contained TApplicationException, which was using\nTProtocol methods, defined in TProtocol.h.  This caused a circular\ndependency since libprotocol depends on Thrift.h.  This change moves\nTApplicationException into its own file.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920682 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e574a065a9ed100bda718582dc3378abc2933e78",
      "tree": "b3e47e76b334b6eddf9caa63637f70a95947a4c1",
      "parents": [
        "006260f07a49f74b1fe8fa7be39b0d34d14b8067"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:22 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:22 2010 +0000"
      },
      "message": "THRIFT-660. php: Use the accelerator to write return values from servers\n\nPreviously, we only used the acclerator module for clients to\nwrite calls and read returns.  Now PHP servers will use it for\nwriting returns.  We cannot use it to read calls on the server side\n(without modifications), because the module requires that\nthe structure type be known before reading the message header.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920663 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": "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": "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": "a34a4be080e90888842959794b4c8e7838276996",
      "tree": "744e8e947ec5e8e46a29e9f48e6a698a0d487d25",
      "parents": [
        "205e4500f9212ee3689fd973ca4e7b4886d2ed1d"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Feb 19 20:00:55 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Feb 19 20:00:55 2010 +0000"
      },
      "message": "remove an erroneously added newline in ruby generated structs\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@911957 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": "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": "ba4bf4d512439b8eb1fb42584793dec40682a7f9",
      "tree": "9842b99681669f8e4907e9cda8f337b9ff36299c",
      "parents": [
        "3bb5e0581a076e5c754470f4d44979ad0cff8bc1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jan 26 20:06:36 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jan 26 20:06:36 2010 +0000"
      },
      "message": "THRIFT-691. haskell: Don\u0027t block required prelude definitions\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@903393 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": "c4ad9be578f22e240b28af2ca89f83ac18179cd1",
      "tree": "8c0b6665ec5379a61bffb0694a090d750a3b649e",
      "parents": [
        "db57aa0df9f83ff035bedb7e0afc447d0214acc0"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Jan 16 09:13:20 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sat Jan 16 09:13:20 2010 +0000"
      },
      "message": "THRIFT-675. java: Generated findByValue() should just switch on value instead of mapping\n\nThis patch removes the map-based enum value lookup and replaces it with a static switch statement.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@899911 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9bfacd36800f052e33ffa78a06bc9a4f600e5f3d",
      "tree": "f06b75d636ba835cf1352f054e3313d6f6076166",
      "parents": [
        "55b38bc3af3bca57d3def1e7863bb0f327a72dbc"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:27:52 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:27:52 2010 +0000"
      },
      "message": "THRIFT-678. html:  HTML generator should include per-field docstrings\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@899722 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "55b38bc3af3bca57d3def1e7863bb0f327a72dbc",
      "tree": "3b93146bcb648088fe4678dcab89aaeeebc11f34",
      "parents": [
        "68f8c389bd00ef179b6b0bd03a7aadcbe2cfd05a"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:20:04 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 15 17:20:04 2010 +0000"
      },
      "message": "THRIFT-674. java: Generated read() should just switch directly on field.id\n\nThis patch gets rid of an unnecessary map lookup and null check in generated structs\u0027 read method, amounting a noticeable performance improvement.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@899721 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": "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": "986d50fc718f06b234cf59effd9d374678801557",
      "tree": "d21fd268a8a36c5bb9f5714f4f6182403bc85a8c",
      "parents": [
        "d250314e66b5a90b4aa5060ee1e326b5818cbb46"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Dec 31 18:18:00 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Dec 31 18:18:00 2009 +0000"
      },
      "message": "THRIFT-668. java: Using a map in an exception type will generate a class that does not implement Comperable-\u003e that will generate a stub that does not compile\n\nThe compiler was incorrectly assuming that exceptions were comparable. Now, exceptions are treated just like structs.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@894919 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": "e533bace3d462ebad7c65d7de4fd167a0ffbe740",
      "tree": "ef6c0175e2d1308d1af6744d48e8a67acf47df9b",
      "parents": [
        "2727fab22f11a9d9c30b2c47d9d010adf97c15d6"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Dec 18 19:34:25 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Dec 18 19:34:25 2009 +0000"
      },
      "message": "THRIFT-653. java: Fix toString method for enums\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@892357 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": "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": "e476480691d114ad1f1a9794bd10b34df6554ad2",
      "tree": "82a1389fb34c248d8afa3a32215265aad5abc133",
      "parents": [
        "559a49f03c072ebb0c5b2ce6e667a4e09555e95d"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Nov 17 21:56:43 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Nov 17 21:56:43 2009 +0000"
      },
      "message": "THRIFT-628. java: Hash code method for _Fields objects does not behave as expected\nThis patch switches to using the hashcode of the actual field id, instead of the field id enumeration.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@881559 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "559a49f03c072ebb0c5b2ce6e667a4e09555e95d",
      "tree": "cc29975b6d6c2a3c97559f80275b8ca69c7bbfe0",
      "parents": [
        "aa9fb5dc9de5f3cfbe086e6df8e7c6d3640c272c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 13 04:52:10 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 13 04:52:10 2009 +0000"
      },
      "message": "THRIFT-621. cpp: Fix generated files using \"apache\" namespaces\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@835739 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": "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": "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": "3533dcbef88d1c4bae8e610f289c3297aea26a67",
      "tree": "187e507688a13311f79dea8ed09116757e341c63",
      "parents": [
        "034c49f0fcf95f13982de528f19760f5ed01617e"
      ],
      "author": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Tue Nov 03 18:52:15 2009 +0000"
      },
      "committer": {
        "name": "Andrew McGeachie",
        "email": "geechorama@apache.org",
        "time": "Tue Nov 03 18:52:15 2009 +0000"
      },
      "message": "THRIFT-613.  Make generated objects implement the NSCoding protocol.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@832507 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ],
  "next": "72751724b5c1ff0397b8a35875cf3cb19f81ef64"
}
