)]}'
{
  "log": [
    {
      "commit": "d88f32ba5655e93f9e2eb8848e61b245edb98ca6",
      "tree": "4fc72e717d2458de950f4c42fd2a6f67f97c89fd",
      "parents": [
        "a26eea0caa3e204ef1604942ec85e67b20abc50f"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:59:58 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:59:58 2014 -0400"
      },
      "message": "Use the new EndpointOpts service instantiation.\n"
    },
    {
      "commit": "a26eea0caa3e204ef1604942ec85e67b20abc50f",
      "tree": "2cc2e6e7d482e1d1f4550cd666633ea9e95082ea",
      "parents": [
        "fc96135d0d2c1bb3eb79fe6364666912c842536d"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:21:49 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:42:38 2014 -0400"
      },
      "message": "Working on the acceptance test, now.\n\nBuilds but does not pass.\n"
    },
    {
      "commit": "fc96135d0d2c1bb3eb79fe6364666912c842536d",
      "tree": "aa69afc76271bfa15c9e4eb077423300ba247e5e",
      "parents": [
        "e47ea9e57fa34c14175dc294242d62e5b59f91fd"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:19:59 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:39:25 2014 -0400"
      },
      "message": "Put something non-test in acceptance/../identity/v3.\n"
    },
    {
      "commit": "e47ea9e57fa34c14175dc294242d62e5b59f91fd",
      "tree": "a83a9fdda0be77da6a2425e1814de32c4205e6fb",
      "parents": [
        "604320eb90b875b843cc03a55d25eee8e60cb995"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:03:44 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:39:25 2014 -0400"
      },
      "message": "Use the ServiceClient to generate URLs.\n\nAdd OkCodes to all of the perigee requests.\n"
    },
    {
      "commit": "604320eb90b875b843cc03a55d25eee8e60cb995",
      "tree": "98b2270cd73683d73a115f72332e16c9d3c1ad6f",
      "parents": [
        "65fcb7a5ce8ed05d3de786aa28f2d9238c6ccca9"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:02:28 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:39:25 2014 -0400"
      },
      "message": "Use gophercloud.ServiceClient in storage V1.\n"
    },
    {
      "commit": "65fcb7a5ce8ed05d3de786aa28f2d9238c6ccca9",
      "tree": "68ad3f72abf824f9f892b283bf9903a1177756c9",
      "parents": [
        "2dff1729b80d678df617ce40fa00812ab3fc4e4e",
        "8e15a5f546cf48380f9fc57ffa3f8c84dfb4f4d3"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:38:39 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 16:38:39 2014 -0400"
      },
      "message": "Merge pull request #195 from jrperritt/v0.2.0\n\nPass EndpointOpts during client creation"
    },
    {
      "commit": "8e15a5f546cf48380f9fc57ffa3f8c84dfb4f4d3",
      "tree": "68ad3f72abf824f9f892b283bf9903a1177756c9",
      "parents": [
        "509fbb6cb21e7f74a0cea4f345f1ab4da6c43e93"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 12:39:56 2014 -0500"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 14:05:53 2014 -0500"
      },
      "message": "fix import path\n"
    },
    {
      "commit": "509fbb6cb21e7f74a0cea4f345f1ab4da6c43e93",
      "tree": "424c71f35462ca1a0717f105ee1c74384fd27735",
      "parents": [
        "2dff1729b80d678df617ce40fa00812ab3fc4e4e"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 13:29:56 2014 -0500"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 14:05:37 2014 -0500"
      },
      "message": "add ApplyDefaults method for EndpointOpts\n"
    },
    {
      "commit": "2dff1729b80d678df617ce40fa00812ab3fc4e4e",
      "tree": "e4a3c4876f815ef2804bfab4c1a32c2b47f66c58",
      "parents": [
        "05a5c0fdbaf96507275e6c0343febc0582796038",
        "efac18b3ce3aa8a349ed3eeaf8bb1c9fde58d309"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 13:58:30 2014 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 13:58:30 2014 -0500"
      },
      "message": "Merge pull request #196 from smashwilson/rename-interface\n\nRename \"Interface\" to \"Availability\"."
    },
    {
      "commit": "efac18b3ce3aa8a349ed3eeaf8bb1c9fde58d309",
      "tree": "e4a3c4876f815ef2804bfab4c1a32c2b47f66c58",
      "parents": [
        "05a5c0fdbaf96507275e6c0343febc0582796038"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 14:44:42 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 14:44:42 2014 -0400"
      },
      "message": "Rename \"Interface\" to \"Availability\".\n\nInterface is what the identity v3 docs call it, but that collides with an\nimportant concept from Go-the-language. Renaming it to \"Availability\" because\nthat\u0027s more descriptive.\n"
    },
    {
      "commit": "05a5c0fdbaf96507275e6c0343febc0582796038",
      "tree": "1c10c444d7683013e7b17886b9ec994eddc23a5c",
      "parents": [
        "5d7429c1357222d14fd28fac9639f7d4e34fc879"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 12:11:18 2014 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 12:11:18 2014 -0500"
      },
      "message": "Add myself, Ash, and Jamie.\n\nAlso change to table format."
    },
    {
      "commit": "5d7429c1357222d14fd28fac9639f7d4e34fc879",
      "tree": "83dd94d46d19aca4d95d80ccde62d209c73dff14",
      "parents": [
        "e69059d9c42b46df908bd68ed47dccce3046e1c2",
        "a286795de07698eb33585ba9da61bc7711352730"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 11:41:18 2014 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 10 11:41:18 2014 -0500"
      },
      "message": "Merge pull request #186 from smashwilson/identity-v3\n\nIdentity v3"
    },
    {
      "commit": "a286795de07698eb33585ba9da61bc7711352730",
      "tree": "83dd94d46d19aca4d95d80ccde62d209c73dff14",
      "parents": [
        "5266e49cf3097f1ee9062a1731fa137a5ac4d0a6",
        "e69059d9c42b46df908bd68ed47dccce3046e1c2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 12:29:06 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 12:29:06 2014 -0400"
      },
      "message": "Merge remote-tracking branch \u0027upstream/v0.2.0\u0027 into identity-v3\n\nConflicts:\n\tacceptance/openstack/compute/tools_test.go\n"
    },
    {
      "commit": "e69059d9c42b46df908bd68ed47dccce3046e1c2",
      "tree": "bc75646f318ee47a78423f1dc74315c5bd815481",
      "parents": [
        "77b3f95620ea046fa86048378a4519dca6f72bf1",
        "0eb85cfb835386439f4732516ab6d241634b64ce"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 08:19:03 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 08:19:03 2014 -0400"
      },
      "message": "Merge pull request #192 from jamiehannaford/acceptance-test-readme\n\nAdding README for acceptance test directory"
    },
    {
      "commit": "77b3f95620ea046fa86048378a4519dca6f72bf1",
      "tree": "95b45cabd8afe3d1e3f71afc24bec1d3678fef75",
      "parents": [
        "40b8ee4103c3115e0125b10553ac34be02745fd4",
        "c8fc6eaa1622f0a6df997e7b071bc4d5bb4aa3cc"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 08:09:56 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 08:09:56 2014 -0400"
      },
      "message": "Merge pull request #193 from jamiehannaford/compute-dir-restructure\n\nMoving compute resources into version dir"
    },
    {
      "commit": "0eb85cfb835386439f4732516ab6d241634b64ce",
      "tree": "23ddeae39dd6a610f02186c63a4ca686d9e38c8a",
      "parents": [
        "2a2a146a92ee2207c3e9971809c445ee06e0ae0a",
        "0fd6752a2c12d9679e7c5de8886d5352327c7f87"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 10 14:06:01 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 10 14:06:01 2014 +0200"
      },
      "message": "Merge branch \u0027acceptance-test-readme\u0027 of github.com:jamiehannaford/gophercloud into acceptance-test-readme\n"
    },
    {
      "commit": "2a2a146a92ee2207c3e9971809c445ee06e0ae0a",
      "tree": "567265116fa13f254b3ea8a84f175dfdc287a0ae",
      "parents": [
        "e8ab7b49b9c449da5d6780af02cf5ec3a0bdfac1"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 10 14:05:45 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 10 14:05:45 2014 +0200"
      },
      "message": "Minor fixes based on code review\n"
    },
    {
      "commit": "c8fc6eaa1622f0a6df997e7b071bc4d5bb4aa3cc",
      "tree": "b635a9f8184eac08dba34ef54200579250419475",
      "parents": [
        "e8cbc302381389cabd4d8c49e1e7dc136780c1c7"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 10 13:59:58 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 10 13:59:58 2014 +0200"
      },
      "message": "Moving compute resources into version dir\n"
    },
    {
      "commit": "5266e49cf3097f1ee9062a1731fa137a5ac4d0a6",
      "tree": "db2f3b7537aa69177f5d2ef359b7ec5fa9332afc",
      "parents": [
        "51b4f1cc734aa37edc55f329c2fc2de3797e10f2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 15:44:30 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 15:44:30 2014 -0400"
      },
      "message": "Rename `Info` to `Get`.\n"
    },
    {
      "commit": "51b4f1cc734aa37edc55f329c2fc2de3797e10f2",
      "tree": "513600736eb7c2f47a3724879da5db95becd79f4",
      "parents": [
        "d67975b3563e293668f6155d9a60f596b626b72a"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 15:18:43 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 15:18:43 2014 -0400"
      },
      "message": "More comment touchups.\n"
    },
    {
      "commit": "d67975b3563e293668f6155d9a60f596b626b72a",
      "tree": "b8d9f4c0b325c0ef718ab4cad8102b889fb7a84a",
      "parents": [
        "2c0e45b53000551b456fd6786a03b93957a2e4bd"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:57:17 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:57:17 2014 -0400"
      },
      "message": "Stale documentation.\n"
    },
    {
      "commit": "2c0e45b53000551b456fd6786a03b93957a2e4bd",
      "tree": "df0530f0a07f77a4abde6a2fcdc3352da5d2edaa",
      "parents": [
        "0747d7edfc3a078f0b061ba9332f2cd09fdaf10e"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:52:42 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:52:42 2014 -0400"
      },
      "message": "Stale error message apparently.\n"
    },
    {
      "commit": "0747d7edfc3a078f0b061ba9332f2cd09fdaf10e",
      "tree": "634e91715a58a1957d1f37bbca2a1b535c2890f4",
      "parents": [
        "7083d022c1b2241038ddc2547b1100c3c039519a"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:27:35 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:27:35 2014 -0400"
      },
      "message": "Move the Interface type and its consts.\n"
    },
    {
      "commit": "7083d022c1b2241038ddc2547b1100c3c039519a",
      "tree": "28def247f2d7d4755175e021cba1bd6151489fc7",
      "parents": [
        "09694b918c8a03f5d353c24e70bf2a5a6afbbfa9"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:10:43 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:10:43 2014 -0400"
      },
      "message": "Explicitly auth against v3 in v3 tests.\n\nSkip v3 tests altogether if no USERID is set.\n"
    },
    {
      "commit": "09694b918c8a03f5d353c24e70bf2a5a6afbbfa9",
      "tree": "47779b48774b89ba865bdcd6f85f44ee0b09f489",
      "parents": [
        "e7da01c28d73104467612b203d085e56b1155ec2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:08:27 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 14:08:27 2014 -0400"
      },
      "message": "Ookay, last reshuffle.\n\n * openstack.NewClient() normalizes the identity endpoint with a trailing slash, and sets base and endpoint.\n * utils.ChooseVersion() checks suffixes first to short-circuit actual version calls.\n * gophercloud.ProviderClient distinguishes between the root of all identity services (IdentityBase)\n   and the endpoint of the requested auth service (IdentityEndpoint).\n"
    },
    {
      "commit": "e7da01c28d73104467612b203d085e56b1155ec2",
      "tree": "7af6d92b4e1a523b74cfad0f9bbad10526b825eb",
      "parents": [
        "51dff8a53694871d8475fbd371178ba24bb1bf1f"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 12:31:06 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 12:31:06 2014 -0400"
      },
      "message": "Lots of URL normalization.\n\nSo it doesn\u0027t matter if you have a trailing / or not.\n"
    },
    {
      "commit": "51dff8a53694871d8475fbd371178ba24bb1bf1f",
      "tree": "56e06fb1e4c1a98b6767b16528f45f2e80a7621f",
      "parents": [
        "33a23e7dbbb1147990110f7d92fda5fdc753eea8"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 12:30:21 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 12:30:21 2014 -0400"
      },
      "message": "Update the identity v2 acceptance test.\n"
    },
    {
      "commit": "33a23e7dbbb1147990110f7d92fda5fdc753eea8",
      "tree": "4557563ccc183b04850b8f24b9e6c8864db46e2a",
      "parents": [
        "ccfccce001fa1e3cfec65d5df90f79dc89f23e36"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 12:28:31 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 12:28:31 2014 -0400"
      },
      "message": "Right, v2 actually needs those vars.\n"
    },
    {
      "commit": "ccfccce001fa1e3cfec65d5df90f79dc89f23e36",
      "tree": "d06127eb41b8ef5ae91058ee30436944c803d0ca",
      "parents": [
        "a0c4c84cd7d87f3406ebd4dadac488dc66b7f6f1"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 11:43:04 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 11:43:04 2014 -0400"
      },
      "message": "ChooseVersion accounts for missing /s.\n"
    },
    {
      "commit": "a0c4c84cd7d87f3406ebd4dadac488dc66b7f6f1",
      "tree": "7ed8e6e37fc67d4c64bca4511ddba70254f50648",
      "parents": [
        "1cd3e69c4d0af352bc8400984b47866fe2503e5f"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 11:30:58 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 11:30:58 2014 -0400"
      },
      "message": "ChooseVersion prefers exact URL matches now.\n"
    },
    {
      "commit": "40b8ee4103c3115e0125b10553ac34be02745fd4",
      "tree": "ac929fc1c2658f2f006e8200084f53d1a2c685d6",
      "parents": [
        "e8cbc302381389cabd4d8c49e1e7dc136780c1c7"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Sep 09 10:23:11 2014 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Sep 09 10:23:11 2014 -0500"
      },
      "message": "s/costsfrom/costs from"
    },
    {
      "commit": "1cd3e69c4d0af352bc8400984b47866fe2503e5f",
      "tree": "b17568dd604ea15a266dacc0a78ac4e3e761beb9",
      "parents": [
        "61b2d34891eaba01bf263516b20b9605ceb43925"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 11:01:47 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 11:01:47 2014 -0400"
      },
      "message": "Exercise the endpoint discovery code a little.\n"
    },
    {
      "commit": "0fd6752a2c12d9679e7c5de8886d5352327c7f87",
      "tree": "4ba76a6ec7abc41bf73f999e7c7e325771ac3083",
      "parents": [
        "e8ab7b49b9c449da5d6780af02cf5ec3a0bdfac1"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 09 17:00:22 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 09 17:00:22 2014 +0200"
      },
      "message": "Adding \"Download RC file\" hint for OpenStack users"
    },
    {
      "commit": "e8ab7b49b9c449da5d6780af02cf5ec3a0bdfac1",
      "tree": "ff1e461c43d9dea57e6179300b43b263cd048d76",
      "parents": [
        "e8cbc302381389cabd4d8c49e1e7dc136780c1c7"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 09 16:40:06 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 09 16:43:41 2014 +0200"
      },
      "message": "Adding README for acceptance test directory\n"
    },
    {
      "commit": "61b2d34891eaba01bf263516b20b9605ceb43925",
      "tree": "b439c11719b29cf569613962bb352af9e95313b3",
      "parents": [
        "5deff16c9923e953903461d85353f82c5fa20d36"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 09:46:01 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 09:46:01 2014 -0400"
      },
      "message": "Fix up more of the acceptance tests.\n"
    },
    {
      "commit": "5deff16c9923e953903461d85353f82c5fa20d36",
      "tree": "756b063fd6c24403a8d1a4e99f3133689d0c556f",
      "parents": [
        "9d9876b987d9232a85601d13d55a7f9f98b46a07"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 09:33:03 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 09:33:03 2014 -0400"
      },
      "message": "Missed an AuthOptions in the acceptance tests.\n"
    },
    {
      "commit": "9d9876b987d9232a85601d13d55a7f9f98b46a07",
      "tree": "461842606330a2a3431e68dcfdfab9d8b492966c",
      "parents": [
        "8e434bf2cd3ee0b80df13cd3cd13682ab18335bc"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 09:28:00 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 09 09:28:00 2014 -0400"
      },
      "message": "Identity v2 endpoint location.\n"
    },
    {
      "commit": "8e434bf2cd3ee0b80df13cd3cd13682ab18335bc",
      "tree": "28e29866fb980f3d18a0b392c9b44f54f5380674",
      "parents": [
        "b8401a78b36e0634c31aec1eedd9cd3d2fc24de5"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 17:10:04 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 17:10:04 2014 -0400"
      },
      "message": "Take out the reauth closure for now.\n"
    },
    {
      "commit": "b8401a78b36e0634c31aec1eedd9cd3d2fc24de5",
      "tree": "ce7b7b3cdc49e54c922be3cc424f118a6907816a",
      "parents": [
        "11c98288b35a4cac8260bf5ec2c3dc0f3f321372"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 17:07:49 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 17:08:01 2014 -0400"
      },
      "message": "Provide endpoint discovery via closure for v3.\n"
    },
    {
      "commit": "11c98288b35a4cac8260bf5ec2c3dc0f3f321372",
      "tree": "956ab7f29958de8dae8751e4ffd1b795b88989b6",
      "parents": [
        "986854a94c39e5d50b93e8d29ede44630127d2e2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 16:05:10 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 16:05:10 2014 -0400"
      },
      "message": "Use v2 identity in AuthenticatedClient.\n"
    },
    {
      "commit": "986854a94c39e5d50b93e8d29ede44630127d2e2",
      "tree": "74fb9be106cfbc17c29eb4c063cc6710502fda4c",
      "parents": [
        "31844f2cb62f8110e9cd7bc11cc2b7037e88f1c7"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:51:08 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:51:08 2014 -0400"
      },
      "message": "Unit test for v2 authentication with a client.\n"
    },
    {
      "commit": "31844f2cb62f8110e9cd7bc11cc2b7037e88f1c7",
      "tree": "49efbd5486844e0d529a763c14f2064cab7a7b8d",
      "parents": [
        "9c6c9e6ddd69fa72a3555b5f6e02c8eefa35dfe2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:32:58 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:32:58 2014 -0400"
      },
      "message": "Package name now matches directory name :lipstick:\n"
    },
    {
      "commit": "9c6c9e6ddd69fa72a3555b5f6e02c8eefa35dfe2",
      "tree": "6f7268c0a224046978707dba7d431f9003d04ec7",
      "parents": [
        "2ebb21c024e8bccb1026db370275a1bfe105b466"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:27:38 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:27:38 2014 -0400"
      },
      "message": "Use a ServiceClient in identity v2, as well.\n"
    },
    {
      "commit": "2ebb21c024e8bccb1026db370275a1bfe105b466",
      "tree": "d412e8f170201babef3d62d122d5980fae7732b2",
      "parents": [
        "12b3b6cbdfca3c4530e36ee575ade7559d34949c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:01:32 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 15:01:32 2014 -0400"
      },
      "message": "Finish the identity.AuthOptions removal. :fire:\n"
    },
    {
      "commit": "12b3b6cbdfca3c4530e36ee575ade7559d34949c",
      "tree": "50282ab1cfe905df5434577db9099fa974da2b0b",
      "parents": [
        "b110fc956da1fb8d6468d9d766dfee0c10ee7ffa"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 14:54:38 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 14:54:38 2014 -0400"
      },
      "message": "v2 is now golint clean :lipstick:\n"
    },
    {
      "commit": "b110fc956da1fb8d6468d9d766dfee0c10ee7ffa",
      "tree": "e6af3f7fe27a164c46b6a24b89e8b1d6f014750a",
      "parents": [
        "612df9ea5757350dd3e2d847c8905c0c16a9bcfd"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 13:54:59 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 13:57:33 2014 -0400"
      },
      "message": "Use a Concat method to aggregate Collection pages.\n"
    },
    {
      "commit": "612df9ea5757350dd3e2d847c8905c0c16a9bcfd",
      "tree": "c1b2748fa9e4fb7241379e903e65b079e131fe6b",
      "parents": [
        "0555c644358f7037b44db78541756305c3b5a239"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 08:59:12 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 08 08:59:12 2014 -0400"
      },
      "message": "Oh hey that does work.\n\nThanks, @sam-falvo!\n"
    },
    {
      "commit": "0555c644358f7037b44db78541756305c3b5a239",
      "tree": "7eba4c03de11577fa6b6490dc81e82f7e72aa545",
      "parents": [
        "700d13a087c13c2411b6f8e024d54c39859cd87c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 16:57:17 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 16:57:17 2014 -0400"
      },
      "message": "Acceptance test that simulates walking to an endpoint.\n"
    },
    {
      "commit": "700d13a087c13c2411b6f8e024d54c39859cd87c",
      "tree": "53724dc442bb0f47d13a07b085ae347d6e75035c",
      "parents": [
        "8df23c8c6fd26ab64f11d9cebc2b97a14a381b6b"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 14:24:16 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 14:24:16 2014 -0400"
      },
      "message": "EndpointList is now a link-paginated collection.\n"
    },
    {
      "commit": "8df23c8c6fd26ab64f11d9cebc2b97a14a381b6b",
      "tree": "0e096ee612251cd3f205b94dcc0bb30e982ddac7",
      "parents": [
        "dd7188d1b605cca7cfb9b740b7da0bbb256f06ec"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 14:18:20 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 14:18:20 2014 -0400"
      },
      "message": "Turns out /endpoints *is* paginated with links.\n"
    },
    {
      "commit": "dd7188d1b605cca7cfb9b740b7da0bbb256f06ec",
      "tree": "8dd72687ca36b766b4da3216e528dd668cd8e9d9",
      "parents": [
        "74b12ce55fde57a28166e8e72e8c5298f9af7664"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 14:02:42 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 14:02:42 2014 -0400"
      },
      "message": "Shuffle around the acceptance tests a little.\n"
    },
    {
      "commit": "74b12ce55fde57a28166e8e72e8c5298f9af7664",
      "tree": "76a829ded10b8d10759a0ab841ecf9fa118f74e1",
      "parents": [
        "64f441571da25123ca9e49ba972eea7ade7fc81c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 13:46:53 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 13:46:53 2014 -0400"
      },
      "message": "Take out a stale reference before I start on Endpoints.\n"
    },
    {
      "commit": "64f441571da25123ca9e49ba972eea7ade7fc81c",
      "tree": "64a35ba8c7220354b3ded040133b90882b4ce2c2",
      "parents": [
        "64d67b2326f7e746d82f5b9b3a30818c1b2df5de"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 13:45:03 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 13:45:03 2014 -0400"
      },
      "message": "ServiceList is now a LinkCollection.\n"
    },
    {
      "commit": "64d67b2326f7e746d82f5b9b3a30818c1b2df5de",
      "tree": "860eef9949d5c58b7a3ca7cd65f352fdfd8c2479",
      "parents": [
        "70db2ab2c552a334878c837809985734697f972d"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 13:04:12 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 05 13:04:12 2014 -0400"
      },
      "message": "First cut at pagination.\n"
    },
    {
      "commit": "e8cbc302381389cabd4d8c49e1e7dc136780c1c7",
      "tree": "174139d5ef1734cf178a5176d6562d51732a3b16",
      "parents": [
        "fd4fe577737cac03f96df5879f6ad4fbcfb3b600",
        "b71daf7773ef81be22521fbb100e170fd8ee7690"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 11:42:53 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 11:42:53 2014 -0400"
      },
      "message": "Merge pull request #189 from jrperritt/v0.2.0\n\nupdate readme for v0.2.0"
    },
    {
      "commit": "70db2ab2c552a334878c837809985734697f972d",
      "tree": "883aedbec372bd3edca3fac1938a4e5a5718d74a",
      "parents": [
        "f04a74c17142f3ba4a7f49acefc7a324449c210d"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 11:18:32 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 11:18:32 2014 -0400"
      },
      "message": "Implement endpoints.Delete().\n"
    },
    {
      "commit": "f04a74c17142f3ba4a7f49acefc7a324449c210d",
      "tree": "9d37a9252930c05082748ff207410f5c809f436e",
      "parents": [
        "1cc96dc013f8feece96bc32d1502b12f089ba2bf"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 11:16:20 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 11:16:20 2014 -0400"
      },
      "message": "Implement endpoint.Update().\n"
    },
    {
      "commit": "b71daf7773ef81be22521fbb100e170fd8ee7690",
      "tree": "174139d5ef1734cf178a5176d6562d51732a3b16",
      "parents": [
        "c138523e0cea89c6f3914f4abce762f4906ec824"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Sep 04 10:02:53 2014 -0500"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Sep 04 10:02:53 2014 -0500"
      },
      "message": "git is not optional\n"
    },
    {
      "commit": "1cc96dc013f8feece96bc32d1502b12f089ba2bf",
      "tree": "7644445483a2505655aeb945905db495fd3964df",
      "parents": [
        "32c0e8d5e047ac6c60a82d747bbee280000042d2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 10:53:22 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 10:53:22 2014 -0400"
      },
      "message": "Initialize useful errors.\n"
    },
    {
      "commit": "32c0e8d5e047ac6c60a82d747bbee280000042d2",
      "tree": "2d6e3d0a9641443833fd025561980332c3705090",
      "parents": [
        "989ce54bd542055fc541a1cc372e44660fd113e9"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 10:53:08 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 10:53:08 2014 -0400"
      },
      "message": "Implement endpoints.List().\n\nMinus pagination and all that.\n"
    },
    {
      "commit": "989ce54bd542055fc541a1cc372e44660fd113e9",
      "tree": "1e53920467071cfa81869983cfdf6ce2f3b7ef5a",
      "parents": [
        "bdfc330977a3939a55fc49d45ae13998ef3fbb27"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 10:52:49 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 10:52:49 2014 -0400"
      },
      "message": "Implement endpoints.Create.\n"
    },
    {
      "commit": "bdfc330977a3939a55fc49d45ae13998ef3fbb27",
      "tree": "e8445dc415cdb893802226aed1957038bf764942",
      "parents": [
        "0a997f88a61be2de839f09ab8240e0202c331aa7"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 10:16:28 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 04 10:16:28 2014 -0400"
      },
      "message": "Unit tests for Endpoint CRUD operations.\n"
    },
    {
      "commit": "c138523e0cea89c6f3914f4abce762f4906ec824",
      "tree": "f35f7e8aacce9eb3bf0ce0f06c6c259e86e85be9",
      "parents": [
        "8ef2153224506cd281ce07151619a320d3e94964"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 03 19:52:54 2014 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Sep 03 19:52:54 2014 -0500"
      },
      "message": "update readme for v0.2.0\n\n- add sections for dependencies, installation, and testing.\r\n- change branch in Travis CI url to v0.2.0 (not sure if that\u0027s how that works; we\u0027ll see)"
    },
    {
      "commit": "0a997f88a61be2de839f09ab8240e0202c331aa7",
      "tree": "c950ce7e5ccbcf880ed4cdf4cd46d228fe799799",
      "parents": [
        "d24786d79dc4e80704bb5c8eebf8ce5be2c7c9c0"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 15:50:52 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 15:50:52 2014 -0400"
      },
      "message": "Generate Endpoint service URLs.\n"
    },
    {
      "commit": "d24786d79dc4e80704bb5c8eebf8ce5be2c7c9c0",
      "tree": "48714659bd8a16a6e85b9dc742b13d6eaf43d92a",
      "parents": [
        "d1b721333f6faace7a6f4c8b3a4180dd5463b39e"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 15:38:00 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 15:38:00 2014 -0400"
      },
      "message": "Delete services, too.\n"
    },
    {
      "commit": "d1b721333f6faace7a6f4c8b3a4180dd5463b39e",
      "tree": "7f18e6e5fb631aba66af359f2afe1541b1dc61cc",
      "parents": [
        "b11299722dbc9c81ee2ba66823b78035d5d1aee5"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 15:26:26 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 15:26:26 2014 -0400"
      },
      "message": "Update existing Services.\n"
    },
    {
      "commit": "b11299722dbc9c81ee2ba66823b78035d5d1aee5",
      "tree": "56e488043cbb6eae9306b1143a85c73540ea059b",
      "parents": [
        "fd794d59ee5abe5490b41940d0146744483466e4"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 14:45:21 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 14:45:21 2014 -0400"
      },
      "message": "Implement and test the Service Info call.\n"
    },
    {
      "commit": "fd794d59ee5abe5490b41940d0146744483466e4",
      "tree": "76b26c2fc2ca63d4d4192bd7fb61a6ab75946319",
      "parents": [
        "2f5dd1f53c2ada5e0a4d2990b6cfd3b3a12f8c12"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 14:30:43 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 14:30:43 2014 -0400"
      },
      "message": "Acceptance test that enumerates services.\n"
    },
    {
      "commit": "2f5dd1f53c2ada5e0a4d2990b6cfd3b3a12f8c12",
      "tree": "ac71b63216009120c9b1555b4fda5c9b2e9e3a6a",
      "parents": [
        "ed6a1d851f3e39482e45894513186a796be60d55"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 14:01:37 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 14:01:37 2014 -0400"
      },
      "message": "List the services available from an endpoint.\n"
    },
    {
      "commit": "ed6a1d851f3e39482e45894513186a796be60d55",
      "tree": "1ffccb2a088fa7c2cfdb2b848f75cce9bf369d90",
      "parents": [
        "9d9fb10702ad1efd5a7570cfb96a96bd0e9d98e1"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 12:01:00 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 12:01:00 2014 -0400"
      },
      "message": "Let\u0027s include the / in service endpoints.\n"
    },
    {
      "commit": "9d9fb10702ad1efd5a7570cfb96a96bd0e9d98e1",
      "tree": "71aa5a254041af2340cf7f7c11a04a2ac56e18b9",
      "parents": [
        "a87ee06ff02f989a03278cbe0fa77c0ea7e8e587"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 11:26:31 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 11:26:31 2014 -0400"
      },
      "message": "Update acceptance tests to match.\n"
    },
    {
      "commit": "a87ee06ff02f989a03278cbe0fa77c0ea7e8e587",
      "tree": "878a5fbc2978649c328c382358d2071d9709edb8",
      "parents": [
        "c6372fea62a04099a9f07ab9fadbaf9bb290e927"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 11:26:06 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 11:26:06 2014 -0400"
      },
      "message": "Use general (Provider|Service)Client structs.\n"
    },
    {
      "commit": "c6372fea62a04099a9f07ab9fadbaf9bb290e927",
      "tree": "6272e9b05041fc75b27eecf5ebc63c1df17c110b",
      "parents": [
        "49f0f5622f82fc02a3bb2a8b51cdee1ebd4b4f0c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 11:24:52 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 11:24:52 2014 -0400"
      },
      "message": "Trim unused fields out of (Provider|Service)Client.\n"
    },
    {
      "commit": "49f0f5622f82fc02a3bb2a8b51cdee1ebd4b4f0c",
      "tree": "ffc518ac3f0eeccd2d6c27017e77eedb704922bc",
      "parents": [
        "c25ae6093a3e44cb4e427f11c31deef2397d4edb"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 08:58:20 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 03 08:58:20 2014 -0400"
      },
      "message": "Remove some fields from ProviderClient.\n"
    },
    {
      "commit": "c25ae6093a3e44cb4e427f11c31deef2397d4edb",
      "tree": "469152950238e252a2c211e29895c8daa95b1b9f",
      "parents": [
        "001cfa5ea395ceec1725a9edc5ae2e1095068f31"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 14:41:12 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 14:41:12 2014 -0400"
      },
      "message": "Missed an acceptance test tag.\n"
    },
    {
      "commit": "001cfa5ea395ceec1725a9edc5ae2e1095068f31",
      "tree": "83dc48da57fb5089f7a876e564aa248e92ef354c",
      "parents": [
        "33c85f4e5e10d0e97cc6d39a1a5c3a92f415ea7c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 14:23:23 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 14:23:23 2014 -0400"
      },
      "message": "Fix tests.\n"
    },
    {
      "commit": "33c85f4e5e10d0e97cc6d39a1a5c3a92f415ea7c",
      "tree": "626e1a4e3155b2fabe9142e0c88a4c9f69bf0de7",
      "parents": [
        "4215691d2e2a6a603719fd7b073fc2d98343f83d"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 14:09:14 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 14:09:14 2014 -0400"
      },
      "message": "Acceptance test for creating authenticated clients.\n"
    },
    {
      "commit": "4215691d2e2a6a603719fd7b073fc2d98343f83d",
      "tree": "2575723426d8b6033cae660ed2a07dd6a193a407",
      "parents": [
        "e646c743a9b65908fc3350b3f4466411f2901223"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 14:08:22 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 14:08:22 2014 -0400"
      },
      "message": "Acceptance test for token generation.\n"
    },
    {
      "commit": "e646c743a9b65908fc3350b3f4466411f2901223",
      "tree": "b43f346d1f5f706459028f201250f957eb62015e",
      "parents": [
        "72f7dfb0e636cb6712db036bbb2fe2f9cf6cbd15"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 14:06:15 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 14:06:15 2014 -0400"
      },
      "message": "Extrapolate OS_ env vars for other auth options.\n"
    },
    {
      "commit": "72f7dfb0e636cb6712db036bbb2fe2f9cf6cbd15",
      "tree": "d6df24ea3bf550c3369937a8001cc4325da0effd",
      "parents": [
        "ccd020bcada931a04bed29b0dac16187f8994d9c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 14:06:00 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 14:06:00 2014 -0400"
      },
      "message": "The version endpoint returns a 300.\n"
    },
    {
      "commit": "ccd020bcada931a04bed29b0dac16187f8994d9c",
      "tree": "710da477ee38b818ee7c90c6a4a1161dce383aa3",
      "parents": [
        "6e8700398781b13892f4323c181a3eb833e41ef0"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 10:40:54 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 10:40:54 2014 -0400"
      },
      "message": "Shuffle around authentication methods.\n\nI\u0027d like to be able to explicitly authenticated with a certain version.\n"
    },
    {
      "commit": "6e8700398781b13892f4323c181a3eb833e41ef0",
      "tree": "ae72f755fda0d195c6acb4014090dd2ad3dcb041",
      "parents": [
        "773e6c37c9bd5de127ee992543555be38a4f8696"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 08:38:27 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 08:38:27 2014 -0400"
      },
      "message": "Generate a URL for a specific Service resource.\n"
    },
    {
      "commit": "773e6c37c9bd5de127ee992543555be38a4f8696",
      "tree": "af59e9c8914f44777a1715372b36f3000e59fb10",
      "parents": [
        "b73b7f8044b3dd6caaf3dd8419a10fa9abe96f52"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 08:38:07 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 02 08:38:07 2014 -0400"
      },
      "message": "Explicitly return a v3 endpoint on request.\n"
    },
    {
      "commit": "b73b7f8044b3dd6caaf3dd8419a10fa9abe96f52",
      "tree": "47d9aede688bcd33c5c957804b88a227d24d35be",
      "parents": [
        "4dee1b874cd37250e84f94447a6e29827697fba8"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 15:38:06 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 15:38:06 2014 -0400"
      },
      "message": "Implement and test service creation.\n"
    },
    {
      "commit": "4dee1b874cd37250e84f94447a6e29827697fba8",
      "tree": "a285b2c21cb10b3fa1926e98e00e02a5cc9aece0",
      "parents": [
        "aef9dc55a6149257cd7f73d99dacc2f81f823059"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 14:56:45 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 14:56:45 2014 -0400"
      },
      "message": "Use version negotiation in openstack.NewClient().\n"
    },
    {
      "commit": "aef9dc55a6149257cd7f73d99dacc2f81f823059",
      "tree": "6a3996c998f03c867be36f1b83acc160ff389c4e",
      "parents": [
        "c43602004486ebadee780b8a5c3ba6dd46cfea57"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 14:21:26 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 14:21:26 2014 -0400"
      },
      "message": "Don\u0027t use experimental versions.\n"
    },
    {
      "commit": "c43602004486ebadee780b8a5c3ba6dd46cfea57",
      "tree": "4c4c6ed6cfdef6df60fc5e3d0a98f8c1c14d43fb",
      "parents": [
        "054514387c1bafa462a061ce044a3a3b89920394"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 14:14:24 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 14:14:24 2014 -0400"
      },
      "message": "Choose a version from an API base endpoint.\n"
    },
    {
      "commit": "054514387c1bafa462a061ce044a3a3b89920394",
      "tree": "95cb85293ccce614ee40f2e4478d2a762f47637e",
      "parents": [
        "131b7752b9d2f582c00c5053bca59cd7cb7d9b6a"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 13:24:07 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 13:24:07 2014 -0400"
      },
      "message": "Oops, wrong package name.\n"
    },
    {
      "commit": "131b7752b9d2f582c00c5053bca59cd7cb7d9b6a",
      "tree": "72772de2b9a808578c5727c32b4dcef3838d27a9",
      "parents": [
        "6425a415dfe6dfaccea141f65add74479067b775"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:53:55 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "Authentication at the identity client level.\n"
    },
    {
      "commit": "6425a415dfe6dfaccea141f65add74479067b775",
      "tree": "a79ed08c0eb05477e7b77a74223eff059ad5d7d1",
      "parents": [
        "89466cc335beb561cc88c0ef997d3de996e76a47"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:30:35 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "Clarify ServiceClient and ProviderClient.\n"
    },
    {
      "commit": "89466cc335beb561cc88c0ef997d3de996e76a47",
      "tree": "bf43c27773a702ed3a55a46a641a74e19d822c0e",
      "parents": [
        "0ab4d61b15e62be8a2cad48baf2e9ee4ed10b4ff"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 11:27:39 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "Rename ServiceClient to ProviderClient.\n\nRather than store state within service-level Clients, we really want that\nat the provider level. Service-level clients should be stateless.\n"
    },
    {
      "commit": "0ab4d61b15e62be8a2cad48baf2e9ee4ed10b4ff",
      "tree": "ff53f4c7a14404af79daa00f9cf8faa806e5051f",
      "parents": [
        "46d913f1d885ccda04a9711c7c6c2d5452b2f53e"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 11:10:13 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "Move setup() and teardown() into testhelper, too.\n"
    },
    {
      "commit": "46d913f1d885ccda04a9711c7c6c2d5452b2f53e",
      "tree": "a25154a254e0959076f1676abfd921c92d38f066",
      "parents": [
        "e058e34e6cd08566755f088eec54a7107a19b7ce"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 11:00:11 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "And all of the rest of the token operations.\n\nPlus tests for each.\n"
    },
    {
      "commit": "e058e34e6cd08566755f088eec54a7107a19b7ce",
      "tree": "a9a42dd30baa784148d4d3221cb43accba04badd",
      "parents": [
        "4a52e2aa29f8454d0cdc0cecf5ad18f9e42a807d"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 10:31:41 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "Parse token expiration from the response.\n"
    },
    {
      "commit": "4a52e2aa29f8454d0cdc0cecf5ad18f9e42a807d",
      "tree": "fbbf9967eafe8020ffce829533e73f6fed1c9ace",
      "parents": [
        "aed3db4c369cae11c45b47fa5fbe0a8fb4e2139a"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 09:28:00 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "Extract the new token from headers.\n"
    },
    {
      "commit": "aed3db4c369cae11c45b47fa5fbe0a8fb4e2139a",
      "tree": "a936d8b8cae815b9471e8f2e3335b1751fe0b375",
      "parents": [
        "a8855ffc82aa64652e8f5e3e89f12bb4efe4dbe7"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 08:59:56 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "Test the rest of the failure cases for Create.\n"
    },
    {
      "commit": "a8855ffc82aa64652e8f5e3e89f12bb4efe4dbe7",
      "tree": "fadd09bdad8a5110a89b23f22a6fddfadbc983b0",
      "parents": [
        "1fde61654dc0f4e9f4c801cb09194109b4e20d1b"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 08:26:29 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "First batch of failure cases.\n"
    },
    {
      "commit": "1fde61654dc0f4e9f4c801cb09194109b4e20d1b",
      "tree": "c1c7d3215d3bea6f8650d7531bc33cfb9904970b",
      "parents": [
        "053fcb0dba390019e5b8138cb68cc5df91a64834"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 08:13:06 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "Unit tests for various Scopes.\n"
    },
    {
      "commit": "053fcb0dba390019e5b8138cb68cc5df91a64834",
      "tree": "7b11f7b68bbe373e8b4f8ac117c9125e3ef56952",
      "parents": [
        "d8da9e4184dd2d49afaa81ac939cdd21c4d54b5f"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 08:04:35 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "Test Create with only a TokenID.\n"
    },
    {
      "commit": "d8da9e4184dd2d49afaa81ac939cdd21c4d54b5f",
      "tree": "06ca0b02373ec29f1629c8916ed85fedce789914",
      "parents": [
        "417d922b7a5969e890f04f2bfa9f5b99743785e6"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 08:01:06 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "Test Username+DomainName+Password.\n"
    }
  ],
  "next": "417d922b7a5969e890f04f2bfa9f5b99743785e6"
}
