)]}'
{
  "log": [
    {
      "commit": "7388037fa17e1253b264bb0afea3c51aaa4b40d9",
      "tree": "bfb25baee1826a765bb06db30f3e174fafe09a86",
      "parents": [
        "c7b3086665b5b10f7cbcf3adae850e45c9ed6c02"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Nov 14 15:21:57 2015 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Nov 14 18:57:17 2015 +0100"
      },
      "message": "THRIFT-3416 Retire old \"xxx_namespace\" declarations from the IDL\nClient: Compiler (general)\nPatch: Jens Geyer\n\nThis closes #700\n"
    },
    {
      "commit": "cc193c1becb78b75fbbb178a6e2e0e5aaa0f5b24",
      "tree": "715fe31a69b66c5b2abe6526b7a126196735b733",
      "parents": [
        "a6b120301a05ef6bfb77d5bd7df1784b78339a09"
      ],
      "author": {
        "name": "BCG",
        "email": "bgould@users.noreply.github.com",
        "time": "Thu Nov 12 21:02:51 2015 -0500"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Nov 14 14:28:09 2015 +0100"
      },
      "message": "THRIFT-3417: \"namespace xsd\" is not really working\nClient: XSD\nPatch: Benjamin Gould\n\nThis closes #691\n"
    },
    {
      "commit": "40c28d3310ff5f18c4af085592ac658f56b8daeb",
      "tree": "005d2eed3ca720cfdb57cc981464d75adf678d23",
      "parents": [
        "f2ab1346c6dc2290ef9b3290e1712e7987c2d562"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Oct 20 23:13:02 2015 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Oct 20 23:17:38 2015 +0200"
      },
      "message": "THRIFT-3393 Introducing i8 to provide consistent set of Thrift integers\nClient: Compiler (general)\nPatch: Jens Geyer \u003cjensg@apache.org\u003e\n\nThis closes #656\n"
    },
    {
      "commit": "4f4b15ba2b89aa553f982cd36b1cd70fd82a156e",
      "tree": "b33c4f8cd879b6957f406add459af2ff600bf38c",
      "parents": [
        "e81367bb95714a4720d36c5bf3bb0386d4ae04c0"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Nov 05 16:51:04 2014 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Nov 05 16:53:41 2014 +0100"
      },
      "message": "compiler: remove trailing whitespaces\n"
    },
    {
      "commit": "86b309cde09b6bdbe95c4c9d77ca6ad0bc6c6805",
      "tree": "76c89dc8eccf293b673d2c085c85cc3e77e417a2",
      "parents": [
        "089bcd3f8cd643091cd29126b236271c069b18e9"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 11 23:54:35 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri Sep 12 00:23:51 2014 +0200"
      },
      "message": "THRIFT-2513 clean up enum value assignment\nClient: Compiler (General)\nPatch: Jens Geyer\n"
    },
    {
      "commit": "089bcd3f8cd643091cd29126b236271c069b18e9",
      "tree": "6368b6fabdffc9f98cdf9a28a1496754ec637837",
      "parents": [
        "684ccab5e72cddacda7a1fc2c1a80f23e1bc3163"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 11 22:36:41 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 11 22:36:41 2014 +0200"
      },
      "message": "THRIFT-1040 Can\u0027t end typedef lines with a semicolon\nClient: Compiler (General)\nPatch: Konrad Grochowski\n"
    },
    {
      "commit": "ae0b22cc29a329f5e094c37d8fff166d01b6fab5",
      "tree": "a8530b060830bfbc1e2d989f345d406e062d0ddc",
      "parents": [
        "067779bbda32412ff67a777582465579a9f18c84"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 04 23:04:21 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Thu Sep 04 23:40:14 2014 +0200"
      },
      "message": "THRIFT-2513 clean up enum value assignment\nPatch: Dave Watson\n\nThis closes #88\n\nSummary:\nClean up how enum values are handled if an integer value is not\nexplicitly specified in the thrift file.\n\nFor example, the following used to be a compile error, but\nworks now:\n\n  enum MyEnum {\n\tSOMEVALUE\n  }\n  struct MyStruct {\n\t1: MyEnum e \u003d SOMEVALUE\n  }\n\nThis change also cleans up some of the error handling with out-of-range\nvalues.  Previously thrift simply issued a warning for enum values that\ndidn\u0027t fit in an i32, but serialized them as i32 anyway.  Now\nout-of-range enum values result in a compile failure.\n\nTest Plan:\nIncluded a new unit test to verify the assignment of enum values.  I\nalso verified that g++ makes the same enum value assignments when\ncompiling these enums as C++ code.\n"
    },
    {
      "commit": "89847dfaa014bb17bc68ca1167d3b295c5d3a357",
      "tree": "e4e980de1533aa530d0b0b2131849d7baa2044aa",
      "parents": [
        "e52c046cb62d1f910302148f7bc2091c014acd27"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 02 23:50:04 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 02 23:50:04 2014 +0200"
      },
      "message": "THRIFT-2499 Compiler: allow annotations without \"\u003d value\"\nClient: compiler general\nPatch: Dave Watson\n\nThis closes #87\n\ncommit 078ce57e816eeb3697acf6f2c50e09526da73d3b\n Author: Dave Watson \u003cdavejwatson@fb.com\u003e\n Date: 2014-03-21T19:42:31Z\n\n[thrift] Compiler: allow annotations without \"\u003d value\"\n\nSummary: (foo) is the same as (foo \u003d 1), for brevity\n\nTest: AnnotationTest.thrift still compiles\n"
    },
    {
      "commit": "885c6791235e011794a0b65c00f1d9fdf3d233e3",
      "tree": "f752bf49fa5157300f63677c7210ff90bfde8747",
      "parents": [
        "0a7c69cfe643fde10df27f6ddf24a67d36f8fb12"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 02 21:31:55 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Fri May 02 21:31:55 2014 +0200"
      },
      "message": "THRIFT-2471 Make cpp.ref annotation language agnostic\nClient: compiler general\nPatch: Dave Watson\n\nThis closes #113\n\ncommit 52b99af4ee1574253dcb77933d76a7ebb2d830df\n Author: Dave Watson \u003cdavejwatson@fb.com\u003e\n Date: 2014-04-23T20:05:56Z\n\nchange cpp.ref to \u0026\n\ncommit 3f9d31cc6140367529fd8f7b1b67056ec321786f\n Author: Dave Watson \u003cdavejwatson@fb.com\u003e\n Date: 2014-04-23T21:50:29Z\n\nRecursion depth limit\n\ncommit 61468e4534ce9e6a4f4f643bfd00542d13600d83\n Author: Dave Watson \u003cdavejwatson@fb.com\u003e\n Date: 2014-04-25T19:59:18Z\n\nshared_ptr for reference type\n"
    },
    {
      "commit": "d000b241a43e50157938e056b9fa0f7d88f099df",
      "tree": "0d2e380d311e5a4914fe80611d3f653d3799d40a",
      "parents": [
        "645c420b64fac217694e616d0cce6ceed4620177"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Apr 13 21:58:47 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Apr 13 21:59:51 2014 +0200"
      },
      "message": "THRIFT-2449 Enhance typedef structure to distinguish between forwards and real typedefs\nClient: General Compiler, Delphi\nPatch: Jens Geyer\n"
    },
    {
      "commit": "e0e831683897ea4b786eebabd0cea77659d77150",
      "tree": "f0a7e4bbd410047e6022657d568abc593013b6d0",
      "parents": [
        "bea3144a456a635c7a2e84c92277c5ad27f892d6"
      ],
      "author": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Apr 08 22:45:01 2014 -0400"
      },
      "committer": {
        "name": "jfarrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Apr 08 22:45:01 2014 -0400"
      },
      "message": "THRIFT-2421: Tree/Recursive struct support in thrift\nClient: cpp\nPatch:  Dave Watson\n\nGithub Pull Request: This closes #84\n----\ncommit b6134cedf292845e5ed01052919894df6b561bf2\nDate:   2014-03-20T18:12:04Z\n\n    Recursive structs support in parser\n\n    A common complaint is that you can\u0027t express trees or other recursive structures in thrift easily - unlike protobufs. This diff loosens up the parser to allow using structs before they are defined (and uses typedef as a forward declaration).\n    This diff is actually enough to make recursive types work for some dyamic languages (I tried php, works out of the box!)\n\n    Other languages will need forward declarations, or ways to box types, to make this work (i.e. C++ needs both forward decls and a way to express structs as pointers)\n"
    },
    {
      "commit": "bf0b6291f8bc7192847a2da458fdd40ee7256066",
      "tree": "52168dc5557366d6e52e8f2176e794e69187b966",
      "parents": [
        "443ced0e3a68b3bf61c32466e0f75c5a41abbe47"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Mar 26 23:32:34 2014 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Mar 26 23:32:34 2014 +0100"
      },
      "message": "THRIFT-2414 c_glib fix several bug\nPatch: Jaesang Kim\n"
    },
    {
      "commit": "6fe77e8e660139dbe7ad2b52e5ca3d0e5a0de7ca",
      "tree": "ed654704703946bc634b2b9465c16a84ef6990c2",
      "parents": [
        "5b78958864475204dc15590742ae1bc7f4df33ca"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Mar 16 16:48:53 2014 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Mon Mar 17 22:51:21 2014 +0200"
      },
      "message": "THRIFT-2404 emit warning on (typically inefficient) list\u003cbyte\u003e\n\nPatch: Jens Geyer\n"
    },
    {
      "commit": "e8379b538adbfdcd94c8d9a8702c10435cd38475",
      "tree": "f1289c85731c280819f6a7879c3f9492c78f40e5",
      "parents": [
        "ad7f788824225ab2d0137e5595627d20c7d9540b"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jan 25 00:59:45 2014 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sat Jan 25 00:59:45 2014 +0100"
      },
      "message": "THRIFT-2320 Program level doctext does not get attached by parser\n\nPatch: Craig Peterson \u0026 Jens Geyer\n"
    },
    {
      "commit": "5f2d34e5ab33651059a085525b3adbab6a877e6f",
      "tree": "631ee831c195962450a7e9e80b7a758241154e2d",
      "parents": [
        "3da1c9025b77f5ca3ba4c296b8ab3089235b9c3b"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Nov 16 16:43:41 2013 +0100"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sat Nov 16 16:43:41 2013 +0100"
      },
      "message": "THRIFT-2229 thrift failed to build on OSX 10.9 GM\n"
    },
    {
      "commit": "e957675647d3d7caafe842aa85cbd987e91b21f9",
      "tree": "b8a1306ac830d9035cf608f0f759f98fc6af8c46",
      "parents": [
        "49a7663c79ad064fed21bef18e87d929a73a2521"
      ],
      "author": {
        "name": "Ben Craig",
        "email": "bencraig@apache.org",
        "time": "Fri Oct 11 08:19:16 2013 -0500"
      },
      "committer": {
        "name": "Ben Craig",
        "email": "bencraig@apache.org",
        "time": "Fri Oct 11 08:19:16 2013 -0500"
      },
      "message": "THRIFT-2045: C++ compiler warning and build cleanup (again)\nClient: cpp\nPatch: Ben Craig\n"
    },
    {
      "commit": "9f9cd10e813ef574dd5578d78ca26a9088383d3a",
      "tree": "a95bd3bbf3daa05fa671ace88e79fadf707a780e",
      "parents": [
        "282e440c6de219b7b8f32b01cc7eb599f534f33f"
      ],
      "author": {
        "name": "Ben Craig",
        "email": "bencraig@apache.org",
        "time": "Wed Oct 09 09:47:48 2013 -0500"
      },
      "committer": {
        "name": "Ben Craig",
        "email": "bencraig@apache.org",
        "time": "Wed Oct 09 09:47:48 2013 -0500"
      },
      "message": "Revert \"THRIFT-2045: C++ compiler warning and build cleanup\"\n\nThis reverts commit 282e440c6de219b7b8f32b01cc7eb599f534f33f.\n\nThis change had unintended autoconf side effects.\n"
    },
    {
      "commit": "282e440c6de219b7b8f32b01cc7eb599f534f33f",
      "tree": "b42171854818596abb55eb692859b816eb3ae886",
      "parents": [
        "380a45d0f7354486195d4938d204671e1b2cefcb"
      ],
      "author": {
        "name": "Ben Craig",
        "email": "bencraig@apache.org",
        "time": "Tue Oct 08 16:02:06 2013 -0500"
      },
      "committer": {
        "name": "Ben Craig",
        "email": "bencraig@apache.org",
        "time": "Tue Oct 08 16:02:06 2013 -0500"
      },
      "message": "THRIFT-2045: C++ compiler warning and build cleanup\nClient: cpp compiler, go compiler, python compiler, compiler build\nPatch: Ben Craig\n"
    },
    {
      "commit": "12c09f44cb291b1ecc4074cb3a55775b375fa8b2",
      "tree": "d5f3ea4eaf9e21709321c8aa3dd353f363bf6114",
      "parents": [
        "d9120c9fbdf9cde8da35dd2634987e7c07089652"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Aug 25 14:16:27 2013 +0200"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Aug 25 14:17:32 2013 +0200"
      },
      "message": "THRIFT-667 Period should not be allowed in identifier names\n\nPatch: Jens Geyer\n"
    },
    {
      "commit": "ba406d3a022967e6189249bd8e805f0eb9ac2921",
      "tree": "24bf3bcde0c05872664bdd9b0bde148d082d5dad",
      "parents": [
        "1075a6f67b63b96be455496f50624433ff73c449"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Jul 15 22:41:34 2013 +0200"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Jul 15 22:41:34 2013 +0200"
      },
      "message": "THRIFT-2089 Compiler ignores duplicate typenames\nPatch: Randy Abernethy\n"
    },
    {
      "commit": "3a67c2f834119b8a1148ab071443c8d12ce207a1",
      "tree": "6ebbd28a71d489a7350e221cdc99401bd3e8ce44",
      "parents": [
        "814d4c7fb94e5dcafadf7188da3bd3f8bd132190"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Feb 03 22:30:41 2013 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Sun Feb 03 22:30:41 2013 +0100"
      },
      "message": "THRIFT-1603 Thrift IDL allows for multiple exceptions, args or struct member names to be the same\nPatch: Kamil Sałaś\n"
    },
    {
      "commit": "7740739b79d0e694d6a15fa000c30bae028d8785",
      "tree": "2a6a4b3aabf3eff9deaa513cd20c749a74ec4ec3",
      "parents": [
        "741e715e816da102c1206ed71db13a9a4e638045"
      ],
      "author": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Dec 11 23:38:12 2012 +0100"
      },
      "committer": {
        "name": "Jens Geyer",
        "email": "jensg@apache.org",
        "time": "Tue Dec 11 23:38:12 2012 +0100"
      },
      "message": "THRIFT-1765 Incorrect error message printed for null or negative keys\n"
    },
    {
      "commit": "3087738f284efdc49aac28d68b50b26f0842b714",
      "tree": "0947d66188e4e2cf23907e817a8937e1bc742649",
      "parents": [
        "e2ef3179b6fd55b4ab3a68a985eb8cdc0ffa1432"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Sep 17 21:18:05 2012 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Mon Sep 17 21:18:05 2012 +0000"
      },
      "message": "THRIFT-1651 Support annotations on all elements\nPatch: Benjy Weinberger\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1386848 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "12d705390d24359900256ceda15e00de4df4a6cd",
      "tree": "62922ea60d20e328b29a907f9040f40c4da57553",
      "parents": [
        "a99027c708f3d920db68d72966e5bd221b7440e1"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Dec 14 23:35:28 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Wed Dec 14 23:35:28 2011 +0000"
      },
      "message": "THRIFT-1461 Recent TNonblockingServer changes broke --enable-boostthreads\u003dyes, Windows\nPatch: Alexandre Parenteau\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1214547 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6f7681f91d1cdf41be657978d819d94b6024c434",
      "tree": "4f6a55e55af4cc8fa3c4734a1e6e32dc5e9487b6",
      "parents": [
        "38315786e5c9e972aef50433b401dcff23259cae"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 06 12:04:28 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 06 12:04:28 2011 +0000"
      },
      "message": "THRIFT-1361 revert compiler/cpp/src/thrifty.yy change\n\u003d\u003e breaks mingw build\n\u003d\u003e memleak fixes reported by cppcheck\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1198347 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "38315786e5c9e972aef50433b401dcff23259cae",
      "tree": "28dc13bba5655cab8c1c12ad67d7e0bd87fbaba6",
      "parents": [
        "1b6153bdd145be14ce2a58cee2858d07ae60b829"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 06 11:29:41 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Sun Nov 06 11:29:41 2011 +0000"
      },
      "message": "THRIFT-1361 Optional replacement of pthread by boost::thread\nPatch: Alexandre Parenteau\nrev3\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1198339 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7ae13e10f7cb0e0c6107cb849d33b9a46b299840",
      "tree": "c757f2c0228b78ab4b02075b11aab75a8f56e69a",
      "parents": [
        "857a8b8bf81d4ead905e02527727a751720ffdbc"
      ],
      "author": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Oct 18 14:35:26 2011 +0000"
      },
      "committer": {
        "name": "Jake Farrell",
        "email": "jfarrell@apache.org",
        "time": "Tue Oct 18 14:35:26 2011 +0000"
      },
      "message": "Thrift-1366: Delphi generator, lirbrary and unit test.\nClient: delphi\nPatch: Kenjiro Fukumitsu\n\nAdding delphi XE generator, lib and unit tests.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1185688 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "887ff756cb6ead9d5b764064ffc4973be8065b59",
      "tree": "fefdda5cb7a5f3aeecd1e42376397d03f0623a19",
      "parents": [
        "b6af6dbf0579a0b2cf3577f160c1a99d036df2bb"
      ],
      "author": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Aug 19 11:25:39 2011 +0000"
      },
      "committer": {
        "name": "Roger Meier",
        "email": "roger@apache.org",
        "time": "Fri Aug 19 11:25:39 2011 +0000"
      },
      "message": "THRIFT-1276 Add thrift compiler option to suppress warnings about\nPatch: Dave Watson\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1159593 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c7206a40117da7d1f4a8a98ea52099825bea3b45",
      "tree": "90f09dfe39f6e29d7210f15a411890c62841b7dd",
      "parents": [
        "ff1c69bc1ca625a5bc0e3cb12d678f86920fc488"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Aug 17 23:17:04 2011 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Wed Aug 17 23:17:04 2011 +0000"
      },
      "message": "THRIFT-1270. compiler: add --allow-neg-keys argument to allow \n\nThis switch allows the user to specify explicit negative field IDs in Thrift IDL in order to avoid breaking wire protocol.\n\nPatch: Dave Watson\n\ngit-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1158967 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9f0a786dad1d6d0d737b89f96ba7ec90bf9096e2",
      "tree": "55f82378ab02bb36de3d6ea0ba1f25c16c963cf1",
      "parents": [
        "b6c50e56583d503ab7dcc843d4e09d99f8010ef3"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun Sep 12 14:38:36 2010 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Sun Sep 12 14:38:36 2010 +0000"
      },
      "message": "THRIFT-897. compiler: Don\u0027t allow unqualified constant access to enum values\n\nThis patch makes it illegal to refer to enum values by just their names in the IDL. Now, you must also provide the enum type\u0027s name as well.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@996320 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fb790d726297cfa85900db00214fc0f3a9d029e6",
      "tree": "708ddf62b433af57bea98f4b5d951728f2b8f8d9",
      "parents": [
        "f723e8d5b59bc5322663431e82c75ccace59287a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Sep 02 16:41:45 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Sep 02 16:41:45 2010 +0000"
      },
      "message": "Allow \"*\" as a catch-all namespace.\n\nIn an IDL file, you can can now declare \"namespace * foo\",\nwhich will apply to any language not explicitly specified.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@992012 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4dd7801e90fe10a6614890f3d176716582b04233",
      "tree": "a566a938627e0a72cddff4ab152f639ad58654bb",
      "parents": [
        "d93c626131455fe5f8757fe3ee29d7f7a5c4fe22"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:08 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 09 05:19:08 2010 +0000"
      },
      "message": "THRIFT-655. Allow structs to be typedef\u0027ed\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@920657 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "53c10e09e15b446e7213b341e8fddc79296f1d51",
      "tree": "fd983d6dbd047456779e03e8ed49250ba60ca8c3",
      "parents": [
        "a268019e85ac34b5b7a1c89d59288ecead5e6d97"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 05 07:51:51 2010 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 05 07:51:51 2010 +0000"
      },
      "message": "THRIFT-564. Support arbitrary annotations on struct fields\n\nThis is subtly different from a type annotation, since some bits of\nmetadata only make sense in the context of a single structure field,\nlike whether the field is required, or whether the C++ code should use\na pointer for it.\n\nThis change doesn\u0027t define any meaningful annotations.  It just sets up\nthe parsing infrastructure.\n\nI have no idea if $10 will work with older versions of yacc.  It seems\nto work fine with bison.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@919325 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": "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": "45603e9c6c6196301655b2328007382f46ef627d",
      "tree": "9fb4fbb00653da343820e8fb77e0f4dc597f6a59",
      "parents": [
        "3647fc62f531f886d92042157b906f455097aa89"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Sep 02 22:15:55 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Sep 02 22:15:55 2009 +0000"
      },
      "message": "THRIFT-575. Allow required fields in function parameters\n\nr665255 was a bit too aggressive.  \"optional\" was causing confusion,\nbut there doesn\u0027t seem to be any harm in allowing \"required\".\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@810713 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ab3666e6caad79315fddf0f8f38c13c7a10cc23a",
      "tree": "4130f6c9eaae3553171c4c4a0d18623697a63193",
      "parents": [
        "fd58c55dca197daea0df23a339a1d106dea8189b"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 01 23:03:47 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Tue Sep 01 23:03:47 2009 +0000"
      },
      "message": "THRIFT-409. java: Add \"union\" to Thrift\n\nThis patch introduces new IDL syntax for creating Unions, explicityly single-valued structs. While the parser changes are portable, this patch only includes the actual generated code changes for the Java library. Other libraries can continue to generate a struct with the same fields and remain compatible until they are able to implement the full shebang.\n\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@810300 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c8e300533cc9d12ecb2325ec89b581647cb7707e",
      "tree": "fafc41893a631f4b1dca03ba1e3b302f2761e7ed",
      "parents": [
        "bbd55ad8da7141ec5339944b6f497555ba2a4f6b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jul 27 17:02:42 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jul 27 17:02:42 2009 +0000"
      },
      "message": "THRIFT-413. Suppport for annotations on base types\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@798219 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ff219acb6c6ec434d48ceb78ec4b7e03141e27b5",
      "tree": "63ffff1f527b747b51e1a8d993b3a0544a3122b5",
      "parents": [
        "5a5608893018529dfa5dba66070b26d7b33e9d7b"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Apr 10 21:51:00 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Apr 10 21:51:00 2009 +0000"
      },
      "message": "THRIFT-236. Structs should be serialized in a consistent order\n\n2nd try at this issue. This time, we will use numeric field order ONLY for the serialization portion, instead of globally. This should make it much easier to produce the correctly ordered output in all cases. \n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@764072 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ebb6cc4cf1345aee0f64e400a3d4c08a93cfe96c",
      "tree": "01111133576a398180ad9a623c49910484a06e25",
      "parents": [
        "7d64c0a330975b8785d780656ea7857b23633e5c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 09 20:02:56 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 09 20:02:56 2009 +0000"
      },
      "message": "THRIFT-445. Revert r760201 \"THRIFT-236. Sort fields in id order during parsing\"\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@763786 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a145b4d58ad8e91933e6548128d83a18dff3bb9b",
      "tree": "96a10d789fcb9934487fed7462203fe32a857788",
      "parents": [
        "141eab41474c18dd5509446a71f63b62d4b4035c"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Apr 03 17:29:25 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Apr 03 17:29:25 2009 +0000"
      },
      "message": "THRIFT-423. -strict should turn omitted field ids into compile error\n\nIssue name says it all.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761736 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bb4613629b53f91164a0d63d6676edaf70f26cd0",
      "tree": "426741715353a9f592a1e42d91c2aa60ea106f84",
      "parents": [
        "deda141392d0b242e1fce0c0682ceedb45642a18"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 19:23:59 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 19:23:59 2009 +0000"
      },
      "message": "THRIFT-420. Warn on implicit (negative) structure field ids\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761391 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "566a987dacfda8a85cdc55c5a0577ff6453da9d4",
      "tree": "cf5b33589bb5ab95e80bbdae739debc9f1c51ac2",
      "parents": [
        "ea2cba8ba8484a8d4e669c02dd97b3b2445ef322"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Mar 30 22:24:30 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Mar 30 22:24:30 2009 +0000"
      },
      "message": "THRIFT-236. Sort fields in id order during parsing\n\nThis effectively eliminates the notion of \"IDL-order\".\nAll structs have their fields sorted in increasing order of field id.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@760201 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ea2cba8ba8484a8d4e669c02dd97b3b2445ef322",
      "tree": "6be4a3bf2d069a006c9a15f5ee47a1893a176f4d",
      "parents": [
        "4bc4231040186d9e0c35ff4d8211ce7b7e43aab5"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Mar 30 21:35:00 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Mar 30 21:35:00 2009 +0000"
      },
      "message": "THRIFT-387. Add license headers to a bunch of files\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@760189 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6985a4205b4a4aa18e580025134726e34269aecf",
      "tree": "00275c88b4e58556671561893cc497d7f4789c2f",
      "parents": [
        "9a863ee551ffc75224113a2095ee5f2468f843ca"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 24 20:00:47 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 24 20:00:47 2009 +0000"
      },
      "message": "THRIFT-136. s/async/oneway/ in lexer and parser variables\n\nThis is an internal-only change.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@757988 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "13083d6d52d2b5bd3d5a9368a04503c5b21eabab",
      "tree": "dfc912718c5f9dbacfd395d1e5f8dd59e9fd9de6",
      "parents": [
        "afa1b47e60c4ffba554f6187d84fd20cd514f51d"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Mar 20 02:19:46 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Mar 20 02:19:46 2009 +0000"
      },
      "message": "THRIFT-294. Remove @author tags\n\nThey\u0027re gone. Don\u0027t add any new ones!\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@756307 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "00a8dd633c4ebdd2536b70901343d0beb36da0f1",
      "tree": "cc854b0deeaf975f70d85ee80f667b40ba1cf3bf",
      "parents": [
        "cbcd63ab4984336ecebae485bd8b3186a0444d39"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 19 08:14:12 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 19 08:14:12 2009 +0000"
      },
      "message": "THRIFT-361. Use separate negative id counters for arguments and exceptions\n\nNOTE:\nThis will break wire-compatibility, but only with functions that have\nboth negative-id arguments and negative id-exceptions, and only in the\nexceptional case.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@755870 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "554ea6f936c3ad2c3317e6ba94356c65b088536f",
      "tree": "35b0bd685146e7c8d35840ab2f2014fb144c0f4e",
      "parents": [
        "32272d9bd81f3d05b2dbfd3f504b29aeb9289964"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 17 20:28:37 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 17 20:28:37 2009 +0000"
      },
      "message": "Make the PHP generator use non-hardcoded namespaces.\n\n- Make the PHP generator use program-\u003eget_namespace(\"php\")\n  instead of program-\u003eget_php_namespace()\n- Eliminate the explicit \"php_namespace\" in t_program.\n- Deprecate the php_namespace token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745241 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "92e10d829778b21cfa9d1b38242704ca1392b7ab",
      "tree": "7e67498fd7312aac26b651812b63809d365d4c25",
      "parents": [
        "782cb67a3b90c85efeb6d23badab9ddbe18987b6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 17 20:28:19 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 17 20:28:19 2009 +0000"
      },
      "message": "Make the XSD generator use non-hardcoded namespaces.\n\n- Make the XSD generator use program-\u003eget_namespace(\"xsd\")\n  instead of program-\u003eget_xsd_namespace()\n- Eliminate the explicit \"xsd_namespace\" in t_program.\n- Deprecate the xsd_namespace token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@745237 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a2309996679350a249beeac34efd65ff703f5b23",
      "tree": "907fff4f8a067c923c864f978b7452d3ec2b9b4e",
      "parents": [
        "322e595c2ac8a7ff4ef53cc472882d85e36000a0"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Dec 10 01:52:48 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Dec 10 01:52:48 2008 +0000"
      },
      "message": "THRIFT-121. Support arbitrary type annotations\n\nAdds syntax for attaching arbitrary key/value pairs to types.\nThese annotations can be accessed by individual generators to alter\nthe code they produce.\n\nThis version supports annotations on container types and structures.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@724954 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "400a543b04d12b3d97c7ba50143ef7b21c7166fb",
      "tree": "3dba15f20d0602b3b69fe589a85657b1656bc1c8",
      "parents": [
        "6144e428d5f55ef5cb81dbef1af8a140f94ad53c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jul 25 19:48:39 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jul 25 19:48:39 2008 +0000"
      },
      "message": "THRIFT-91. cpp: Fix compilation on Fedora Core 9\n\nIt turns out that __STDC_LIMIT_MACROS is not portable.\nInclude limits.h at least until cstdint becomes mainstream.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@679885 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f14541626d1c49cb1439d65e81fa3609c23b7cf0",
      "tree": "0b58c296fdf9f66169f70e368c948ade2a1a510c",
      "parents": [
        "dd08f6d5a5bbc39b4ab30a3cb6996b39f7605f06"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jun 30 20:45:47 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jun 30 20:45:47 2008 +0000"
      },
      "message": "Partial handlling of 64-bit integer constants.\n\n- Parse integer constants in Thrift files as 64-bit ints.\n- Die if an overflow occurs.\n- Warn if an enum value cannot fit in 32 bits.\n- Add a simple test for the above.\n\nI ran all of the generators over BrokenConstants.thrift before adding the\noverflow, and they appeared to work.  However, the code generated was not\nalways valid (for example, the 64-bit constant must have an LL suffix in C++).\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@672907 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": "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": "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": "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": "919ae80934969d9e6b44d537d5ca5cda7e75a9a9",
      "tree": "040837cd648f3f8b3cf99a03ddb7688ed1c0937b",
      "parents": [
        "54b602b7468dd1260a3d65d389e449b572cdff0f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:11 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 27 21:41:11 2008 +0000"
      },
      "message": "Fix a stale debug message.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665607 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": "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": "9f646157f0c22f021343df778df5ed3fcd8da933",
      "tree": "e81b3412780b3bd3850fb7daf470e44270173686",
      "parents": [
        "520b5eec8f85ce6b524021c026677d1991ad72f6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 21:59:48 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 21:59:48 2008 +0000"
      },
      "message": "Fix a typo in a warning message in thrifty.yy.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665547 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "10ae20f684a364f3c7f4151e8ea93993593e3b15",
      "tree": "55e5f02b66a425f9805282e441adb009bfce4fe9",
      "parents": [
        "4ce2874fd50acaff7fa5b0f571098f50623752cc"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 07:45:10 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 07:45:10 2008 +0000"
      },
      "message": "Fix a warning message.\n\nForgot to update this when copy-pasting.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665521 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "771f8c797b1920919aadcb63d9e1dab3cd1905f6",
      "tree": "11945ee5d4ae72ac951021b83b4007c2ef45edf8",
      "parents": [
        "9a08dc6184cd0c3fd3d774fcf3f0a4233e28975f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:25 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:25 2008 +0000"
      },
      "message": "Make the Java generator use non-hardcoded namespaces.\n\n- Make the Java generator use program-\u003eget_namespace(\"java\")\n  instead of program-\u003eget_java_namespace()\n- Eliminate the explicit \"java_namespace\" in t_program.\n- Deprecate the java_namespace token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665514 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9a08dc6184cd0c3fd3d774fcf3f0a4233e28975f",
      "tree": "a047210c4603c6d119639b2112049e5ebce8136d",
      "parents": [
        "79eca14125c391c6011f4ffb14bfea898bc6c2f9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:17 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:17 2008 +0000"
      },
      "message": "Make the C++ generator use non-hardcoded namespaces.\n\n- Make the C++ generator use program-\u003eget_namespace(\"cpp\")\n  instead of program-\u003eget_cpp_namespace()\n- Eliminate the explicit \"cpp_namespace\" in t_program.\n- Deprecate the cpp_namespace token.\n- Update example .thrift files and syntax files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665513 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "79eca14125c391c6011f4ffb14bfea898bc6c2f9",
      "tree": "9fab646ead11d6603575dcd52f953fdd7f47edd4",
      "parents": [
        "dc61be96505383f8832da53ca41a6d13b15bcd5c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:13 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 27 01:55:13 2008 +0000"
      },
      "message": "Infrastructure for a language-neutral namespace declaration.\n\nAltered the once-deprecated \"namespace\" directive in .thrift files\nto take two identifiers: the language and the namespace.\nThey are stored in a map inside of the program object.\nFuture changes will convert specific generators to use this map\nand deprecate the old language-specific tokens.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665512 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "399442be815c460065766e4b45ba754b3ca4ab32",
      "tree": "076164c8f29a54b47d88605a3b143b865d60d773",
      "parents": [
        "d7a16f4c111599f8b78905df70f0f60af0721e08"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 20 02:28:05 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 20 02:28:05 2008 +0000"
      },
      "message": "Fix a typo\n\nReviewed By: mcslee\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665488 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f07d48e812e5761239c9d34cae35e52e15d1a99e",
      "tree": "5691099f765a79e4687ab980177794e0e029ae90",
      "parents": [
        "5cf89c1610e54609b551f7d46d2745c2f16d00c2"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Feb 01 01:36:26 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Feb 01 01:36:26 2008 +0000"
      },
      "message": "Fix to the throws clause validation\n\nSummary: Types from external files are not resolved until the program parse pass, not the include one. Therefore, only do full type validation once after all includes have been parsed and external type pointers resolved.\n\nReviewed By: aditya\n\nTest Plan: build ServiceManager.thrift\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665452 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "91f2b7b2f71dc67bc90f5eed0de99dbb9317d793",
      "tree": "faf2f051dab8bfda2a8601bee1034344226ace78",
      "parents": [
        "8d4b1cc3ab706c8116e279782a1773f5b011860a"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Jan 31 01:49:16 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Jan 31 01:49:16 2008 +0000"
      },
      "message": "Validate that throws clauses in Thrift contain only exceptions\n\nSummary: Throwing non-exceptions, though allowed in some languages, is a weird concept and causes problems in many places. Disallow it in the Thrift compiler and throw an informative error.\n\nReviewed By: dreiss\n\nTest Plan: Generate a file with an int or something in a throws clause. Peep the nice informative compiler error.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665450 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "76f2c88edad82d3f6c0b7407295d9f7263394bdf",
      "tree": "1e86f4ba7dc0e2ddadbf3408c8a28826f55e7620",
      "parents": [
        "2e8a8d40951ba3708ddb377e90e34b270bfc5446"
      ],
      "author": {
        "name": "kholst",
        "email": "dev-null@apache.org",
        "time": "Wed Jan 16 02:47:41 2008 +0000"
      },
      "committer": {
        "name": "kholst",
        "email": "dev-null@apache.org",
        "time": "Wed Jan 16 02:47:41 2008 +0000"
      },
      "message": "thrift: Add -cpp_use_include_prefix flag to compiler\n\nSummary: Adds a new flag to allow for a mode where #include statements in generated c++ will include path context information.  For example, if my .thrift file includes \"foo/bar/baz.thrift\", the generated source files will contain #include statements like:\n\n         #include \"foo/bar/gen-cpp/baz_types.h\"\n\n         instead of just:\n\n         #include \"baz_types.h\"\n\n         -cpp_use_include_prefix is OFF by default.\n\nReviewed By: dreiss\n\nTest Plan: Tested against multiple thrift input files both with and without the new flag.\n\nRevert: OK\n\nDiffCamp Revision: 5522\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665431 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7f42bcf97c8961d5f25cb88220d0b358a1cbccae",
      "tree": "e10c327a36496b5f3b1146a2c5b84d6fb6f159bc",
      "parents": [
        "204420fa56d93adb59ac9fe339bb25e8d9b13fb2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jan 11 20:59:12 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jan 11 20:59:12 2008 +0000"
      },
      "message": "Thrift: C# Bindings.\n\nSummary:\nC# generator, library, and MS Build task contributed by imeem.\n\nReviewed By: mcslee\n\nTest Plan:\nBuilt the Thrift compiler and generated some C# code.\nI\u0027d love to say I installed Mono or Portable.NET and built the C# code,\nbut I did not.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665421 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "204420fa56d93adb59ac9fe339bb25e8d9b13fb2",
      "tree": "9ddf7cb5b1ca40c5141698e67c07b9ce3a83907a",
      "parents": [
        "19c9777583bf4614a237be824bbed80fa6db9213"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jan 11 20:59:03 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jan 11 20:59:03 2008 +0000"
      },
      "message": "Thrift: MinGW port.\n\nSummary:\nTodd Berman from imeem has contributed a patch that allows\nthe Thrift compiler to be built with MinGW and run on Windows.\n\nReviewed By: mcslee\n\nTest Plan:\nBuilt the compiler from scratch on Linux.\nIf my changes messed up the MinGW build, I\u0027m sure Todd will yell at me.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665420 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "15457c9b08a75e0b5a8c82936151468bddfd27b8",
      "tree": "61c8dcef6f9d7aebc79cbad3effb5df3b838c62f",
      "parents": [
        "77a31384b89683f7cb5ae7132ca3961a88886793"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Dec 14 07:03:03 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Dec 14 07:03:03 2007 +0000"
      },
      "message": "Thrift: Smalltalk prefix support.\n\nReviewed By: mcslee\n\nTest Plan: Built the compiler.\n\nRevert Plan: ok\n\nOther Notes:\nContributed by Ben Matasar.\nSigned off by Patrick Collison.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665391 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6f9ac3ffeb408392d1c3bb3945fe5b261f9e7817",
      "tree": "10673a4dddea97323cf883a6edd42fe5d389cd9b",
      "parents": [
        "bef54c0647b22128c9035cfbc4d4b112ab5e68f8"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 28 22:28:13 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 28 22:28:13 2007 +0000"
      },
      "message": "Thrift compiler now enforces uniqueness of field identifiers\n\nSummary: The code would either not generate, or generate code with errors, if you did this beforehand. Now it\u0027s a die-fast stop hard error since this is absolultely always a wrong thing to do.\n\nReviewed By: dreiss\n\nTest Plan: Test compiling a .thrift file with a repeated field identifier in a struct or arglist.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665379 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bd5882259de8bbe7e3f8283c8959d99acee9a501",
      "tree": "ee9b10ef8d2d21a5a5715fc7c20b298d3080d240",
      "parents": [
        "12a28758a684321f29a3ceab17df9ae19570591d"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 21 08:43:35 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 21 08:43:35 2007 +0000"
      },
      "message": "Merging in some Smalltalk changes from Patrick Collison\n\nReviewed By: mcslee\n\nTest Plan: Rebuild Thrift compiler\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665361 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7816572784c7ddafc2c4350b221469af12d198fc",
      "tree": "05aa1150e22b94f436fabc60e31751dc7aa7a1cc",
      "parents": [
        "7e9eea48711d015a2764f119ea5e78d8b6447476"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Sep 10 22:08:49 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Sep 10 22:08:49 2007 +0000"
      },
      "message": "Modify Thrift parser to disallow optional/required keywords in argument lists\n\nReviewed By: dreiss\n\nTest Plan: Toss an optional/required in an arg list, check that it\u0027s ignored and compiler spits a warning\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665255 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7e9eea48711d015a2764f119ea5e78d8b6447476",
      "tree": "31dfc7318f598f30fc8ccc15b573fd8aaba5a24d",
      "parents": [
        "979ff958c125adaae29d3f93d89243f7b9e68b24"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Sep 10 21:00:23 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Sep 10 21:00:23 2007 +0000"
      },
      "message": "Adding Cocoa generator to Thrift\n\nSummary: Thanks to Andrew McGeachie for doing this\n\nReviewed By: dreiss\n\nTest Plan: No merge/build issues. Will solicit McGeachie for additions to test/cocoa in the future\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665254 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c6fc329a4040f9945576bc7007ab8df44d112635",
      "tree": "311a7018393e215f97320df6211dae227feb1afd",
      "parents": [
        "aea19c9d65a7a70770fbcc25a81579575382c40d"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 30 00:58:43 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Aug 30 00:58:43 2007 +0000"
      },
      "message": "Thrift: Support for explicit Python module declaration.\n\nSummary:\nPreviously, Thrift used the name of the .thrift file as the python module name.\nThis wasn\u0027t very flexible.  Now the python module can be explicitly declared.\nAlso, there was no need for t_py_generator to inherit from t_oop_generator.\n\nReviewed By: mcslee\n\nTest Plan:\ncd test/py/explicit_module\n./runtest.sh\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665234 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "27ed6ec1f9ca50f2447b80dfeeabfd54da35f4db",
      "tree": "a1881b675e11d0b6bcb2ab2ef89c96dc7ccc85f9",
      "parents": [
        "1b65b724eb7ed096c9204683ac5f441d7d7e9c02"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Aug 16 01:26:31 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Aug 16 01:26:31 2007 +0000"
      },
      "message": "Merging Jake Luciani\u0027s latest perl code gen fixes\n\nReviewed By: dreiss\n\nTest Plan: Watch for any weirdness on Thrift code gen, perl specific\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665206 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8320a92d9b07f8dc5f7d9f0517a28bec64ce20e2",
      "tree": "6003fc152953dc859d076eb7f57ffacdfd0b289a",
      "parents": [
        "cbd4bacc307c0103aa07d5bbc2104e14b8a29aac"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 14 19:59:26 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 14 19:59:26 2007 +0000"
      },
      "message": "Thrift: Merging external patch.\n\nSummary:\nMerging a patch from Andy Lutomirsky.\n- Allow fields to be marked \"required\" or \"optional\" (only affects C++).\n- Thrift structs now have operator \u003d\u003d.\n\nReviewed By: mcslee\n\nTest Plan: test/OptionalRequiredTest.cpp\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665202 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cbd4bacc307c0103aa07d5bbc2104e14b8a29aac",
      "tree": "dc310c28edd3010778afb33995a0884e4e5da651",
      "parents": [
        "cdffe260f1c8d21dbd3b6904e6ca596c7f4c6b06"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 14 17:12:33 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 14 17:12:33 2007 +0000"
      },
      "message": "Thrift: docstring revamp step 2.\n\nSummary:\nIt was a bad idea to let doxygen comments become a part of the parse tree.\nWe now get them a totally different way.  The lexer stashes the docsting\ncontents in a global, and the parser actions (not the rules) pull it out.\nThis should prevent doxygen comments from ever causing parse errors.\n\nBlame Rev: 52678, 52732\n\nReviewed By: mcslee\n\nTest Plan:\nRecompiled thrift.\nThrifted a bunch of files and saw no parse errors (or C++ compile errors).\nThrifted DocTest.thrift with dump_docs on.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665201 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cdffe260f1c8d21dbd3b6904e6ca596c7f4c6b06",
      "tree": "ba0b9a4ec54efdaf2fb802d3899e53949e2e135e",
      "parents": [
        "fa0c85737036e53728aab46dcda242d113f926be"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 14 17:12:31 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Aug 14 17:12:31 2007 +0000"
      },
      "message": "Thrift: docstring revamp step 1.\n\nSummary:\nAllow constants to be documented.\nNow any \"Definition\" can be documented, so we can move the docstring stuff\nup to a a higher node in the parse tree.\n\nReviewed By: mcslee\n\nTest Plan:\nRecompiled thrift.\nChecked out DocTest.thrift and a few other thrifts.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665200 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c2532a9ac4168778c581cff235943eb270df6dbc",
      "tree": "777a9eb163e7d4aca880a803e86a404ce995f55f",
      "parents": [
        "1ac05803788fb15bcf16e48cdd53b550b3bc5515"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jul 30 23:46:11 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jul 30 23:46:11 2007 +0000"
      },
      "message": "Thrift: Allow whole program doctext.\n\nSummary:\nAllow docstrings at the top of the program.\n\nBlame Rev: 52687\n\nReviewed By: mcslee\n\nTest Plan:\n../compiler/cpp/thrift -cpp DocTest.thrift\n(with dump_docs on)\nand looked at the output.\nGenerated C++ is identical to installed thrift.\n\nRevert Plan: Do 52687 also.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665183 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1ac05803788fb15bcf16e48cdd53b550b3bc5515",
      "tree": "e504753a17c9ac829b81e4f1bb58c2ec9b93dd8e",
      "parents": [
        "d0767c579673c868d1ae15e5979a9301ac1347d7"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jul 30 22:00:27 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jul 30 22:00:27 2007 +0000"
      },
      "message": "Thrift: Change docstring syntax.\n\nSummary:\nThe old docstring syntax collided with the syntax for list constants.\nThe new syntax looks a lot like doxygent comments.\n\nTrac Bug: #4664\n\nBlame Rev: 32392\n\nReviewed By: mcslee\n\nTest Plan:\n../compiler/cpp/thrift -cpp DocTest.thrift\n(with dump_docs on)\nand looked at the output.\nGenerated C++ is identical to installed thrift.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665182 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d0767c579673c868d1ae15e5979a9301ac1347d7",
      "tree": "f877b2b08a1778f3b885e03fa6d2b158501ad381",
      "parents": [
        "a46438e11d506433ec7c995ad7d11003ca7d87de"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jul 27 22:14:41 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jul 27 22:14:41 2007 +0000"
      },
      "message": "Fix Thrift compiler to support reuse of enums and constants in later constants\n\nSummary: So for example, you can make a constant map of enum values to string identifiers.\n\nReviewed By: dreiss\n\nTest Plan: ConstantsDemo.thrift in the test folder\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665181 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "58dfb4fbe82c346814c2e4f33b6045468bfd68c6",
      "tree": "21adc31fd0162f470e9fb52f8836364de35b867d",
      "parents": [
        "756b1d1b071157677980f6b5735b7e8a3ac44419"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jul 06 02:45:25 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jul 06 02:45:25 2007 +0000"
      },
      "message": "Lots of Ruby code generation improvements\n\nSummary: Submitted by Kevin Clark, Ruby guru from Powerset\n\nReviewed By: mcslee\n\nTest Plan: He updated the tests in trunk/test/rb/\n\nNotes: The code is now officially \"ruby-ish\" and idiomatic\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665151 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e9ce01cf402fca4c275554847c85aff9fff17dc6",
      "tree": "f66af402f88359231f1a7ebecf486268c85af3f8",
      "parents": [
        "254ce20e51f61f919c8ff903ad66a72f0e133c99"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed May 16 02:29:53 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed May 16 02:29:53 2007 +0000"
      },
      "message": "Apply thrift license to all files in compiler\n\nSummary: Forgot to do this last time around, only got the libs\n\nReviewed By: no code in here, just comments\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665113 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8d725a27385fb33bce8fe50fff77f763617b49d4",
      "tree": "c8c5dbcaf34b79162f38c875cf9f9558dadfc7de",
      "parents": [
        "4f261c5b23d2eb3b01da4b894a1d5eabc48f6817"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Apr 13 01:57:12 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Apr 13 01:57:12 2007 +0000"
      },
      "message": "Add explicit binary type to Thrift\n\nSummary: Identical to string in all languages except Java. Java String is NOT binary-safe, so we need to use raw byte[] in that case. PHP/RUBY/Python strings are all binary safe, and C++ std::string works fine and manages memory for you so it\u0027s the safest route. Java just needs this tweak.\n\nReviewed By: aditya\n\nTest Plan: Use \"binary\" as a type instead of String.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665099 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "afc76543cd50b44560f864bd4f871de62cea9d7b",
      "tree": "0e7b4841647e46e5fb732678483941ba40d4ae3b",
      "parents": [
        "9f8361fee7ea26167fd0818e6de1b000f582dd5e"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Feb 09 21:55:44 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Feb 09 21:55:44 2007 +0000"
      },
      "message": "Take brackets out of cpp_type bit\n\nReviewed By: aditya\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664996 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6a47fed5feef44de4c5505fff21126f09ec02c6e",
      "tree": "d4e4213cf7ff8fd24f13c22f6585ec81f750760e",
      "parents": [
        "af602f5e9f338c8ca73992ea968001151c9350db"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 07 02:40:59 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 07 02:40:59 2007 +0000"
      },
      "message": "Thrift supports the \"senum\" type now\n\nSummary: Enumerated lists of strings, enforced only in XSD\n\nReviewed By: xsd\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664987 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "748d83f65f7567415efda53f5cfd62c726737469",
      "tree": "a27f693afddd3172fa4425c3378d0a536bc89049",
      "parents": [
        "81cf1e550d6ffdde116f541a8a5f7a75625ffbf9"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 07 01:20:08 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Feb 07 01:20:08 2007 +0000"
      },
      "message": "xsd_attrs are a FieldList now, so you can have multiple of them and they are typed\n\nReviewed By: xsd\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664984 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7df0e2a9aa61e24a5121b24f0cac60d8a858a88b",
      "tree": "f8e87575760bf20ae69463bf3d3fc8e6c4d6d275",
      "parents": [
        "86c87b0fe1581a4a27b603119327a3f9eb602fa7"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Feb 06 21:03:18 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Feb 06 21:03:18 2007 +0000"
      },
      "message": "Thrift support for the xsd_nillable attribute\n\nReviewed By: dave\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664981 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "21135c300bd4418365981e930d3aeba6f290fb5b",
      "tree": "b5e90265c7f536d6d9b045929ea5f617172c711e",
      "parents": [
        "74eea207a02fb5e3a92c0afcadd0e7a0d6313ef5"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Feb 05 21:52:08 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Feb 05 21:52:08 2007 +0000"
      },
      "message": "Adding XSD attribute support\n\nReviewed By: dave\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664974 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f53b5cfed2d6aeba4e0f6cc4dface6d641f98ce7",
      "tree": "c73b3246bd4ae373a62007f149e0fff5c31f36eb",
      "parents": [
        "10640d8935c62d6ee5684ad4b26b760dc0e424d1"
      ],
      "author": {
        "name": "ccheever",
        "email": "dev-null@apache.org",
        "time": "Mon Feb 05 20:33:11 2007 +0000"
      },
      "committer": {
        "name": "ccheever",
        "email": "dev-null@apache.org",
        "time": "Mon Feb 05 20:33:11 2007 +0000"
      },
      "message": "adding documentation syntax to thrift\n\nsee DocTest.thrift for examples.\n\ntodo: integrate parsed documentation into code generation\n\nreview: marc k, mcslee\ntest plan: DocTest.thrift\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664970 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7ff3245bfae7c99ac12550ddc252f80ad32dd366",
      "tree": "947972a8730d6a1afc0c3e0c152df298633f7391",
      "parents": [
        "29cbeb6235f6637f2584715cf3ea37cf6a371653"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Feb 01 05:26:18 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Feb 01 05:26:18 2007 +0000"
      },
      "message": "Default values and nullification for thrift code\n\nSummary: All things are null now, unless you specify a default value!\n\nReviewed By: marc\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664963 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0d9199e709c92e28ffe67b14916a9c49ce7dbca0",
      "tree": "62cd2b7460a66659d53718841ebad73025517d05",
      "parents": [
        "aaa23ed4ea6aa683f8b1f1d5de79846f61d1937e"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Jan 31 02:08:30 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Jan 31 02:08:30 2007 +0000"
      },
      "message": "xsd_namespace keyword for thrift\n\nSummary: So you can Spaceify the Shiznits\n\nReviewed By: fett\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664959 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cc11b06c018997d37f7c2a76e6439fcf8f1b82d5",
      "tree": "2465cd0b671f7274356792290bf26fa11e9a2325",
      "parents": [
        "9e288d4f7ad0b55f5a1c6b0010f4f0a5d935fece"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Jan 25 02:07:22 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Jan 25 02:07:22 2007 +0000"
      },
      "message": "Rename some thrif tcompiler files\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664945 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "36bfa2e61f6321f6910293d3cf66241fcd66ccfb",
      "tree": "3c5366b40715db75fef05a02287d29eebb70b8a2",
      "parents": [
        "b6200d82f6611c5c3ca962f8de48ea840fe35de1"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jan 19 20:09:51 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jan 19 20:09:51 2007 +0000"
      },
      "message": "Allow field elements to be optional in thrift with xsd_optional keyword\n\nReviewed By: tbr-dave\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664932 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b6200d82f6611c5c3ca962f8de48ea840fe35de1",
      "tree": "e882aa13e5a19f7caddd6b5e720ac531371e948e",
      "parents": [
        "1ea90526b0acf89e3e06174fdfef524b671ce0bf"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jan 19 19:14:36 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jan 19 19:14:36 2007 +0000"
      },
      "message": "Add comma-separated list of type \"slist\" to thrift\n\nSummary: Useful for API arguments\n\nReviewed By: tbr-dave\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664931 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "782abbb75692d4cc582e60e88da5e58c049e4bfd",
      "tree": "4f83560247a2b06756ae58b6460b50dce5d7bbf1",
      "parents": [
        "0e0ff7e00353fc4a9a1b5a6f49069d05b64604f2"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jan 19 00:17:02 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jan 19 00:17:02 2007 +0000"
      },
      "message": "Add xsd_all keyword to Thrift\n\nSummary: Makes a struct an xsd_all instead of a sequence\n\nReviewed By: dave\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664929 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e888b376add3789c7943f781199ba506d0320bc5",
      "tree": "cac81a937c7e6a4dacdf613d6e1d0831aa96b863",
      "parents": [
        "f12865a33823c9c8d0b5387620c52dd45885e426"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jan 12 01:06:24 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Fri Jan 12 01:06:24 2007 +0000"
      },
      "message": "Add PHP namespacing support to Thrift\n\nSummary: \"php_namespace Whoa\" at the top of your Thrift file, then all your defined class names start with \"Whoa_\"\n\nReviewed By: aditya\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664908 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "67fc63410d0b7065e70be52834bf6a724a7b00e5",
      "tree": "575b4c382f216437d68248c71e0cec6f5f45e670",
      "parents": [
        "aa7671d041f889f00a0ccc7dad2f806cf73a9a0d"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 29 03:37:04 2006 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 29 03:37:04 2006 +0000"
      },
      "message": "Strings in JSON style thrift constants do not need quotes\n\nSummary: Cause it\u0027s just too much work to put in quotes sometimes. struct thing \u003d { a : 325, bb : 5632} OBVIOUSLY a and bb are strings. Duh.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664882 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ],
  "next": "aa7671d041f889f00a0ccc7dad2f806cf73a9a0d"
}
