)]}'
{
  "log": [
    {
      "commit": "8bbd8447b9de8a31ce50e6611d8f513d281897a3",
      "tree": "8f2206f458368c51737221058dae8a8045b256ab",
      "parents": [
        "46b77c4be6c0cbd336f4e4501b9722de6ce25666"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Jan 20 01:54:14 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Jan 20 01:54:14 2009 +0000"
      },
      "message": "THRIFT-223 Validate method should check that enum types are assigned valid values\n\nEnum classes now get a VALID_VALUES Set that contains all of the acceptable values. Structs\u0027 validate() method has been extended to compare an enum field\u0027s value to the valid value set, but only if the __isset flag for that field is true, meaning that non-beans generated code will not perform this validity check unless the __isset flag is manually maintained.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@735910 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "46b77c4be6c0cbd336f4e4501b9722de6ce25666",
      "tree": "51fb2d4b2d6dc89f85c20528c88280971e0091f9",
      "parents": [
        "9c983c2db0856293715fe64bd84272bf3fbdfb87"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 16 22:34:40 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Jan 16 22:34:40 2009 +0000"
      },
      "message": "THRIFT-224 Validate method should check that enum types are assigned valid values\nEach generated enumeration type will now have a VALID_VALUES Set as a static member that contains all the values of the enumeration.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@735167 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "afa80ea73d4cbf83afee807e5d9f9034fa177ade",
      "tree": "a770bab388608fef36e407fa83511d1c4ad0b5b4",
      "parents": [
        "c85fd50e2b3308e84345e5e0045507c20e6c5626"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 15 23:47:51 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Thu Jan 15 23:47:51 2009 +0000"
      },
      "message": "THRIFT-34 Java libraries should be namespaced under org.apache.thrift, not com.facebook.thrift\n\nLibrary classes and tests have been moved to the proper package and directory structure, and references to com.facebook.thrift where replaced with org.apache.thrift throughout the code. The fb303 contrib project still contains com.facebook packages.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@734855 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "46bb4aeb5e792b72810062f289151fde7d27a73b",
      "tree": "80efa4f7bd71d89e83b8a8d7d21873edc56834ae",
      "parents": [
        "7bcf866c16525ee7ca709e250178a61333db27c4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jan 14 22:34:15 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jan 14 22:34:15 2009 +0000"
      },
      "message": "THRIFT-242. python: Used named arguments in __init__ instead of a dict\n\nThis is a wire-compatible but non-source-compatible change.\nWhen initializing structures, you must use\n\nFoo(bar\u003d1, baz\u003d\"qux\")\nFoo(**{\"bar\": 1, \"baz\": \"qux\"})\n\ninstead of\n\nFoo({\"bar\": 1, \"baz\": \"qux\"})\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@734536 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7bcf866c16525ee7ca709e250178a61333db27c4",
      "tree": "e9779b861ff3e04637d0554dd4d2220f4242a815",
      "parents": [
        "c654416843d84a9bd43add0dbc4567920947ea73"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jan 06 20:54:27 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jan 06 20:54:27 2009 +0000"
      },
      "message": "THRIFT-249. java: Add @param lines to function docstrings\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@732116 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c654416843d84a9bd43add0dbc4567920947ea73",
      "tree": "cadd3e7d5f9ff601332cb3c50a6d987b22b76936",
      "parents": [
        "b0f31ef92fae72f60162b9ef03b498551d529cb5"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jan 06 19:49:33 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jan 06 19:49:33 2009 +0000"
      },
      "message": "THRIFT-129. csharp: Make all Thrift structures extend TBase\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@732081 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b0f31ef92fae72f60162b9ef03b498551d529cb5",
      "tree": "5445c707f1f961f759e36ee19235eea771c2ff07",
      "parents": [
        "6319133cacb49c815aa1783c129aa427c762b2fd"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jan 06 19:49:29 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jan 06 19:49:29 2009 +0000"
      },
      "message": "THRIFT-46. csharp: Throw the correct exception for an unknown method\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@732080 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6319133cacb49c815aa1783c129aa427c762b2fd",
      "tree": "d6af7dd2eee92f98de31d7671eac808eafafdbed",
      "parents": [
        "d6b7182df59ae7cb1849c36b5d9513fce681ce35"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jan 06 19:49:22 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jan 06 19:49:22 2009 +0000"
      },
      "message": "THRIFT-25. csharp: Various compiler and library improvements\n\nCompiler:\n- Thrift structures are serializable.\n- The member fields of thrift structures are now private and only accessible\n  through Properties, which keep the appropriate __isset up to date.\n\nLibrary\n- Addition of TBufferedTransport, which can be used to wrap other Transports.\n- Addition of TThreadedServer, which manually manages threads instead of\n  relying on .NET ThreadPool.\n- Servers use a log delegate that defaults to System.Console but allows\n  servers to use log4net without introducing the dependency.\n\nThriftTest Visual Studio Project\n- Test client and server that use ThriftTest.thrift. The project references\n  thrift.exe and Thrift.dll from the subversion tree and automatically builds\n  generated code. This makes it very easy to test changes in both the compiler\n  and library.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@732079 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d6b7182df59ae7cb1849c36b5d9513fce681ce35",
      "tree": "1102c15a46d9ee4d84c0fb5889f4b5a84a3a44f9",
      "parents": [
        "41baeaba96302e480265542340532842bc5ab0c9"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jan 06 01:34:28 2009 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jan 06 01:34:28 2009 +0000"
      },
      "message": "THRIFT-246. rb: Generate #struct_fields rather than reflect.\n\nAuthor: Bryan Duxbury\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731806 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "41baeaba96302e480265542340532842bc5ab0c9",
      "tree": "b8daa0f137876c6e8cb543f43654a3f06feef4ae",
      "parents": [
        "bcb4cf83e56ecbe5167d8c6ae79248c35020afe4"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Mon Jan 05 23:10:17 2009 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Mon Jan 05 23:10:17 2009 +0000"
      },
      "message": "THRIFT-157. rb: Quote strings and qualify class names properly\n\nAuthor: Dave Engberg\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731763 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8eaebfedc12bfc95ba3069bf99fe73375b1f8152",
      "tree": "795b8b2265f03261e8ddc581485b5d296af27668",
      "parents": [
        "25be92bf0d9ef587f24696caf182788705fa1119"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 21:03:01 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 21:03:01 2009 +0000"
      },
      "message": "THRIFT-235. java: Explicitly cast integer constants to double\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731723 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "25be92bf0d9ef587f24696caf182788705fa1119",
      "tree": "03088539e7cf14c6b15f8d451944cc8e566987b4",
      "parents": [
        "2db737df8fa19f5fcb2f926b0fe2594f0154d7f4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 21:02:58 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 21:02:58 2009 +0000"
      },
      "message": "THRIFT-222. java: Better exposure if __isset in beans style\n\n- Generate an isSet method for each field to test its set-ness.\n- Generate a generic isSet method that checks by field id.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731722 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2db737df8fa19f5fcb2f926b0fe2594f0154d7f4",
      "tree": "bfe931bd4273bf18b4977e12ff969dcc60e4fed6",
      "parents": [
        "b936ffdbd1740fda3686cd71bdcb1f865b709d07"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 21:02:55 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 21:02:55 2009 +0000"
      },
      "message": "java: Add a helper function to implement nocamel style\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731721 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b936ffdbd1740fda3686cd71bdcb1f865b709d07",
      "tree": "4bdfb54f86bb82c155b37bb79895ea0f26af6cf0",
      "parents": [
        "5455f00348b7cce553dc3f7bec40d297d112216a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 21:02:52 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 21:02:52 2009 +0000"
      },
      "message": "THRIFT-191. java: Create a static field id -\u003e name map for each struct\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731720 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5455f00348b7cce553dc3f7bec40d297d112216a",
      "tree": "56a000e9765c911531f9bb314ef7a3df6363f977",
      "parents": [
        "888f88b05d25eb7b07541ed916f05234e1229138"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 21:02:48 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 21:02:48 2009 +0000"
      },
      "message": "THRIFT-138. java: Fix copy constructor for binary fields\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731719 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "888f88b05d25eb7b07541ed916f05234e1229138",
      "tree": "2d5057532ed64b61d99897f4498f068e2fea4a8c",
      "parents": [
        "41687fc6cfa179883da9b18d094ad56f6be669da"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 20:14:52 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jan 05 20:14:52 2009 +0000"
      },
      "message": "THRIFT-241. python: Generate a better implementation of __repr__\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@731685 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "41687fc6cfa179883da9b18d094ad56f6be669da",
      "tree": "d1dec0615edbbfde2855144dc7fd14430cf864a1",
      "parents": [
        "0d738890ba9236060c1c500c6f44ba1b7133b3d3"
      ],
      "author": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Tue Dec 23 03:45:43 2008 +0000"
      },
      "committer": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Tue Dec 23 03:45:43 2008 +0000"
      },
      "message": "THRIFT-193: Patch for proper namespace support in perl compiler\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@728863 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a8efac862a847ea4c2c2983704ef875a12f92080",
      "tree": "275f2565fca3c99d4f691ee54ac921ae8ac45b2f",
      "parents": [
        "083c07a26579e685bd62b085471f8720ef0aa822"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Dec 16 20:28:13 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Dec 16 20:28:13 2008 +0000"
      },
      "message": "THRIFT-225. java/cpp: Handle non-i32 integer constants properly\n\nJava generates a warning when converting from an integer constant\nto a byte or short without an explicit cast.  This change adds a\ncast to byte and short literals in Java.\n\nBoth Java and C++ fail to compile integer literals larger than 2^31\nunless they are decorated with \"L\" (for Java) or \"LL\" (for g++).\nThis change adds the appropriate decorations.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@727130 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "603d50437cbe9c76be942f863f2db9526459fce2",
      "tree": "bdf10d0fdef2f8142d7b8eec5ad8e29d36ccec5e",
      "parents": [
        "04c315946c68034a51376bab368a4c4c2c8a8ba5"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Dec 02 02:06:31 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Dec 02 02:06:31 2008 +0000"
      },
      "message": "THRIFT-138. java: Create deep-copy constructors for Thrift structs\n\n- Create a copy constructor for every Thrift struct.  The constructor\n  performs a deep copy on the argument, resulting in no shared state.\n- Make thrift structions implement Cloneable and implement .clone()\n  using the copy constructor.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@722332 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fd71808e35af5ba82a29320abfcbc30ef7fc6b87",
      "tree": "3ac913335ba84233283aafd2291f397abf541b64",
      "parents": [
        "e31b77e90e54709dfb0020cd5fe468c0998d6d81"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 21 21:55:52 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 21 21:55:52 2008 +0000"
      },
      "message": "THRIFT-142. java: Better handling of required fields\n\n- On reading, behave the same way as the C++ code:\n  throw an exception if a required field is missing.\n- In addition, throw an exception if a required field is missing\n  when writing.  For the JavaBeans code, this means that __isset\n  is false (because it is maintained automatically).  For non-beans\n  code, this means that the field is null.  Non-nullable fields are\n  not checked in non-beans code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719727 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e31b77e90e54709dfb0020cd5fe468c0998d6d81",
      "tree": "fd6fd852d5cb59cc99d44618d7156d93ac7b82c7",
      "parents": [
        "30a9360e3ffd30afd5122af75cefa349a79e3aaf"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 21 21:36:41 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 21 21:36:41 2008 +0000"
      },
      "message": "THRIFT-194. cpp: Properlyl namespace exception types in catch\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719721 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "30a9360e3ffd30afd5122af75cefa349a79e3aaf",
      "tree": "69ba0b47643c95ad6fe25e496ccd99d5bc17187f",
      "parents": [
        "7f5e184785f3e219b6e30436479ca3e7ae63ed12"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 21 21:31:36 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 21 21:31:36 2008 +0000"
      },
      "message": "THRIFT-172. java: Improve toString output for binary fields\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719720 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7f5e184785f3e219b6e30436479ca3e7ae63ed12",
      "tree": "e4434c9030801376160cdca5bab7bc51783609c8",
      "parents": [
        "c26da0a391cc8ae4d7e2c54d088006c72f60a274"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 21 20:25:14 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 21 20:25:14 2008 +0000"
      },
      "message": "THRIFT-139. java: Fix indentation in beans mode\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@719701 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "031baf70860ade4096953d1c0838408ca0ecee96",
      "tree": "a6186c6273cfe4c995e5b9ab5d64bef5ba8647e0",
      "parents": [
        "713623bee6105f6b8ee946cecde4dd98847f6a2b"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Nov 14 17:11:39 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Nov 14 17:11:39 2008 +0000"
      },
      "message": "Merge branch \u0027THRIFT-143\u0027\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@714070 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "159383f789651150ae33748d7d68ef22108d614c",
      "tree": "6d32b537b0d184dbe054fe13b474a16bff90faf1",
      "parents": [
        "74421273ad97359402556428f23afacfe31ce978"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Nov 11 05:46:04 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Nov 11 05:46:04 2008 +0000"
      },
      "message": "rb: raise if an object is serialized without required fields [THRIFT-143]\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@712945 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cfca336fad004b6a41b13d02b3f1da86d2e7cae0",
      "tree": "63129af9aa7eaceca6fdf5ccba8b9374933dacd4",
      "parents": [
        "080991bf988ead697afed3d4567d30615609bf08"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Oct 31 00:32:25 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Fri Oct 31 00:32:25 2008 +0000"
      },
      "message": "rb: Add docstrings to generated ruby code [THRIFT-147]\n\nAuthor: Bryan Duxbury\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@709309 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f33e03c6fad10465ac4867b27c63a35cb2de0cbe",
      "tree": "97a500fd2af7feeecb4bd37e0da42959f7c2e7d8",
      "parents": [
        "f011bd4312a8b780a91ad011d6e1f16a36448af8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 29 00:07:49 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 29 00:07:49 2008 +0000"
      },
      "message": "THRIFT-179. java: Include per-field docstrings in generated code\n\nThis also involves refactoring a bit of the functionality into\nt_oop_generator.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@708737 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "66f5e9ba0bd9e4605c48913e29bd6bed79f5a579",
      "tree": "f237cbf97557417786c48975b4d731d804f45930",
      "parents": [
        "80096e278c9700d4dcbe1050aca8bef987cc425f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 22 22:07:03 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 22 22:07:03 2008 +0000"
      },
      "message": "Make a pointer const to fix a warning\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@707213 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "80096e278c9700d4dcbe1050aca8bef987cc425f",
      "tree": "bcc2dce54cedb22cc2331f48699b95a1d80c6f37",
      "parents": [
        "ce426240abe65365c3cbc8a162e93a698b7949e1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 22 22:07:00 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 22 22:07:00 2008 +0000"
      },
      "message": "Add a missing include to fix compilation on Ubuntu 8.10\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@707212 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "dc0aada96102265565368db6996ddb5cd37b5e3f",
      "tree": "bb9ada253de49d62824ac7cd4728be5085cf4697",
      "parents": [
        "826e648354c4e2e37abe5d8dda04e6497d76e16a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Oct 21 00:09:23 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Oct 21 00:09:23 2008 +0000"
      },
      "message": "THRIFT-173. Commit the html generator\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@706466 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7dc7f75e7c15061e3dd6bf133bb837f1d96cc6b3",
      "tree": "f4263e369e88fb0eb73de5e0a4d876b060eb177d",
      "parents": [
        "6ca3881f518b093c8b21b6a94523151e05a0ecbc"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Oct 16 19:15:20 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Oct 16 19:15:20 2008 +0000"
      },
      "message": "rb: Create constants for field ids in generated structs [THRIFT-165]\n\nAuthor: Bryan Duxbury\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@705330 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "31997ca9ee2ac234358b3cb9dc5792d95efe0f19",
      "tree": "4d1eaae9c85615f6aea0120522a026531e6de8b0",
      "parents": [
        "a0b4409f57461bef7e0266ff46ed9602f3d222c2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Oct 09 00:08:46 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Oct 09 00:08:46 2008 +0000"
      },
      "message": "THRIFT-139. java: Expose field ids in more useful ways\n\n- Define constants in each structure class that provide access to the\n  field ids by name (at compile time).  Use them for (de)serialization.\n- For beans-mode code, generate a generic getter and setter for accessing\n  fields by field id.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@703028 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a0b4409f57461bef7e0266ff46ed9602f3d222c2",
      "tree": "a201ee6ff0e9cc84e8f05c9da3dc8bb61c037df2",
      "parents": [
        "c53a5944eda576d1920cf44359e310b1205361cb"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 08 04:49:25 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 08 04:49:25 2008 +0000"
      },
      "message": "THRIFT-152. java: Set isset appropriately in structure constructors\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@702697 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8684554e2947b7b0e6b38ebd4f5f80b0be83ddfe",
      "tree": "cde2b0136ef6801704b8c363e4e830a59b75a726",
      "parents": [
        "931d69be9e40250823997adac67866d10aefe377"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 01 18:32:47 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 01 18:32:47 2008 +0000"
      },
      "message": "THRIFT-119. java: structs\u0027 toString omits unset optional fields\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@700860 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "931d69be9e40250823997adac67866d10aefe377",
      "tree": "9ca3a15bc400e39c23db0d772969d8617afd41d2",
      "parents": [
        "5af01bcbdc0aa34486f235294b32674c37192575"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 01 03:24:54 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 01 03:24:54 2008 +0000"
      },
      "message": "THRIFT-120. java: Make the nocamel option work for more methods\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@700668 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5af01bcbdc0aa34486f235294b32674c37192575",
      "tree": "397a656aa695dc53e12d47869f4280b3db243c5d",
      "parents": [
        "6341d13a1f87c3426965bd51cba6bf331ed0c36b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 01 03:24:50 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 01 03:24:50 2008 +0000"
      },
      "message": "THRIFT-100. java: Set __isset better in beans style\n\nWhen setX(null) is called on a structure, set __isset.x to false.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@700667 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6341d13a1f87c3426965bd51cba6bf331ed0c36b",
      "tree": "5f088e5a3dad32205a62851d0acaab6f745ad7a4",
      "parents": [
        "7c28b33194e3c9c67b09a0053efb51f9fc69eb83"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Sep 29 22:01:30 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Sep 29 22:01:30 2008 +0000"
      },
      "message": "Python generator exception namespacing, THRIFT-150\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@700277 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5ad6d4a7e35dc8f7078529e8e8004eb90dae31e9",
      "tree": "ad3f6f3bd21dd508fcee9d8dad0643e9a4d3d09e",
      "parents": [
        "969c04b912c774e6f9c6f0f3356b8eff5b5947b4"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Aug 26 20:02:07 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Aug 26 20:02:07 2008 +0000"
      },
      "message": "rb: Add pretty inspect, optional field hint for Thrift::Struct\n\nAuthor: Bryan Duxbury\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@689193 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "70e329f0b8ed79df2c7b1de0366a8841eeeabd85",
      "tree": "90a7b0dc737365842364532456fa3ab54b36f85d",
      "parents": [
        "db65e3dd68ad1a335996d319bee6c923974872f1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jul 14 19:35:50 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jul 14 19:35:50 2008 +0000"
      },
      "message": "java: Add nocamel option to not CamelCase field accessors [THRIFT-42]\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@676699 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2bd3a30b91ef2a4a6c54b4a030a4955a65c96bc8",
      "tree": "8222b23472721cc0d94970c8c9d2fbf7f1f520a8",
      "parents": [
        "1e0744d7a2daacaf5044427fa614268d1f4fcb2f"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Jun 26 17:49:49 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Jun 26 17:49:49 2008 +0000"
      },
      "message": "rb: Use File.dirname(__FILE__) in generated requires [THRIFT-57]\n\nThis means you no longer have to put the gen-rb folder in $:\n\nAuthor: Kevin Ballard \u003ckevin@rapleaf.com\u003e\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@671963 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3836f9ba355e98ebe5bb9970f830bb7baa29bf22",
      "tree": "b4428b45e9a76d592e5591b901c775c85594fed5",
      "parents": [
        "a058d02eda026c05a510c3f4011608c7d4ac5bed"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jun 24 01:05:51 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Tue Jun 24 01:05:51 2008 +0000"
      },
      "message": "rb: require \u0027thrift\u0027 first in generated service definitions [THRIFT-38]\n\nFrom kevin@rapleaf.com\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@670979 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "23193757bc2d560d314fdd50e3b4093fdd6551a1",
      "tree": "88d5981baa28dd7493f288d927aa9eda4cfb910b",
      "parents": [
        "140b555bf481e2ca8edf532396ca54065a2cb406"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Jun 18 01:18:07 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Jun 18 01:18:07 2008 +0000"
      },
      "message": "rb: Implement type-checking in Thrift::Struct.new and field accessors\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@669015 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8d79e3f9544d4b8d49b9ef6e596970a7c1f3e459",
      "tree": "584735bf77f2db19c6b6d6048802efbf8c7dc136",
      "parents": [
        "ccc86583a3ca6888d76b8537c7a853bea1c498c7"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Jun 18 01:09:15 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Jun 18 01:09:15 2008 +0000"
      },
      "message": "Convert fields of type Thrift::Types::SET to use the Set library.\n\nAlso teach Thrift::Struct how to compare itself with \u003d\u003d\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@668959 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "18e21565b3cac739de32ff9af56f09797b20e146",
      "tree": "acb391d692e80bc1a776981566b4d0196b7dafa6",
      "parents": [
        "5d2e7a9bc6952e00f97cdd8e1c840c579211ebd7"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Jun 18 01:03:17 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Jun 18 01:03:17 2008 +0000"
      },
      "message": "Fix the requires generated by the compiler\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@668934 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2960044415917973aeeb8c6d9132319eef69139a",
      "tree": "ea1e940d067d24ae00c4371ca1fa3774545eda45",
      "parents": [
        "10cdf10a7bd5326680cc2384f8a812cff573a1df"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Jun 18 00:54:13 2008 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Jun 18 00:54:13 2008 +0000"
      },
      "message": "rb: Add more classes/modules to the Thrift namespace. Provide backwards compatable mappings.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@668904 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4d1c712ad173a66faafa2844bad9504e5f7bdfec",
      "tree": "92b2448930013c9bd7e341d5c47f491d9e06a76f",
      "parents": [
        "ab55ed53e32d0efdfc6e4122631ea5d219acf185"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:03 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:03 2008 +0000"
      },
      "message": "Eliminate some trailing whitespace from the generated Python code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666492 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cc0c9e98b50b4d5510b485ddd0f44614671616fd",
      "tree": "a9b28a1e4ae9a6286676e76d345abb9173ac7e60",
      "parents": [
        "cb13729795173b2763e0ccec3412c9188bfba6a2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:16:29 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:16:29 2008 +0000"
      },
      "message": "Clean up some bad/missed merges from the alterl merge.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666486 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e20b97208885d40eb30638d4ee8dba2ab8629693",
      "tree": "c2854a0c0f81766c7ccb2daa9e37b421fe25d25a",
      "parents": [
        "9f2a5d77997cbfac2f46d267d326fa0e0886a77f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:15:54 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:15:54 2008 +0000"
      },
      "message": "[erl] fix generator to use unexpanded structs for reply_types on functions\n\nThis fixes a bug where thrift_client would return a tuple rather than a tagged record when the called function returned a struct.\n\nTest plan:\n  in tutorial client:\n    Log: {sharedStruct,1,\u003c\u003c\"RARG\"\u003e\u003e}\n  instead of:\n    Log: {1,\u003c\u003c\"RARG\"\u003e\u003e}\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666482 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9f2a5d77997cbfac2f46d267d326fa0e0886a77f",
      "tree": "b4e18b43653b944f8cafbef9e1ad2b0478126c90",
      "parents": [
        "f2e66c1cb79ec0c1e2a515668f15410a60140011"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:15:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:15:45 2008 +0000"
      },
      "message": "Rename \"alterl\" to \"erl\".\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666481 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f2e66c1cb79ec0c1e2a515668f15410a60140011",
      "tree": "4121a9668b3f640aa505b12597832cd8eb4bdb0a",
      "parents": [
        "52fe7a5bae19c23a71013d7c50958e93dc3879b4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:14:38 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:14:38 2008 +0000"
      },
      "message": "Remove all of the old Erlang stuff in preparation for renaming alterl.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666480 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1a2f2187cd9891634080d4aa53a76f50849a1ed1",
      "tree": "a41264a0816247a430e0c3623a30a177a1b0b46e",
      "parents": [
        "61eec8f95c679078f5f5c3f91edc2178e59bfe34"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:14:01 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:14:01 2008 +0000"
      },
      "message": "Another whitespace rampage\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666477 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "81b473b4a15db38b9f0e9220cfb7a30e371dd273",
      "tree": "f09b3209521c4afaf2999d27d69f4832091abdfc",
      "parents": [
        "1d8b75297176d810aa63b5f58f3269b8ddca133a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:58:41 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:58:41 2008 +0000"
      },
      "message": "Fix warning in generated source for alterl bindings\n\nSummary:\n  - Was previously including both the fall-through to the base service as well as the \"dummy\" fallthrough function clause. This generated a warning like:\n\n  gen-erl/redacted_thrift.erl:134: Warning: this clause cannot match because a previous clause at line 132 always matches\n\n  Now we only include the \"dummy\" function if there is no base class to fall through to.\n\nTest plan: Generated tutorial.thrift and shared.thrift, compiled without warnings\n\nNotes: It\u0027s probably possible to have a circular inheritance graph, which would cause an infinite loop at runtime. Do we care about this?\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666423 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1d8b75297176d810aa63b5f58f3269b8ddca133a",
      "tree": "9dd4dd0b251a5efcf76104db9db170d5ec44ed2c",
      "parents": [
        "55ff70f8d65ca7f3aa3eaf906d95f82a17be7c92"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:58:33 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:58:33 2008 +0000"
      },
      "message": "Implement inheritance in the alterl generator\n\nSummary:\n  - Simply forwards function_info calls through to the base service\n\nTest plan: cpiro will test it?\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666422 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cdf8d1994a4fb39029964af0d4dc4a636029ab92",
      "tree": "4fa0602e3b2b8e529dd123c999acc8cc4c93aaa3",
      "parents": [
        "fc44c41253a5d56e15facadeef3677162ae6f90f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:57:35 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 00:57:35 2008 +0000"
      },
      "message": "Implement async_void in alterl bindings\n\nSummary:\n  - reply_type for async void functions is now async_void instead of\n    the empty struct definition\n  - async void functions should return \"ok\". otherwise the processor\n    will crash and the connection will be killed. Is this behaviour\n    expected?\n\nTest Plan: tested using testAsync() in ThriftTest. Didn\u0027t used to work\n           but works now\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666415 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "982c72de7b412c95de1878d0ab8b859977188ff0",
      "tree": "1898b85a73e35cd847548a4d2066ac91716a1496",
      "parents": [
        "eea8298ee36ea7e9a04b71e059915e8e89f2886f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:33 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:58:33 2008 +0000"
      },
      "message": "Properly handle exceptions\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666384 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "11300fe8726715e068c00aeb6b85421c73e0c01a",
      "tree": "f32343bb31266ea41ce361cb9feb692d4534906a",
      "parents": [
        "0c9b516506acf7074ac61f74525e1aaec3a35aa8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:52 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:52 2008 +0000"
      },
      "message": "Properly uncapitalize package names when referencing structs\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666379 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0c9b516506acf7074ac61f74525e1aaec3a35aa8",
      "tree": "da950d6ebae8fd29f5063854bf451492f65335de",
      "parents": [
        "76f0d11dc90ceb910375042d23509e6bc0c3a6ec"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:44 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:44 2008 +0000"
      },
      "message": "Fix generation when multiple services are in the same service definition\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666378 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "76f0d11dc90ceb910375042d23509e6bc0c3a6ec",
      "tree": "496d1e0415d41346fc04fca4d3dd1858f72a9d35",
      "parents": [
        "1c1ca74237bee683cf05eff54ee844156ad5e905"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:35 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:57:35 2008 +0000"
      },
      "message": "Generator for alternative erl bindings, as well as a few more changes to lib code.\n\n- Exceptions don\u0027t work yet, but it looks like everything else does.\n- Seems to work fine on our pricing service\n- Code could need some cleanup\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666377 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a1e0a6f0d8c419447fcb95fcb914a9543677bb32",
      "tree": "8ff8439f92769fd68ad2d2956e39f0ad61ef841b",
      "parents": [
        "87e9ac638241ca215846bb7643ef8af4ec6fe893"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:43 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:43 2008 +0000"
      },
      "message": "Don\u0027t generate a constants file if there are no constants (Java only).\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666372 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "87e9ac638241ca215846bb7643ef8af4ec6fe893",
      "tree": "aa6298cfe6c425b536ed27ca4796417f9ef3fd32",
      "parents": [
        "5245f40b3e13c65ef6537a8121b74128a9e61ed4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:34 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:34 2008 +0000"
      },
      "message": "Fix a bug with initialization in JavaBean-style generated code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666371 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d14f4f86d4a521dd2327789f9230ab239b1c342b",
      "tree": "64b9ee47ac05fd26f09e7abc6e12d937bb20bbbc",
      "parents": [
        "c0092f973d79f309c1b89ae5e55ad8094b87763a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:54 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:54 2008 +0000"
      },
      "message": "Fix some indentation in the PHP generator.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666366 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c0092f973d79f309c1b89ae5e55ad8094b87763a",
      "tree": "3e9d66208cb0969f0d0b8e65c566f5f592adc092",
      "parents": [
        "b04df765b5c9fe1b8fb6ded0ed2750188278fe50"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:46 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:46 2008 +0000"
      },
      "message": "PHP Generator: Throw an exception on bad types.\n\nSummary:\nPreviously, if you set a structure field to, say, an int when it was\nsupposed to be a container (array) or struct (object), the serialization\ncode would either produce corrupt output (container) or cause a fatal\nerror (struct).  Now they both throw exceptions.\n\nReviewed By: mcslee\n\nTest Plan: Looked at generated code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666365 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c89e4de50947b91b658a952da4671033e333c9df",
      "tree": "4b7d431be0260678ba883ed87652b88541b557c7",
      "parents": [
        "7dab93e23790f6a2d647ad5d4a7a34f24a464778"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:32 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:32 2008 +0000"
      },
      "message": "Make sure list\u003cbyte\u003e is List\u003cByte\u003e in Java gen\u0027d code.\n\nReviewed By: dreiss\n\nTest Plan: Generate list\u003cbyte\u003e into Java\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666357 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "de59292f38e11e738a34c8bd2f722beb128c752e",
      "tree": "7af7fb093b13a8bab87370d32064664a5d653033",
      "parents": [
        "f233e46a2dc705f017d5980baa6ad97922b72291"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 20:51:03 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 20:51:03 2008 +0000"
      },
      "message": "Remove an unnecessary include of boost/lexical_cast.hpp\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665678 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "28f298dd5d9b68c9c0dbaefa95c88d51ed8e430a",
      "tree": "4c089343bfd96f8eddb653ec2f746a27d7a8ec9a",
      "parents": [
        "9a4edfa07fe0c09865015a15d26695823cd4a5fd"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:17:36 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:17:36 2008 +0000"
      },
      "message": "Memory-based transport rewrite.\n\nThe old implementations of the memory-based transports (TBufferedTransport,\nTFramedTransport, and TMemoryBuffer) shared very little code and all worked\na bit differently.  This change unifies them all as subclasses of a single\nbase (TBufferBase) which handles the fast-path operations (when requests\ncan be satisfied by the buffer) with inline methods (that will eventually\nbe made nonvirtual in the template branch) and calls out to pure-virutal\nmethods to handle full/empty buffers.  All of the buffer-management is now\ndone in terms of \"base and bound\" pointers rather than \"pos\" integers.\n\nThese classes were moved to TBufferTransports.{h,cpp}.  The .h is included\nin TTransportUtils for backwards compatibility.\n\nAlso added a \"TShortReadTransport\" to assist testing transports.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665676 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9a4edfa07fe0c09865015a15d26695823cd4a5fd",
      "tree": "2707bc870fa22a62e47da6add1889fb083f9a4c1",
      "parents": [
        "372126079cb1e1bce5f186293980209a0e5629ec"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:50 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:50 2008 +0000"
      },
      "message": "Properly handle constants of typedef\u0027ed types.\n\nAlso throw an error in the compiler if we cannot generate a constant for a\ndeclared const because of its type.  Added a test of this functionality in\nConstantsDemo.thrift.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665675 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "372126079cb1e1bce5f186293980209a0e5629ec",
      "tree": "1d8e865ad3452aa7bede447ca475080bff5e2b92",
      "parents": [
        "e39e9379119b99c2bad7613b8cd32c11482b9558"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:49 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:49 2008 +0000"
      },
      "message": "Eliminate an unused local variable.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665674 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "74672b6719903332c0b5969fa0bffd12c13cf121",
      "tree": "72509ae7bcf1eae8792910b26a272211b659c5f4",
      "parents": [
        "051fbd4e57ff6818231754143d67fa59b9746a4d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 23:09:11 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 23:09:11 2008 +0000"
      },
      "message": "Java: In toString for generated structs, handle nulls.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665671 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "051fbd4e57ff6818231754143d67fa59b9746a4d",
      "tree": "b8fed64d4b7619c26d596c293f52efffa570ad1b",
      "parents": [
        "c17fe6b918015166d145936414a411589f03255c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:45 2008 +0000"
      },
      "message": "Thrift REST parsing allows null object params\n\nSummary: If JSON objects are passed in allow them to be null and don\u0027\\\u0027\u0027t default construct.\n\nReviewed By: dreiss\n\nTest Plan: Regenerate API code and test on object args.\n\nRevert: OK\n\nDiffCamp Revision: 12407\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665670 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8361bf05659f9d1e458d76f8ee0657ea5e009b6a",
      "tree": "6c2387c2d329bef1a8694be964accdd59b5da207",
      "parents": [
        "b54deb1ca538b2f244225801408637aa8921d5db"
      ],
      "author": {
        "name": "iproctor",
        "email": "dev-null@apache.org",
        "time": "Thu Apr 10 00:31:55 2008 +0000"
      },
      "committer": {
        "name": "iproctor",
        "email": "dev-null@apache.org",
        "time": "Thu Apr 10 00:31:55 2008 +0000"
      },
      "message": "ocaml and haskell thrift clients now calling readMessageEnd\n\nSummary: I neglected to make the call to readMessageEnd if the client read an app exception in the haskell and ocaml code. Fixed now. The test cases for both now also compile with the new ThriftTest.thrift (though haskell\u0027s is still not doing anything but echoing  the args)\n\nReviewed By: dreiss\n\nTest Plan: Ran test code. This bug would actually never show up because there\u0027s only tbinaryprotocol implemented for these languages and that does nothing on a readMessageEnd.\n\nRevert: OK\n\nDiffCamp Revision: 11377\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665651 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c5c542538b7954c721fbd8007ebf0b482a86677a",
      "tree": "6dfec4b86d9795325235a6e313431b1dd3f6fb93",
      "parents": [
        "e9aab10d859b9ce06f2048f4522cfe69c1a4bd3a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 23:16:46 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 03 23:16:46 2008 +0000"
      },
      "message": "Fix some indentation.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665639 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8bfba63dfb8c52cfb8c785c4b19f48a5745e1d6a",
      "tree": "b60cf2c925afab805ced8e3af51cff50bad2d20a",
      "parents": [
        "cee1e085b56866b4feb9b334da5d5d8f0b79d44d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:10:13 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Apr 02 22:10:13 2008 +0000"
      },
      "message": "C#: Generate proper code for services that inherit from other services.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665632 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "07ef3a930a8f99b41ce381f9fda3aa6785bd3956",
      "tree": "86b92faf5d3ab49a746a00486e4be38267e9d005",
      "parents": [
        "fdc21aa713ca8ddf19cd2104c4074bdd27211e05"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:39 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:39 2008 +0000"
      },
      "message": "Make the Perl generator use non-hardcoded namespaces.\n\n- Make the Perl generator use program-\u003eget_namespace(\"perl\")\n  instead of program-\u003eget_perl_package()\n- Eliminate the explicit \"perl_package\" in t_program.\n- Deprecate the perl_package token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665624 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fb63533c78a833d043b33fd2240076e22732cf19",
      "tree": "76b1ea836e058e03a9882cca3df432db3ae7ef82",
      "parents": [
        "2b386c50d7cf649c928a792bed73bcb938f8501f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:30 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:30 2008 +0000"
      },
      "message": "Remove t_perl_generator.h.\n\nt_perl_generator.h is no longer included anywhere, because\nthe Perl generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665622 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2b386c50d7cf649c928a792bed73bcb938f8501f",
      "tree": "1a8f62da88ac59b4b98eb8beca430a7c7519d3c1",
      "parents": [
        "6a4b82c4b7cc4d77daa6e11f8eb69f1a8f5e3218"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:23 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:23 2008 +0000"
      },
      "message": "Make the Perl generator dynamic.\n\n- Modify the Perl generator constructor to fit the new generic interface.\n- Register the Perl genrator with the central registry.\n- Deprecate the old way of invoking the Perl generator.\n- main.cc no longer includes t_pl_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665621 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6a4b82c4b7cc4d77daa6e11f8eb69f1a8f5e3218",
      "tree": "52df9436932d01021c366b2add36bbbe99ff0a50",
      "parents": [
        "ae253583e75b77177dd09533420561d22e1ace6b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:16 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:16 2008 +0000"
      },
      "message": "Make the Ruby generator use non-hardcoded namespaces.\n\n- Make the Ruby generator use program-\u003eget_namespace(\"ruby\")\n  instead of program-\u003eget_ruby_namespace()\n- Eliminate the explicit \"ruby_namespace\" in t_program.\n- Deprecate the ruby_namespace token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665620 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6e93b454ecc0def6e13cbcece578f9d420266966",
      "tree": "d31bab8c35fc974b179ed67fcc5b83d6bbe75b7d",
      "parents": [
        "a640cea9aed3409bef99162434c22649aa239ede"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:06 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:06 2008 +0000"
      },
      "message": "Remove t_rb_generator.h.\n\nt_rb_generator.h is no longer included anywhere, because\nthe Ruby generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665618 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a640cea9aed3409bef99162434c22649aa239ede",
      "tree": "779906e2b3795eb383986372b3bb77c2a38c3cea",
      "parents": [
        "c53b184c1235eb66d87219fcf53d38a93e998e0f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:01 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:42:01 2008 +0000"
      },
      "message": "Make the Ruby generator dynamic.\n\n- Modify the Ruby generator constructor to fit the new generic interface.\n- Register the Ruby genrator with the central registry.\n- Deprecate the old way of invoking the Ruby generator.\n- main.cc no longer includes t_rb_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665617 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c53b184c1235eb66d87219fcf53d38a93e998e0f",
      "tree": "01907efbb3729941b87ce8031c9b91fcef69fd0a",
      "parents": [
        "320e45ce8b1d2721a7f814c1e1a8288dba36dd14"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:58 2008 +0000"
      },
      "message": "Remove an unused helper function in the Ruby generator.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665616 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "320e45ce8b1d2721a7f814c1e1a8288dba36dd14",
      "tree": "a186a604ae4d58cee850d4c20da536d8f319373f",
      "parents": [
        "bfd26dcecc4c2b67814ed6d69fff65121c3a471f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:54 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:54 2008 +0000"
      },
      "message": "Make the Python generator use non-hardcoded namespaces.\n\n- Make the Python generator use program-\u003eget_namespace(\"py\")\n  instead of program-\u003eget_py_module()\n- Eliminate the explicit \"py_module\" in t_program.\n- Deprecate the py_module token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665615 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0d6eb969e1bc58d9955e0c48af6a78fb728dfdf8",
      "tree": "4afc020bd685fe5d76bd41ea4cd770aae047b755",
      "parents": [
        "558e3993e1fe5ffacc8c6339cedf3c616c5e253f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:45 2008 +0000"
      },
      "message": "Remove t_py_generator.h.\n\nt_py_generator.h is no longer included anywhere, because\nthe Python generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665613 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "558e3993e1fe5ffacc8c6339cedf3c616c5e253f",
      "tree": "7183f406a26ce52b16b54be4f4615d3112648291",
      "parents": [
        "9d65bf061f2c9876944e5eddea513a2f50d5e883"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:40 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:40 2008 +0000"
      },
      "message": "Make the Python generator dynamic.\n\n- Modify the Python generator constructor to fit the new generic interface.\n- Register the Python genrator with the central registry.\n- Deprecate the old way of invoking the Python generator.\n- main.cc no longer includes t_py_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665612 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9d65bf061f2c9876944e5eddea513a2f50d5e883",
      "tree": "13fbe4a2a8c13a611855173eade710fcdd37503b",
      "parents": [
        "ce4f4f0cbdeafa355c282b2dd9fa2161c009128f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:37 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:37 2008 +0000"
      },
      "message": "Make the C# generator use non-hardcoded namespaces.\n\n- Make the C# generator use program-\u003eget_namespace(\"csharp\")\n  instead of program-\u003eget_csharp_namespace()\n- Eliminate the explicit \"csharp_namespace\" in t_program.\n- Deprecate the csharp_namespace token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665611 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2dfdb2d7f761417856ba984cf0d7c29a0bd15f04",
      "tree": "5999e1108d3e276c91df886916f8d45937a61005",
      "parents": [
        "861869b73435d9673a2df94d1ddb480670192674"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:27 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:27 2008 +0000"
      },
      "message": "Remove t_csharp_generator.h.\n\nt_csharp_generator.h is no longer included anywhere, because\nthe C# generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\nAlso cleaned up its includes a little bit.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665609 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "861869b73435d9673a2df94d1ddb480670192674",
      "tree": "03e89b1de1fbeae161bded7a9d332b768952fc45",
      "parents": [
        "919ae80934969d9e6b44d537d5ca5cda7e75a9a9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:23 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:23 2008 +0000"
      },
      "message": "Make the C# generator dynamic.\n\n- Modify the C# generator constructor to fit the new generic interface.\n- Register the C# genrator with the central registry.\n- Deprecate the old way of invoking the C# generator.\n- main.cc no longer includes t_csharp_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665608 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "54b602b7468dd1260a3d65d389e449b572cdff0f",
      "tree": "8a9c04ebf041198e59a7e3db7c0fa1ab5ac01d96",
      "parents": [
        "4b349aabc946289a200e5691140e7000b33b9583"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:06 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:06 2008 +0000"
      },
      "message": "Make the Cocoa generator use non-hardcoded namespaces.\n\n- Make the Cocoa generator use program-\u003eget_namespace(\"cocoa\")\n  instead of program-\u003eget_cocoa_prefix()\n- Eliminate the explicit \"cocoa_prefix\" in t_program.\n- Deprecate the cocoa_prefix token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665606 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e21ce4c6ca430f093bf626175088caf2178cc2c3",
      "tree": "4ffe8efade6d91cce75c3cb7b2d96f9d7b81d095",
      "parents": [
        "d01c64dec53373a886fd1fd8de8e5c065db731c9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:59 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:59 2008 +0000"
      },
      "message": "Remove t_cocoa_generator.h.\n\nt_cocoa_generator.h is no longer included anywhere, because\nthe Cocoa generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665604 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d01c64dec53373a886fd1fd8de8e5c065db731c9",
      "tree": "44b0562b69c05aefe6756834c2a31b855bfb12e9",
      "parents": [
        "be9757568f50ed79f2d9abf2a1acf97c9582eb5d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:55 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:55 2008 +0000"
      },
      "message": "Make the Cocoa generator dynamic.\n\n- Modify the Cocoa generator constructor to fit the new generic interface.\n- Register the Cocoa genrator with the central registry.\n- Deprecate the old way of invoking the Cocoa generator.\n- main.cc no longer includes t_cocoa_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665603 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "be9757568f50ed79f2d9abf2a1acf97c9582eb5d",
      "tree": "ab47c3f545018c59559b84ce8728b4238d73bdd8",
      "parents": [
        "3b45501b5220ac2e8ab159c6cd8163467300f406"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:52 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:52 2008 +0000"
      },
      "message": "Put a newline at the end of the generated header file in the Cocoa generator.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665602 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3b45501b5220ac2e8ab159c6cd8163467300f406",
      "tree": "84ada6fcf29f195e6fbdcc4654fcde4d4a236f70",
      "parents": [
        "b3ac8a6c7278b26a207d7847211b61b98e84c54d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:46 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:46 2008 +0000"
      },
      "message": "Make the Smalltalk generator use non-hardcoded namespaces.\n\n- Make the Smalltalk generator use program-\u003eget_namespace(\"smalltalk.*\")\n  instead of program-\u003eget_smalltalk_{category|prefix}()\n- Eliminate the explicit \"smalltalk_{category|prefix}\" in t_program.\n- Deprecate the smalltalk_{category|prefix} tokens.\n- Update example .thrift files and syntax files.\n\nThis was a little more complex than the others.  We now convert \".\" to \"-\"\nin Smalltalk categories, because we no longer lex them as tok_st_identifier.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665601 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2b6ba090dc895152efe2d9da4b15497e92429d18",
      "tree": "b3861877ebf291e914b207829a081f330ac94398",
      "parents": [
        "a890b5714e2b556ba6f02140ce679117c183f985"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:38 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:38 2008 +0000"
      },
      "message": "Remove t_st_generator.h.\n\nt_st_generator.h is no longer included anywhere, because\nthe Smalltalk generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665599 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a890b5714e2b556ba6f02140ce679117c183f985",
      "tree": "57fd79b771a7433c6264434e5fa1ff6a10188065",
      "parents": [
        "73dc1431d1c3e9b6bd3d17dca597d1889b2ceaf4"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:35 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:35 2008 +0000"
      },
      "message": "Make the Smalltalk generator dynamic.\n\n- Modify the Smalltalk generator constructor to fit the new generic interface.\n- Register the Smalltalk genrator with the central registry.\n- Deprecate the old way of invoking the Smalltalk generator.\n- main.cc no longer includes t_st_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665598 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "73dc1431d1c3e9b6bd3d17dca597d1889b2ceaf4",
      "tree": "8f0280f2da02fdf5cf6e50d109aee55fed8f008d",
      "parents": [
        "22812f8be82d2e2336a0a99950940c743375a76c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:30 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:30 2008 +0000"
      },
      "message": "Make the Smalltalk generator respect the \"-o\" flag.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665597 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "42e6d5143761fc0e20254a46a15e3da59ca0ac51",
      "tree": "b733c5f9f50edbbcae7084e696357155fcd0bb4e",
      "parents": [
        "af3ab2619d7969ac5bb685d8a8915750dadc6c18"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:20 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:20 2008 +0000"
      },
      "message": "Remove t_hs_generator.h.\n\nt_hs_generator.h is no longer included anywhere, because\nthe Haskell generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665595 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "af3ab2619d7969ac5bb685d8a8915750dadc6c18",
      "tree": "994ff1148ca0919dc0fdd409a75612e7cd77262b",
      "parents": [
        "3d671b5e537482e40e4869dbe0235edf496b3184"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:16 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:16 2008 +0000"
      },
      "message": "Make the Haskell generator dynamic.\n\n- Modify the Haskell generator constructor to fit the new generic interface.\n- Register the Haskell genrator with the central registry.\n- Deprecate the old way of invoking the Haskell generator.\n- main.cc no longer includes t_hs_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665594 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7bb71df6efb2529ea3f3d1baf86fb6f102ca3e4f",
      "tree": "1f3f8abd28f9f4be38f26ec447f0c3c3e1cb4891",
      "parents": [
        "f0521b1305aaa0900f02a09ac743cef21f4befe7"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:08 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:08 2008 +0000"
      },
      "message": "Remove t_ocaml_generator.h.\n\nt_ocaml_generator.h is no longer included anywhere, because\nthe Ocaml generator uses the new dynamic generator framework.\nTherefore, we can collapse the class definition into the .cc file.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665592 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f0521b1305aaa0900f02a09ac743cef21f4befe7",
      "tree": "e9c7cbfffb6b5264309106f8bcfd1f5d5857fd69",
      "parents": [
        "b4d7b89efd635c8ca2407c63a73ed7ab0983fbd1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:05 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:05 2008 +0000"
      },
      "message": "Make the OCaml generator dynamic.\n\n- Modify the OCaml generator constructor to fit the new generic interface.\n- Register the OCaml genrator with the central registry.\n- Deprecate the old way of invoking the OCaml generator.\n- main.cc no longer includes t_ocaml_generator.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665591 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b4d7b89efd635c8ca2407c63a73ed7ab0983fbd1",
      "tree": "7f36e5d368379e505a7419cec5ff57184d15170a",
      "parents": [
        "237171ee8118396fd45db8ac039832932c69992a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:01 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:40:01 2008 +0000"
      },
      "message": "Make generate_program virtual.\n\nHaskell and OCaml need to override this to put typedefs at the end.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665590 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "237171ee8118396fd45db8ac039832932c69992a",
      "tree": "ffec101a6d757e35d2a7fdc468cec0abb87345cf",
      "parents": [
        "d6609e2b627d69aa191376bcd47046a627aa91d3"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:39:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:39:58 2008 +0000"
      },
      "message": "Whitespace-only change for consistency.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665589 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4b83d6ddeb2d9b5a4102839cfe0d38fe2c72411d",
      "tree": "254b2086eba00521b2344439afe70d34f0a5f0a0",
      "parents": [
        "2d2aa145b4b9595fb128009536528ce533df1be1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 19:45:19 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 19:45:19 2008 +0000"
      },
      "message": "Allow nested namespaces to be used in perl.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665584 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ],
  "next": "0c703cc2f8dd85016a2d7f19b31b09aee42361e0"
}
