)]}'
{
  "log": [
    {
      "commit": "004b467f9f9b2840089b1166353ae06e5e0e5844",
      "tree": "98e8dbfee385167f7592aecbfcda6c0e3103a7c9",
      "parents": [
        "a74561979ae415f42a561c0d1bcac6ee9aecc7bd"
      ],
      "author": {
        "name": "Vadim Shtayura",
        "email": "vadimsh@chromium.org",
        "time": "Thu Mar 03 20:28:51 2016"
      },
      "committer": {
        "name": "Vadim Shtayura",
        "email": "vadimsh@chromium.org",
        "time": "Thu Mar 03 20:28:51 2016"
      },
      "message": "Do not reference original go-endpoints repo in the example.\n\nOtherwise goop tool pulls original go-endpoints repo as a dependency.\n\nTBR\u003ddnj@chromium.org\n"
    },
    {
      "commit": "a74561979ae415f42a561c0d1bcac6ee9aecc7bd",
      "tree": "70289e1a39ae1b37a41012ac799dd94bdcc46891",
      "parents": [
        "437e84a991c4e3420991d477e7341c712d20def8"
      ],
      "author": {
        "name": "Lorenz Leutgeb",
        "email": "lorenz.leutgeb@gmail.com",
        "time": "Mon Sep 21 17:30:05 2015"
      },
      "committer": {
        "name": "Dan Jacques",
        "email": "dnj@chromium.org",
        "time": "Fri Feb 05 01:13:41 2016"
      },
      "message": "oauth: Remove references to internal packages\n\nFixes GoogleCloudPlatform/go-endpoints#101\n\nSigned-off-by: Lorenz Leutgeb \u003clorenz.leutgeb@gmail.com\u003e\n"
    },
    {
      "commit": "437e84a991c4e3420991d477e7341c712d20def8",
      "tree": "5bfbe6bc51c8e3f8efc7fe5327324fdc3bf0ccea",
      "parents": [
        "d992e94aa9c34c293af54ab24b426b889735baaf",
        "b7575c10c77ede381357716d7074aa0dac1426c1"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Dec 09 21:46:39 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Dec 09 21:46:39 2015"
      },
      "message": "Merge pull request #126 from GoogleCloudPlatform/contextdecorator\n\nAdd an extension mechanism to decorate contexts"
    },
    {
      "commit": "b7575c10c77ede381357716d7074aa0dac1426c1",
      "tree": "5bfbe6bc51c8e3f8efc7fe5327324fdc3bf0ccea",
      "parents": [
        "8426d2e29935e0a72840dbd14059b3f88e3af4da"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@google.com",
        "time": "Wed Dec 09 16:56:52 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@google.com",
        "time": "Wed Dec 09 16:56:52 2015"
      },
      "message": "make ContextDecorator a field in Server\n\nChange-Id: Id1f29a6d3b763c5cab6032a414abdcc1608210ec\n"
    },
    {
      "commit": "8426d2e29935e0a72840dbd14059b3f88e3af4da",
      "tree": "e5daa395208ca73b17ed4cc2cb579871edb6cd99",
      "parents": [
        "2e4d18eed2e6a9f6792422539d2d228a34602f46",
        "d992e94aa9c34c293af54ab24b426b889735baaf"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@google.com",
        "time": "Wed Dec 09 16:18:25 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@google.com",
        "time": "Wed Dec 09 16:18:25 2015"
      },
      "message": "Merge remote-tracking branch \u0027origin\u0027 into contextdecorator\n"
    },
    {
      "commit": "d992e94aa9c34c293af54ab24b426b889735baaf",
      "tree": "4b2c1eafb0f446ee65bd1bb83de6b9854a1953fc",
      "parents": [
        "30cbe84e0d7ff4253cd6f89c39a53d3e60b98088",
        "17afb0d22d54c8b12edd2dc8cee67193f860506c"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Tue Dec 08 21:20:47 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Tue Dec 08 21:20:47 2015"
      },
      "message": "Merge pull request #127 from GoogleCloudPlatform/norequest\n\nAdd more testing for messages with no request/response"
    },
    {
      "commit": "17afb0d22d54c8b12edd2dc8cee67193f860506c",
      "tree": "4b2c1eafb0f446ee65bd1bb83de6b9854a1953fc",
      "parents": [
        "30cbe84e0d7ff4253cd6f89c39a53d3e60b98088"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@google.com",
        "time": "Tue Dec 08 01:10:03 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@google.com",
        "time": "Tue Dec 08 01:10:03 2015"
      },
      "message": "add more testing for messages with no request/response\n\nChange-Id: Ib47911f0c1b9f0f0a137c00a18a8fdb0adf5b3c3\n"
    },
    {
      "commit": "2e4d18eed2e6a9f6792422539d2d228a34602f46",
      "tree": "416de87b8882224e7b27f77052fd0d98727ae252",
      "parents": [
        "635797f6ccc8d7f68f9aec2d4d933f37569867e1"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@google.com",
        "time": "Fri Dec 04 04:35:47 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@google.com",
        "time": "Fri Dec 04 04:35:47 2015"
      },
      "message": "added some tests for ContextDecorator\n"
    },
    {
      "commit": "635797f6ccc8d7f68f9aec2d4d933f37569867e1",
      "tree": "080a03d4700af88a788af23c32a4f016352c7a6f",
      "parents": [
        "30cbe84e0d7ff4253cd6f89c39a53d3e60b98088"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@google.com",
        "time": "Fri Dec 04 04:10:13 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@google.com",
        "time": "Fri Dec 04 04:10:13 2015"
      },
      "message": "Add an extension mechanism to decorate contexts\n"
    },
    {
      "commit": "30cbe84e0d7ff4253cd6f89c39a53d3e60b98088",
      "tree": "cd27b7048e2cf989906cdc5aad660b84032a19fa",
      "parents": [
        "8e8b6dbedd057fafd2436868766438d40a62fa79",
        "f4b80c245ec43898641ef49da29a20192580931b"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Aug 12 21:25:44 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Aug 12 21:25:44 2015"
      },
      "message": "Merge pull request #100 from GoogleCloudPlatform/user-id\n\nExpose Google Account ID as User ID"
    },
    {
      "commit": "f4b80c245ec43898641ef49da29a20192580931b",
      "tree": "cd27b7048e2cf989906cdc5aad660b84032a19fa",
      "parents": [
        "8e8b6dbedd057fafd2436868766438d40a62fa79"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.io",
        "time": "Wed Aug 12 14:01:28 2015"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.io",
        "time": "Wed Aug 12 14:01:28 2015"
      },
      "message": "Expose Google Account ID as User ID\n\nCloses #52 and #53.\n"
    },
    {
      "commit": "8e8b6dbedd057fafd2436868766438d40a62fa79",
      "tree": "32aebd2533beec8a3333946b50783c9a0d1c006f",
      "parents": [
        "f3a389467ae42b790a2842d30d85370c7848a58f",
        "7f92d849af50ab188230fee9baecab4f6ad61ad5"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 22:22:50 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 22:22:50 2015"
      },
      "message": "Merge pull request #97 from GoogleCloudPlatform/bug96\n\nOmmit validation for non basic types"
    },
    {
      "commit": "7f92d849af50ab188230fee9baecab4f6ad61ad5",
      "tree": "32aebd2533beec8a3333946b50783c9a0d1c006f",
      "parents": [
        "37f9e65dac309e69beb70ea7ab0c6e024807c07a",
        "f3a389467ae42b790a2842d30d85370c7848a58f"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 22:20:09 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 22:20:09 2015"
      },
      "message": "merge master\n"
    },
    {
      "commit": "f3a389467ae42b790a2842d30d85370c7848a58f",
      "tree": "55353d78d5dac99b929820b1ddbd5d7cab3fe613",
      "parents": [
        "bf681393655abad98c81686398f19c0267bf61a2",
        "f2846a2185344932d1a0fe02544c27a33ca42d6b"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 22:17:41 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 22:17:41 2015"
      },
      "message": "Merge pull request #95 from GoogleCloudPlatform/maxmin\n\nadd support for min and max values"
    },
    {
      "commit": "37f9e65dac309e69beb70ea7ab0c6e024807c07a",
      "tree": "981710eed765f58aa640c8bf2aed626cbc9ef454",
      "parents": [
        "2f4f4e0f6b08b789a39fd60fe86b1e7cfd593634"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 22:12:40 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 22:12:40 2015"
      },
      "message": "complex types are not supported for field validation\n"
    },
    {
      "commit": "2f4f4e0f6b08b789a39fd60fe86b1e7cfd593634",
      "tree": "dfea099a4ea29b3fa047ac9f001d0e6af356b91d",
      "parents": [
        "bf681393655abad98c81686398f19c0267bf61a2"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 21:51:33 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 21:51:33 2015"
      },
      "message": "Ommit validation for non basic types\n\nFixes GoogleCloudPlatform/go-endpoints:96\n"
    },
    {
      "commit": "f2846a2185344932d1a0fe02544c27a33ca42d6b",
      "tree": "55353d78d5dac99b929820b1ddbd5d7cab3fe613",
      "parents": [
        "bf681393655abad98c81686398f19c0267bf61a2"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 02:54:19 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 02:54:19 2015"
      },
      "message": "add support for min and max values\n"
    },
    {
      "commit": "bf681393655abad98c81686398f19c0267bf61a2",
      "tree": "a13c7dcc174226531cd26c0b008f5f59c935e3d8",
      "parents": [
        "143f5c52db006d2302601cb2925e48a9bf46e1b2",
        "58eea1fd5a3a4f7ccdcd8ed2b8c299ebb3acd984"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 01:46:27 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 01:46:27 2015"
      },
      "message": "Merge pull request #87 from GoogleCloudPlatform/defaults\n\nadd validation of required and default values"
    },
    {
      "commit": "143f5c52db006d2302601cb2925e48a9bf46e1b2",
      "tree": "655591705bb85ed37ce479e6104824de0564ee10",
      "parents": [
        "db95476598de0198f73a9f9152f767feaa82a765",
        "4f47410873da204d2fbbc0fd89a9685a931278ca"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 01:44:31 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 01:44:31 2015"
      },
      "message": "Merge pull request #82 from jittuu/master\n\nfix broken links to python and java endpoints doc"
    },
    {
      "commit": "db95476598de0198f73a9f9152f767feaa82a765",
      "tree": "cb1fc8b4b087851648b3c9784341ca8f577b4124",
      "parents": [
        "d7f5c86ee1583dfbfedab24bec7a9c5feb331d99",
        "4856ea79df5d3630711ad7b086ba852e09cc3f26"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 01:42:45 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 01:42:45 2015"
      },
      "message": "Merge pull request #94 from GoogleCloudPlatform/helloworld\n\nmake helloworld sample use https and small javascript bug"
    },
    {
      "commit": "4856ea79df5d3630711ad7b086ba852e09cc3f26",
      "tree": "cb1fc8b4b087851648b3c9784341ca8f577b4124",
      "parents": [
        "d7f5c86ee1583dfbfedab24bec7a9c5feb331d99"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 01:42:02 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 01:42:02 2015"
      },
      "message": "make helloworld sample use https and small javascript bug\n"
    },
    {
      "commit": "d7f5c86ee1583dfbfedab24bec7a9c5feb331d99",
      "tree": "faae2611c9a1e1ad00998848ae090a6591238dfd",
      "parents": [
        "2cbfb7e1180e81b9db88a82b8db406031b0b3648",
        "c515f1c99fc6cb999dbb7206ec8195901551f211"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 01:38:36 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 29 01:38:36 2015"
      },
      "message": "Merge pull request #93 from zombiezen/managedvm\n\nRoll forward usage of context.Context"
    },
    {
      "commit": "c515f1c99fc6cb999dbb7206ec8195901551f211",
      "tree": "faae2611c9a1e1ad00998848ae090a6591238dfd",
      "parents": [
        "9786ff32eec5638c19896a5a278598459d157a84"
      ],
      "author": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Tue Jul 28 17:03:58 2015"
      },
      "committer": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Tue Jul 28 20:40:51 2015"
      },
      "message": "samples/helloworld: convert to use new context\n"
    },
    {
      "commit": "9786ff32eec5638c19896a5a278598459d157a84",
      "tree": "b735bc6164da5f75407af05f26ded5aed7a89c3c",
      "parents": [
        "2cbfb7e1180e81b9db88a82b8db406031b0b3648"
      ],
      "author": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Tue Jul 28 17:00:46 2015"
      },
      "committer": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Tue Jul 28 17:00:46 2015"
      },
      "message": "Roll forward \"Use context.Context (fixes #76)\"\n\nThis reverts commit 26ea90aff93ee5e697a302c1a0550997aa7da3e2.\n"
    },
    {
      "commit": "2cbfb7e1180e81b9db88a82b8db406031b0b3648",
      "tree": "342177ade5ef25b8a6c5a52a52b51a24156c3a63",
      "parents": [
        "72ea1e0373ee18bafdaa64ef1f33ec00c3c0614d",
        "26ea90aff93ee5e697a302c1a0550997aa7da3e2"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 23:31:39 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 23:31:39 2015"
      },
      "message": "Merge pull request #92 from GoogleCloudPlatform/revert-81-managedvm\n\nRevert \"Use context.Context (fixes #76)\""
    },
    {
      "commit": "26ea90aff93ee5e697a302c1a0550997aa7da3e2",
      "tree": "342177ade5ef25b8a6c5a52a52b51a24156c3a63",
      "parents": [
        "72ea1e0373ee18bafdaa64ef1f33ec00c3c0614d"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 23:31:24 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 23:31:24 2015"
      },
      "message": "Revert \"Use context.Context (fixes #76)\"\n"
    },
    {
      "commit": "72ea1e0373ee18bafdaa64ef1f33ec00c3c0614d",
      "tree": "b735bc6164da5f75407af05f26ded5aed7a89c3c",
      "parents": [
        "65ed1d04616c12d62a3434dd6e794a8b37c9a3b1",
        "76224876c61fd67da7ad0ed8c65fc69bc6297331"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 23:09:40 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 23:09:40 2015"
      },
      "message": "Merge pull request #81 from zombiezen/managedvm\n\nUse context.Context (fixes #76)"
    },
    {
      "commit": "65ed1d04616c12d62a3434dd6e794a8b37c9a3b1",
      "tree": "342177ade5ef25b8a6c5a52a52b51a24156c3a63",
      "parents": [
        "b378d19c4ff3a69cd68a482a08ab92d31d88683e",
        "54094727b36d11e3313cecd6609f8f6319550f4f"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 23:08:52 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 23:08:52 2015"
      },
      "message": "Merge pull request #90 from GoogleCloudPlatform/helloworld\n\nAdd a helloworld sample"
    },
    {
      "commit": "54094727b36d11e3313cecd6609f8f6319550f4f",
      "tree": "342177ade5ef25b8a6c5a52a52b51a24156c3a63",
      "parents": [
        "a9eeda99c89c6361c5f661da55676c7e943ebcb3"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 22:45:33 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 22:45:33 2015"
      },
      "message": "applied @crhym3\u0027s feedback\n"
    },
    {
      "commit": "a9eeda99c89c6361c5f661da55676c7e943ebcb3",
      "tree": "8fa6346f2e44bc845624621e84b40a0647ac0465",
      "parents": [
        "1cf9ebc3aaf5ee02b373b6f8fa441f81cfddd86c",
        "b378d19c4ff3a69cd68a482a08ab92d31d88683e"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 22:29:22 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 22:29:22 2015"
      },
      "message": "Merge branch \u0027master\u0027 into helloworld\n"
    },
    {
      "commit": "58eea1fd5a3a4f7ccdcd8ed2b8c299ebb3acd984",
      "tree": "bd53419d6da9dfba2ed65dbd12fd761a934c4b64",
      "parents": [
        "0d457a237b773ea621791ef370cea8ec2b255aef"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 22:01:16 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Mon Jul 27 22:01:16 2015"
      },
      "message": "simplified flow for field validation\n"
    },
    {
      "commit": "0d457a237b773ea621791ef370cea8ec2b255aef",
      "tree": "1feb3304396104e68209f3ab27cbffce0140a234",
      "parents": [
        "3a50c646ff4b97798e8c1261cd1ac47a34252f82",
        "b378d19c4ff3a69cd68a482a08ab92d31d88683e"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 18:18:37 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 18:18:37 2015"
      },
      "message": "Merge branch \u0027master\u0027 into defaults\n"
    },
    {
      "commit": "b378d19c4ff3a69cd68a482a08ab92d31d88683e",
      "tree": "f3ec8110ce97685435372f9c56570a2ca217aa3c",
      "parents": [
        "d6efd91c97281c1a46b2bda9d48fe9c34b3f7bf7",
        "6a5991148fc819f3190fabdd2c2cdc5ae2fed3be"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 18:17:49 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 18:17:49 2015"
      },
      "message": "Merge pull request #89 from GoogleCloudPlatform/must\n\nAdd Must helper function"
    },
    {
      "commit": "6a5991148fc819f3190fabdd2c2cdc5ae2fed3be",
      "tree": "f3ec8110ce97685435372f9c56570a2ca217aa3c",
      "parents": [
        "6200776e991bff87c5b30700b926f62d66042eed",
        "d6efd91c97281c1a46b2bda9d48fe9c34b3f7bf7"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 18:14:11 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 18:14:11 2015"
      },
      "message": "applied feedback from reviewers\n"
    },
    {
      "commit": "3a50c646ff4b97798e8c1261cd1ac47a34252f82",
      "tree": "91f631ebb095b92264edd2fd02dc0da8bd4129c3",
      "parents": [
        "0fedf320e717214399a3505559f3d06086324607",
        "cc63541d8bd4c087ab78fd144d164b11ca5640e3"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 18:08:55 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 18:08:55 2015"
      },
      "message": "applied feedback from reviewers\n"
    },
    {
      "commit": "76224876c61fd67da7ad0ed8c65fc69bc6297331",
      "tree": "f23d756105977e5ed7a76f1897fb8fa955208f84",
      "parents": [
        "a1114723a14aa17cec2b5a34b9d254e93ebc92d2"
      ],
      "author": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Fri Jul 24 17:49:01 2015"
      },
      "committer": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Fri Jul 24 17:49:01 2015"
      },
      "message": "Add `go get` step to Travis build\n"
    },
    {
      "commit": "a1114723a14aa17cec2b5a34b9d254e93ebc92d2",
      "tree": "aa19de0360094e27f0f2ab4c5479658665da4270",
      "parents": [
        "789480d3a55174e7f724ecb1846dd37d442620e9",
        "d6efd91c97281c1a46b2bda9d48fe9c34b3f7bf7"
      ],
      "author": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Fri Jul 24 17:45:01 2015"
      },
      "committer": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Fri Jul 24 17:45:01 2015"
      },
      "message": "Merge upstream branch \u0027master\u0027 into managedvm\n"
    },
    {
      "commit": "d6efd91c97281c1a46b2bda9d48fe9c34b3f7bf7",
      "tree": "0e00fa63d17a9ec60965635bffb626961a86f24d",
      "parents": [
        "cc63541d8bd4c087ab78fd144d164b11ca5640e3",
        "3c2b65a3540f1aa299498874291739011a2c745c"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 17:28:12 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 17:28:12 2015"
      },
      "message": "Merge pull request #91 from GoogleCloudPlatform/revert-65-isdevappserver\n\nRevert \"Replacing IsDevAppServer with an actual implementation\""
    },
    {
      "commit": "3c2b65a3540f1aa299498874291739011a2c745c",
      "tree": "0e00fa63d17a9ec60965635bffb626961a86f24d",
      "parents": [
        "cc63541d8bd4c087ab78fd144d164b11ca5640e3"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 16:43:56 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 16:43:56 2015"
      },
      "message": "Revert \"Replacing IsDevAppServer with an actual implementation\"\n"
    },
    {
      "commit": "cc63541d8bd4c087ab78fd144d164b11ca5640e3",
      "tree": "a2633d2f002bb8eedcc28947f1c49dd32e52972b",
      "parents": [
        "c9957a38ccbe54d11a35883f3f0d7dd351953c0c",
        "e1a41c0358ac3980631e1d187549c7ad602dcaf5"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 02:06:52 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Fri Jul 24 02:06:52 2015"
      },
      "message": "Merge pull request #88 from GoogleCloudPlatform/emptyreq\n\nrestore body of requests before calling handlers"
    },
    {
      "commit": "1cf9ebc3aaf5ee02b373b6f8fa441f81cfddd86c",
      "tree": "cc238f7f31bb45f945d3127da54a88e237a99f35",
      "parents": [
        "c9957a38ccbe54d11a35883f3f0d7dd351953c0c"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Jul 23 22:59:27 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Jul 23 22:59:27 2015"
      },
      "message": "helloworld sample\n"
    },
    {
      "commit": "0fedf320e717214399a3505559f3d06086324607",
      "tree": "e58e197fc7392b40be66ab44ec1f5033dde7714b",
      "parents": [
        "a833726e28a59cabe6d952acd0669c6860f03151",
        "c9957a38ccbe54d11a35883f3f0d7dd351953c0c"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Jul 23 20:06:37 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Jul 23 20:06:37 2015"
      },
      "message": "Merge branch \u0027master\u0027 into defaults\n"
    },
    {
      "commit": "6200776e991bff87c5b30700b926f62d66042eed",
      "tree": "470bfaf63ab8e3b4946897dc0c21aa50c2f349fe",
      "parents": [
        "c9957a38ccbe54d11a35883f3f0d7dd351953c0c"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Jul 23 19:02:13 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Jul 23 19:16:44 2015"
      },
      "message": "Add Must helper function\n"
    },
    {
      "commit": "c9957a38ccbe54d11a35883f3f0d7dd351953c0c",
      "tree": "bfa7934eb086e91042b0353ff9184a2585785b44",
      "parents": [
        "8ab7e7293b19d28ae6a452a821a986ad643e76d2",
        "a4218d264e4e26255323e97662bb2a085216ad26"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Jul 23 18:39:58 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Jul 23 18:39:58 2015"
      },
      "message": "Merge pull request #65 from rakyll/isdevappserver\n\nReplacing IsDevAppServer with an actual implementation"
    },
    {
      "commit": "e1a41c0358ac3980631e1d187549c7ad602dcaf5",
      "tree": "0e00fa63d17a9ec60965635bffb626961a86f24d",
      "parents": [
        "8ab7e7293b19d28ae6a452a821a986ad643e76d2"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Jul 23 18:32:29 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Jul 23 18:32:29 2015"
      },
      "message": "restore body of requests before calling handlers\n"
    },
    {
      "commit": "8ab7e7293b19d28ae6a452a821a986ad643e76d2",
      "tree": "59b870a155e0d059871aa8c4681cea4025ebbae4",
      "parents": [
        "157ff52cc3869e3e1fe396181bedc8ffbc1e3fba",
        "a489a57e7fd9374de17de574ccea0b00773fb2cf"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Jul 23 17:48:41 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Jul 23 17:48:41 2015"
      },
      "message": "Merge pull request #86 from jonprice/issue74\n\nchange regex so that its not greedy"
    },
    {
      "commit": "789480d3a55174e7f724ecb1846dd37d442620e9",
      "tree": "b886cb895a2371c78e6864e91ac2c1daa69c0ddd",
      "parents": [
        "ad5745445fefcfd79e888bca470727a0416c1896"
      ],
      "author": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Thu Jul 23 17:13:50 2015"
      },
      "committer": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Thu Jul 23 17:13:50 2015"
      },
      "message": "rename context*.go to auth*.go\n"
    },
    {
      "commit": "ad5745445fefcfd79e888bca470727a0416c1896",
      "tree": "6aab571acc6f0210a39d6858db9de71718754891",
      "parents": [
        "f1f8f40c9363e7d1f4631dc75dd6f2b22f656a0a"
      ],
      "author": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Thu Jul 23 17:07:36 2015"
      },
      "committer": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Thu Jul 23 17:07:36 2015"
      },
      "message": "integrate code review comments\n\n* Make zero-value of contextKey invalid\n* Rename get* methods\n"
    },
    {
      "commit": "a833726e28a59cabe6d952acd0669c6860f03151",
      "tree": "0731c2a7f5d25490bd1b8ac5a47637a4c41f0f13",
      "parents": [
        "76d6cd4c46edc396d9723758b5d4cecb0c89be40"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 22 05:04:03 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 22 05:04:03 2015"
      },
      "message": "add validation of required and default values\n"
    },
    {
      "commit": "a489a57e7fd9374de17de574ccea0b00773fb2cf",
      "tree": "fbfee6a7f93223599e6e9ef55d7e65ef6e15969c",
      "parents": [
        "44305767cad1f30e5d836ed5093d30d9b9d21225"
      ],
      "author": {
        "name": "Jonathon Price",
        "email": "jon@jprice.me",
        "time": "Mon Apr 06 05:50:11 2015"
      },
      "committer": {
        "name": "Jonathon Price",
        "email": "jon@jprice.me",
        "time": "Wed Jul 22 04:58:48 2015"
      },
      "message": "change regex so that its no greedy\nIssue:74\nhttps://github.com/GoogleCloudPlatform/go-endpoints/issues/74\n"
    },
    {
      "commit": "157ff52cc3869e3e1fe396181bedc8ffbc1e3fba",
      "tree": "a86f26322bb56961744b9706ca2aa6b90a71052b",
      "parents": [
        "9c534f027dae1d137281d4ee158c73f57b090b7a",
        "17974fc0bcd087791a7d5f430baaa5a86298bebc"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 22 00:27:39 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 22 00:27:39 2015"
      },
      "message": "Merge pull request #78 from davidcv5/master\n\nUpdate README.md to the latest Dart discoveryapis_generator"
    },
    {
      "commit": "9c534f027dae1d137281d4ee158c73f57b090b7a",
      "tree": "7c38b2a77d9dffc8730ae3f08fda609dd96e9492",
      "parents": [
        "44305767cad1f30e5d836ed5093d30d9b9d21225",
        "76d6cd4c46edc396d9723758b5d4cecb0c89be40"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 22 00:07:49 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 22 00:07:49 2015"
      },
      "message": "Merge pull request #85 from GoogleCloudPlatform/travis\n\nUpdated travis.yml to use latest App Engine SDK"
    },
    {
      "commit": "76d6cd4c46edc396d9723758b5d4cecb0c89be40",
      "tree": "7c38b2a77d9dffc8730ae3f08fda609dd96e9492",
      "parents": [
        "44305767cad1f30e5d836ed5093d30d9b9d21225"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 22 00:03:29 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Jul 22 00:03:29 2015"
      },
      "message": "updated travis.yml to use latest App Engine SDK\n"
    },
    {
      "commit": "4f47410873da204d2fbbc0fd89a9685a931278ca",
      "tree": "4c6dcd5a9e8c26b816261db2a68595cf6ed3bb25",
      "parents": [
        "44305767cad1f30e5d836ed5093d30d9b9d21225"
      ],
      "author": {
        "name": "Soe Moe",
        "email": "soemoetunlwin@gmail.com",
        "time": "Mon May 25 05:35:03 2015"
      },
      "committer": {
        "name": "Soe Moe",
        "email": "soemoetunlwin@gmail.com",
        "time": "Mon May 25 05:35:03 2015"
      },
      "message": "fix broken links to python and java endpoints doc"
    },
    {
      "commit": "f1f8f40c9363e7d1f4631dc75dd6f2b22f656a0a",
      "tree": "4f215f7f93e1560924cc4e65402320b08f85ff6a",
      "parents": [
        "44305767cad1f30e5d836ed5093d30d9b9d21225"
      ],
      "author": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Thu May 21 20:15:13 2015"
      },
      "committer": {
        "name": "Ross Light",
        "email": "light@google.com",
        "time": "Thu May 21 20:15:13 2015"
      },
      "message": "Use context.Context (fixes #76)\n\nThis is a breaking API change.  It supports both Classic and Managed VM\nflavors of App Engine.  However, Classic App Engine callers who have not\nmigrated to use context.Context will need to migrate.\n\nSince namespacing and value storage come for free with context.Context,\nthe previous Context interface has changed to Authenticator.\n"
    },
    {
      "commit": "17974fc0bcd087791a7d5f430baaa5a86298bebc",
      "tree": "57e495fae6d9438c7c607b2036a93af853264957",
      "parents": [
        "44305767cad1f30e5d836ed5093d30d9b9d21225"
      ],
      "author": {
        "name": "David Cruz",
        "email": "davidcv5@gmail.com",
        "time": "Sat Apr 18 18:07:36 2015"
      },
      "committer": {
        "name": "David Cruz",
        "email": "davidcv5@gmail.com",
        "time": "Sat Apr 18 18:07:36 2015"
      },
      "message": "Update README.md to the latest Dart discoveryapis_generator\n"
    },
    {
      "commit": "44305767cad1f30e5d836ed5093d30d9b9d21225",
      "tree": "06fdfedf9911fa0f81dc5831d443308b242667d3",
      "parents": [
        "70ff664e36ffec332a5b700740286d4663cc7302"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.io",
        "time": "Thu Mar 19 21:49:41 2015"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.io",
        "time": "Thu Mar 19 21:49:41 2015"
      },
      "message": "Update travis to the latest GAE version\n"
    },
    {
      "commit": "70ff664e36ffec332a5b700740286d4663cc7302",
      "tree": "d6d5f66a085d854a7433b41c85c14008b666ab3b",
      "parents": [
        "6e0d299c489f648af45ed77b475c2e2fedb96e66",
        "d43a3111e44689bfcbb1ec8c0d8941374ff37484"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Mar 19 19:00:56 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Mar 19 19:00:56 2015"
      },
      "message": "Merge pull request #69 from GoogleCloudPlatform/revert-build-tag\n\nRevert \"Add appengine build flag to all sources\""
    },
    {
      "commit": "d43a3111e44689bfcbb1ec8c0d8941374ff37484",
      "tree": "d6d5f66a085d854a7433b41c85c14008b666ab3b",
      "parents": [
        "6e0d299c489f648af45ed77b475c2e2fedb96e66"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.io",
        "time": "Thu Mar 19 18:33:19 2015"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.io",
        "time": "Thu Mar 19 18:54:30 2015"
      },
      "message": "Revert \"Add appengine build flag to all sources\"\n\nThis reverts commit 925259a059fe5da706979f2b339ccb80ac83e453.\n"
    },
    {
      "commit": "a4218d264e4e26255323e97662bb2a085216ad26",
      "tree": "e2bbbed4c9fa7705472efdc15ff0ae7b28ea02c5",
      "parents": [
        "6e0d299c489f648af45ed77b475c2e2fedb96e66"
      ],
      "author": {
        "name": "Burcu Dogan",
        "email": "jbd@google.com",
        "time": "Fri Mar 06 23:35:45 2015"
      },
      "committer": {
        "name": "Burcu Dogan",
        "email": "jbd@google.com",
        "time": "Fri Mar 06 23:35:45 2015"
      },
      "message": "Replacing IsDevAppServer with an actual implementation.\n"
    },
    {
      "commit": "6e0d299c489f648af45ed77b475c2e2fedb96e66",
      "tree": "89b6e1d0d15b4c1fa13d8326826b558872ea171e",
      "parents": [
        "5700090f3b2fb78a83afdc078d5f49f8275146b5",
        "a1e02bf307b468dfb792f8c6222d9e70172500b0"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Feb 05 15:03:02 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Feb 05 15:03:02 2015"
      },
      "message": "Merge pull request #61 from GoogleCloudPlatform/francesc\n\nSimplify errors"
    },
    {
      "commit": "a1e02bf307b468dfb792f8c6222d9e70172500b0",
      "tree": "27c011034771be8384a7d42b03f329b5dc1f692d",
      "parents": [
        "b5e4ba77ebbb0e5b1bc13f9e88bfae3c96f9fd22"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Feb 05 11:40:13 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Feb 05 11:40:13 2015"
      },
      "message": "use http.StatusText\n"
    },
    {
      "commit": "b5e4ba77ebbb0e5b1bc13f9e88bfae3c96f9fd22",
      "tree": "e0f5778eb3e82ae648aac8c93510ccf8c2f557af",
      "parents": [
        "5c8b9677d0b13a3b5cb008ba39811b2b05a9d05f"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Feb 05 11:03:45 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Feb 05 11:03:45 2015"
      },
      "message": "more simplification of errors\n"
    },
    {
      "commit": "5c8b9677d0b13a3b5cb008ba39811b2b05a9d05f",
      "tree": "c33056b788d463c9cb234b76c9b409086051e2c7",
      "parents": [
        "4cf6299888b9885e218964f5e3f0905904a1a560"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Feb 05 10:48:36 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Feb 05 10:48:36 2015"
      },
      "message": "simplified error code\n"
    },
    {
      "commit": "5700090f3b2fb78a83afdc078d5f49f8275146b5",
      "tree": "1ba26a19ecc91503630e637a0472b98e9100c381",
      "parents": [
        "7f4fb4586f690482639021b973e2de0aeec70bf5",
        "4cf6299888b9885e218964f5e3f0905904a1a560"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Feb 05 10:27:31 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Feb 05 10:27:31 2015"
      },
      "message": "Merge pull request #60 from GoogleCloudPlatform/francesc\n\nAdd parameters to the New*Error functions"
    },
    {
      "commit": "7f4fb4586f690482639021b973e2de0aeec70bf5",
      "tree": "5ba47682e4a054882d462e3a8af934e96bed7271",
      "parents": [
        "e07ea14d8ab100ef1456ac6bb8151e22f819ee5d"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Feb 05 10:23:07 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Thu Feb 05 10:23:07 2015"
      },
      "message": "Make the README snippets compile"
    },
    {
      "commit": "4cf6299888b9885e218964f5e3f0905904a1a560",
      "tree": "dd4f485edd7bd4f91928509557290dc1778fa04d",
      "parents": [
        "5a62e8239aeb79ed0ad1bb15c75726f25cfc6039"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 21:39:51 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 21:39:51 2015"
      },
      "message": "added parameters to the New*Error functions\n"
    },
    {
      "commit": "e07ea14d8ab100ef1456ac6bb8151e22f819ee5d",
      "tree": "cb77e63ecaead1d9a263bf8d65149e661ab1417a",
      "parents": [
        "24eb5d4ab4686e08df186593f021bf2d53db40ee",
        "5a62e8239aeb79ed0ad1bb15c75726f25cfc6039"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 19:03:41 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 19:03:41 2015"
      },
      "message": "Merge pull request #59 from GoogleCloudPlatform/francesc\n\nAdding support for missing request and response messages"
    },
    {
      "commit": "5a62e8239aeb79ed0ad1bb15c75726f25cfc6039",
      "tree": "cb77e63ecaead1d9a263bf8d65149e661ab1417a",
      "parents": [
        "189eef1b11e9ca0ac5acdd08751f92496b584acb"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 19:01:12 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 19:01:12 2015"
      },
      "message": "fixed test names\n"
    },
    {
      "commit": "189eef1b11e9ca0ac5acdd08751f92496b584acb",
      "tree": "e9ba88821a567634f887a04f0f3f06b1e97d8486",
      "parents": [
        "f181b1eba7e4f28d07321dd0cb4eb2df6227c50e"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 18:57:16 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 18:57:16 2015"
      },
      "message": "add tests and make them pass\n"
    },
    {
      "commit": "f181b1eba7e4f28d07321dd0cb4eb2df6227c50e",
      "tree": "6be182a516c17bef20ae0c0cd164efcbd5be58ab",
      "parents": [
        "2515cf0cdfc3945a8ee49a4c68b8f6e32c50b1e7"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 18:45:21 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 18:45:21 2015"
      },
      "message": "using register closure\n"
    },
    {
      "commit": "2515cf0cdfc3945a8ee49a4c68b8f6e32c50b1e7",
      "tree": "370ffdc5bead87428e5619b6fb1b26ef966438d0",
      "parents": [
        "37055a60a925b7317ebf004f002a3831d8227601"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 18:31:58 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 18:31:58 2015"
      },
      "message": "added doc\n"
    },
    {
      "commit": "37055a60a925b7317ebf004f002a3831d8227601",
      "tree": "82324829c09bdfbf676b36b9798c79d2c7898545",
      "parents": [
        "24eb5d4ab4686e08df186593f021bf2d53db40ee"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 18:26:51 2015"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@golang.org",
        "time": "Wed Feb 04 18:26:51 2015"
      },
      "message": "adding support for missing request and response messages\n"
    },
    {
      "commit": "24eb5d4ab4686e08df186593f021bf2d53db40ee",
      "tree": "023990387e1502391caaafc485eab4470ee01ef1",
      "parents": [
        "bcddc023b1ee19df36bf5e70e584ebc1a945afec",
        "66d8b8b2ada6cdcd49190131e8638fbcdcb28534"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.io",
        "time": "Thu Jan 15 21:49:20 2015"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.io",
        "time": "Thu Jan 15 21:49:20 2015"
      },
      "message": "Merge pull request #47 from GoogleCloudPlatform/context-method\n\nNew service method specs which accept Context in place of http.Request."
    },
    {
      "commit": "66d8b8b2ada6cdcd49190131e8638fbcdcb28534",
      "tree": "023990387e1502391caaafc485eab4470ee01ef1",
      "parents": [
        "bcddc023b1ee19df36bf5e70e584ebc1a945afec"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Thu Jan 15 21:32:37 2015"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Thu Jan 15 21:32:37 2015"
      },
      "message": "Allow service method to accept Context in place of *http.Request.\n\n(squashing commings)\n\nCloses #45.\n"
    },
    {
      "commit": "bcddc023b1ee19df36bf5e70e584ebc1a945afec",
      "tree": "ae9ea2487e0c87478770f5b31f4f9efac46c08bd",
      "parents": [
        "b06131f1b322ceba41bb9a95feb023ebdaa44d53"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Thu Jan 15 20:37:17 2015"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Thu Jan 15 20:37:17 2015"
      },
      "message": "Update travis to GAE SDK v1.9.17\n"
    },
    {
      "commit": "b06131f1b322ceba41bb9a95feb023ebdaa44d53",
      "tree": "2f614c5e2e3d6ea2e2d4102fe538dd40a918cff3",
      "parents": [
        "edbee2e3246b175fc9db53f7186fb21961c23ce9",
        "925259a059fe5da706979f2b339ccb80ac83e453"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Dec 23 13:28:06 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Dec 23 13:28:06 2014"
      },
      "message": "Merge pull request #51 from maxhawkins/master\n\nAdd appengine build flag to all source files so the package is go-gettable."
    },
    {
      "commit": "925259a059fe5da706979f2b339ccb80ac83e453",
      "tree": "2f614c5e2e3d6ea2e2d4102fe538dd40a918cff3",
      "parents": [
        "edbee2e3246b175fc9db53f7186fb21961c23ce9"
      ],
      "author": {
        "name": "Max Hawkins",
        "email": "maxhawkins@google.com",
        "time": "Fri Dec 19 20:58:01 2014"
      },
      "committer": {
        "name": "Max Hawkins",
        "email": "maxhawkins@google.com",
        "time": "Fri Dec 19 23:35:41 2014"
      },
      "message": "Add appengine build flag to all source files so package is go-gettable.\n\nCloses #50\n"
    },
    {
      "commit": "edbee2e3246b175fc9db53f7186fb21961c23ce9",
      "tree": "b477669f395cd501061bdf5ffbc50a39f3ace53a",
      "parents": [
        "f7bd7d655ac7971a50386614a8d3bafa70239019",
        "914ea7ecfd80fea54809c7f10f561757f3ad734f"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Fri Dec 12 10:38:04 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Fri Dec 12 10:38:04 2014"
      },
      "message": "Merge pull request #48 from campoy/master\n\nUpdating repo/import paths after transfer to GoogleCloudPlatform"
    },
    {
      "commit": "914ea7ecfd80fea54809c7f10f561757f3ad734f",
      "tree": "b477669f395cd501061bdf5ffbc50a39f3ace53a",
      "parents": [
        "f7cbb66a3e7b476023349f8d24eaccd2b8a12dac"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@github.com",
        "time": "Wed Dec 10 20:16:15 2014"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@github.com",
        "time": "Wed Dec 10 20:16:15 2014"
      },
      "message": "move Must to a different branch\n"
    },
    {
      "commit": "f7cbb66a3e7b476023349f8d24eaccd2b8a12dac",
      "tree": "194747c7055cfd96af9d494659bc2b8699fef6fc",
      "parents": [
        "4569245c03903aca8a098bd85a91548b4b7456b7"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@github.com",
        "time": "Wed Dec 10 20:13:39 2014"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@github.com",
        "time": "Wed Dec 10 20:13:39 2014"
      },
      "message": "Add Must helper function\n"
    },
    {
      "commit": "4569245c03903aca8a098bd85a91548b4b7456b7",
      "tree": "b477669f395cd501061bdf5ffbc50a39f3ace53a",
      "parents": [
        "683b5a620a1cbbe3e53bbe83ab953a157060dc3d"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@github.com",
        "time": "Wed Dec 10 20:08:43 2014"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@github.com",
        "time": "Wed Dec 10 20:08:43 2014"
      },
      "message": "fixed go get command\n"
    },
    {
      "commit": "683b5a620a1cbbe3e53bbe83ab953a157060dc3d",
      "tree": "0c6f0fdb954bda348b4b14e1182f9987dc073046",
      "parents": [
        "f7bd7d655ac7971a50386614a8d3bafa70239019"
      ],
      "author": {
        "name": "Francesc Campoy",
        "email": "campoy@github.com",
        "time": "Wed Dec 10 20:07:03 2014"
      },
      "committer": {
        "name": "Francesc Campoy",
        "email": "campoy@github.com",
        "time": "Wed Dec 10 20:07:03 2014"
      },
      "message": "updating import paths\n"
    },
    {
      "commit": "f7bd7d655ac7971a50386614a8d3bafa70239019",
      "tree": "c5d20250027a2a37e4e06dc15d0f862bd358cb1e",
      "parents": [
        "9456595addee2b294181b9de015b6c37bd58af78"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Dec 09 19:16:50 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Dec 09 19:16:50 2014"
      },
      "message": "Use latest GAE SDK for Travis builds\n"
    },
    {
      "commit": "9456595addee2b294181b9de015b6c37bd58af78",
      "tree": "4670ab970655444ff814686c39ba1428e4c91500",
      "parents": [
        "4ffa9aa698e797b9a0d656c055126c791b641e12"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Dec 09 10:57:26 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Dec 09 10:57:26 2014"
      },
      "message": "Format apiconfig test method names\n"
    },
    {
      "commit": "4ffa9aa698e797b9a0d656c055126c791b641e12",
      "tree": "eec7deb5426dda14b9f81242e8c0328b0a16568a",
      "parents": [
        "8634f3b47808c58dfd078a16651a0c9f56359ed8"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Fri Oct 10 13:31:02 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Fri Oct 10 13:31:02 2014"
      },
      "message": "Fix TestPrefixedSchemaName test to use a constant.\n\nt.PkgPath() may be different in certain environments.\n"
    },
    {
      "commit": "8634f3b47808c58dfd078a16651a0c9f56359ed8",
      "tree": "1300c7f98c5a5fb75bf6256c5febb08089b0709d",
      "parents": [
        "79dcfa27c39c02783ced1490622f165dd672795d"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Fri Oct 10 13:20:17 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Fri Oct 10 13:20:17 2014"
      },
      "message": "Go vet, golint; modify tests according to Golang conventions.\n\nAlthough this is a breaking change, it\u0027s trivial and concerns only methods\nrenaming. For instance, endpoints.HandleHttp() is now endpoints.HandleHTTP().\n"
    },
    {
      "commit": "79dcfa27c39c02783ced1490622f165dd672795d",
      "tree": "d7b530e31ed87c0b7889a84ab04558e897748eb7",
      "parents": [
        "0bc7dc39fe9e62077e4ef15dfb1eb6177741ed14",
        "661db2eeead9bfe0b71e484f4afbb0923582183f"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Fri Oct 10 09:56:51 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Fri Oct 10 09:56:51 2014"
      },
      "message": "Merge pull request #42 from crhym3/prefixed\n\nAllow override schema name.\r\nCloses #37"
    },
    {
      "commit": "661db2eeead9bfe0b71e484f4afbb0923582183f",
      "tree": "d7b530e31ed87c0b7889a84ab04558e897748eb7",
      "parents": [
        "0bc7dc39fe9e62077e4ef15dfb1eb6177741ed14"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Thu Oct 09 09:30:14 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Thu Oct 09 09:30:14 2014"
      },
      "message": "Allow override schema name\n\nThis change makes it possible to prefix a schema in case of name conflict.\n"
    },
    {
      "commit": "0bc7dc39fe9e62077e4ef15dfb1eb6177741ed14",
      "tree": "87d9e3348a42385f5e859e5749712a4f3b7d099c",
      "parents": [
        "1ee83603a1686bcdbd0fcbb8372cc8b3d6319863",
        "2b4364127a49e7681bff24e009533eabdb35e83f"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Thu Oct 09 09:03:43 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Thu Oct 09 09:03:43 2014"
      },
      "message": "Merge pull request #39 from crhym3/dup-method-path\n\nSanity check for duplicate service methods.\r\n\r\nCloses #26"
    },
    {
      "commit": "1ee83603a1686bcdbd0fcbb8372cc8b3d6319863",
      "tree": "3562375a25f01d7dd8ee7703e0308906befa9318",
      "parents": [
        "6bc2a57b190060e09af990604d1c4cc140305b0d",
        "708d11dd7cf7ae7ef1952f8694d3088d1ebcd761"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Wed Oct 08 18:38:03 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Wed Oct 08 18:38:03 2014"
      },
      "message": "Merge pull request #38 from crhym3/anonymous-struct\n\nCorrectly handle anonymously embedded structs.\r\n\r\nFixes #36."
    },
    {
      "commit": "2b4364127a49e7681bff24e009533eabdb35e83f",
      "tree": "d5ca9f64775e10084bfcc40d4a2f74083d89a7b0",
      "parents": [
        "6bc2a57b190060e09af990604d1c4cc140305b0d"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Wed Oct 08 12:45:02 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Wed Oct 08 12:45:02 2014"
      },
      "message": "Sanity check for duplicate service methods.\n\nAPI Descriptor generator will now return an error if a service\nhas either duplicate method names or (HTTP method + path) entries.\n\nFixes #26\n"
    },
    {
      "commit": "708d11dd7cf7ae7ef1952f8694d3088d1ebcd761",
      "tree": "3562375a25f01d7dd8ee7703e0308906befa9318",
      "parents": [
        "6bc2a57b190060e09af990604d1c4cc140305b0d"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Wed Oct 08 10:56:18 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Wed Oct 08 10:56:18 2014"
      },
      "message": "Correctly handle anonynous structs\n"
    },
    {
      "commit": "6bc2a57b190060e09af990604d1c4cc140305b0d",
      "tree": "9d611067b97b445eda54b01b6e50a95f2b4e7b12",
      "parents": [
        "5360ff8911633f5fae23ff033bed00b5d4175c53"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 22:29:19 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 22:29:19 2014"
      },
      "message": "Correct formatting of custom error responses.\n\nCloses #34\n"
    },
    {
      "commit": "5360ff8911633f5fae23ff033bed00b5d4175c53",
      "tree": "452f34a35fd172ea38af119bed469097746dd3c8",
      "parents": [
        "e8665917939e1a24c70a4f1a626e8ac8fc5d1ce2",
        "1ae82aeeae81b8d2e07338520ed27b304459f80c"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 20:56:54 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 20:56:54 2014"
      },
      "message": "Merge pull request #30 from bashtian/patch-1\n\nlog errors in GetApiConfigs"
    },
    {
      "commit": "e8665917939e1a24c70a4f1a626e8ac8fc5d1ce2",
      "tree": "94e4574661cc603a2f4e71ea4f7b27a4add50e30",
      "parents": [
        "e395209309a6f46a6adc1b1ae695bd0156b103bf"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 20:46:48 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 20:46:48 2014"
      },
      "message": "Add namespace support for endpoints.Context\n\nExample:\n\n```go\nc :\u003d endpoints.NewContext(r)\nnamespacedContext :\u003d c.Namespace(\"newspace\")\nitem :\u003d memcache.Get(namespacedContext, \"key\")\n```\n\nCloses #33\n"
    },
    {
      "commit": "e395209309a6f46a6adc1b1ae695bd0156b103bf",
      "tree": "4b0c30509b0329f4053f31b5bd986a86df7b9313",
      "parents": [
        "bf06610190cf306131e67599a1f1836fa650f161"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 15:56:25 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 15:56:25 2014"
      },
      "message": "Alternative way to get the package using goapp tool.\n\nCloses #29\n"
    },
    {
      "commit": "bf06610190cf306131e67599a1f1836fa650f161",
      "tree": "a45461e4856ec99437c29f2353729f5888f7a0c3",
      "parents": [
        "5fca1ec2ea0fb9b40f371205caefdc448e09c160",
        "32ddc359ac5e312d1e355f578f3116fc1f327e54"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 15:10:14 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 15:10:14 2014"
      },
      "message": "Rewrite tests to leverage appengine/aetest of the SDK.\n"
    },
    {
      "commit": "32ddc359ac5e312d1e355f578f3116fc1f327e54",
      "tree": "a45461e4856ec99437c29f2353729f5888f7a0c3",
      "parents": [
        "ac49895f32e4dd52e7f4a9e3418ce21cdd58da7c"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 15:09:47 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 15:09:47 2014"
      },
      "message": "Update readme to mention we\u0027re testing with goapp tool now\n"
    },
    {
      "commit": "ac49895f32e4dd52e7f4a9e3418ce21cdd58da7c",
      "tree": "b8749007fcb95cd7842781fba9aaa485ef1d46af",
      "parents": [
        "e1e18c85231c0945c471923459af99477c22f7d4"
      ],
      "author": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 15:01:25 2014"
      },
      "committer": {
        "name": "alex",
        "email": "alex@cloudware.it",
        "time": "Tue Oct 07 15:01:25 2014"
      },
      "message": "Correct args for goapp tool; make unzip silent.\n"
    }
  ],
  "next": "e1e18c85231c0945c471923459af99477c22f7d4"
}
