)]}'
{
  "log": [
    {
      "commit": "98d0162076e5ac4f47a4b7ce531234fc4b91aa79",
      "tree": "7256eedfec0e891710f80d666e80de1522d7a7ba",
      "parents": [
        "8baf47a5b9d7a92daf5571f9a072aea83bdc889a"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jan 12 14:24:42 2017 -0600"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 12 14:24:42 2017 -0600"
      },
      "message": "change all time fields to have type time.Time (#190)\n\n* add Volume.Unmarshal\r\n\r\n* add volumetenants.VolumeExt.Unmarshal\r\n\r\n* create servers.Server time.Time fields\r\n\r\n* json.Unmarshal can correctly handle time.RFC3339 (Server time fields)\r\n\r\n* add v3 Token UnmarshalJSON method\r\n\r\n* check for empty string when unmarshaling time\r\n\r\n* add Member UnmarshalJSON\r\n\r\n* v3 tokens.Token ExtractInto\r\n\r\n* v3 trust.Trust UnmarshalJSON\r\n\r\n* time.Time fields swift response objects\r\n\r\n* time.Time fields for orchestration response objects\r\n\r\n* time.Time fields for shared file systems response objects\r\n\r\n* if we don\u0027t use pointers for the custom time fields, we don\u0027t need to check if they\u0027re nil\r\n\r\n* style guide fixes: \u0027r\u0027 for receiver, \u0027s\u0027 for struct\r\n\r\n* remove unnecessary pointers from UnmarshalJSON methods\r\n"
    },
    {
      "commit": "997607633ac6ff54f5125d9b9dc2b1ff9d08f8c3",
      "tree": "561573f3e7459e03aadbe7548b09e718b7ea6287",
      "parents": [
        "8ad602c701e4b583b04f0bd32163b445f49f53bd"
      ],
      "author": {
        "name": "Joe Topjian",
        "email": "joe@topjian.net",
        "time": "Wed Jan 11 21:40:40 2017 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jan 11 22:40:40 2017 -0600"
      },
      "message": "Removing unused createErr functions from Identity packages (#229)\n\n"
    },
    {
      "commit": "c8f12c6e39d96d0e07f0976e184ea0308cb6aaf0",
      "tree": "add0b6d121a97bbae0ac2495d38da1be0e5f4f5c",
      "parents": [
        "19e713b71ea0ba4c56057127841ad792fe249782"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Tue Oct 11 11:29:10 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 11 11:29:10 2016 -0500"
      },
      "message": "aggregate coverage metrics of unit tests across packages (#115)\n\naggregate coverage metrics of unit tests across packages"
    },
    {
      "commit": "8e3f2508fcaecbcca35ecf1095839cf49c489bcf",
      "tree": "9761d79dd8730bec7c0b89ca5e45965ae720a350",
      "parents": [
        "9152721b033df1efec3bd89195dc8ebe22a03fa6"
      ],
      "author": {
        "name": "Eugene Yakubovich",
        "email": "eyakubovich@gmail.com",
        "time": "Thu Oct 06 07:15:46 2016 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Oct 06 09:15:46 2016 -0500"
      },
      "message": "Check for token not being returned in JSON response (#91)\n\nThis avoid a potential nil pointer dereference since\r\nJSON decoding can succeed with missing fields."
    },
    {
      "commit": "9152721b033df1efec3bd89195dc8ebe22a03fa6",
      "tree": "47769dfdaaaf6b81c42d2a18f6fba10656481f8d",
      "parents": [
        "c5d17b854b473c6e0249874d23574dd5567e864b"
      ],
      "author": {
        "name": "Eugene Yakubovich",
        "email": "eyakubovich@gmail.com",
        "time": "Fri Sep 30 10:17:32 2016 -0700"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Fri Sep 30 12:17:32 2016 -0500"
      },
      "message": "Always set error on response in token create (#109) (#92)\n\nIf there was a network error, http response will be nil\r\nbut error needs to be propogated out."
    },
    {
      "commit": "c8834c1c34519f58fbb80453cb3c33c31956bbed",
      "tree": "eb3a87698220e6aef7741df4927c19d81df4826b",
      "parents": [
        "614b51d907e67520f4d3f2751ea04247b0562d53"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Aug 03 16:06:16 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 03 16:06:16 2016 -0500"
      },
      "message": "create trusts.TokenExt response object (#29)\n\n* create trusts.TokenExt response object\r\n\r\n* add redelegationcount, redelegatedtrustid fields\r\n"
    },
    {
      "commit": "0bc5578dc193f747667cdeee035460f4a168e015",
      "tree": "5523e597064d224f6f1471d6d6ca1ef94ecf32c8",
      "parents": [
        "014999f5572b5808c54194f610b49b2a2fd40765"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jul 27 13:50:14 2016 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 27 13:50:14 2016 -0500"
      },
      "message": "Identity v3 Authentication With TrustID (#24)\n\n* delete auth_results\r\n\r\n* v3 auth with trust\r\n\r\n* define auth errors in gophercloud pkg\r\n\r\n* AuthOptionsBuilder interface\r\n\r\n* combine error files in gophercloud pkg\r\n"
    },
    {
      "commit": "93b4a3c49d56f2d2a4ce449c43c00ba3c0570eb7",
      "tree": "f7dbb3bd4acdc523944b4de7b272f6261a748b53",
      "parents": [
        "0093f7369999b873d8323da8bbfdd9f824b9bcd5"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Jul 20 20:29:30 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Jul 21 15:01:15 2016 -0500"
      },
      "message": "allow EndpointOpts to search catalog for Identity clients\n"
    },
    {
      "commit": "9b7b9e6a417dcbe0495f02a1eb381f3bcd193230",
      "tree": "016cfe726ce815aebece6bcbd3e5c007b8089267",
      "parents": [
        "3d966168b94eef2931a8a7198e21c8467a1f6852",
        "d47105ce4ef90cea9a14b85c8dd172b760085828"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 22:30:50 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jul 11 22:30:50 2016 -0500"
      },
      "message": "merge lbaasv2, portsbinding, volumes v2; remove \u0027rackspace\u0027 refs; update docs\n"
    },
    {
      "commit": "3d966168b94eef2931a8a7198e21c8467a1f6852",
      "tree": "dd2db0c93fe35391840a4a206e4d5f748b5d5342",
      "parents": [
        "9cc33592a49ecba441b7ecd78c7ec4f7e70205a5"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jun 06 14:08:54 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Mon Jun 06 14:08:54 2016 -0500"
      },
      "message": "move unit tests into \u0027testing\u0027 directories\n"
    },
    {
      "commit": "29ae6b37381a93b881a4658583fcacc6d31a833d",
      "tree": "dd847c1f01692742df9969fa3e20c98d3588e233",
      "parents": [
        "2be387af6548e2998407e9f8e3f4337e0ebad3a1"
      ],
      "author": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 13 12:59:37 2016 -0500"
      },
      "committer": {
        "name": "jrperritt",
        "email": "jrperritt@gmail.com",
        "time": "Wed Apr 13 12:59:37 2016 -0500"
      },
      "message": "no naked returns in go; fix auth v3 unit tests\n"
    },
    {
      "commit": "2be387af6548e2998407e9f8e3f4337e0ebad3a1",
      "tree": "f160ca1b004d83b0dd40a936627138b2c959b461",
      "parents": [
        "3860b51298ec4cc58acd486c4f82d826ac29a239"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Mar 31 09:31:58 2016 -0500"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Mar 31 09:31:58 2016 -0500"
      },
      "message": "tmp commit, auth unit tests broken\n"
    },
    {
      "commit": "db0ae140afbe50f92d0175f995ec34c5cfdf6831",
      "tree": "66428150e9d71b7f01fd7c852012409dd50322c5",
      "parents": [
        "226976e4668ce5142c9f627a36b4dc7a971e7238"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Sun Mar 13 00:33:41 2016 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Sun Mar 13 00:33:41 2016 -0600"
      },
      "message": "dsl struct tags; wip\n"
    },
    {
      "commit": "a33da23a2460442ab0321f41ff2020ae367211ed",
      "tree": "dd625420434d9fe852d3934b270721f058b504e7",
      "parents": [
        "4024a028f70f4205eaeec131018a1860cc5a559c"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Wed Mar 02 04:43:08 2016 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Wed Mar 02 04:43:08 2016 -0600"
      },
      "message": "more error types; RequestOptsBuilder error fixes\n"
    },
    {
      "commit": "1b220835fbc94202b9a582964d640fbcaefb1042",
      "tree": "06dc91613da2bd84a5f3a3acec8bf2bec5931a3c",
      "parents": [
        "31b6646e8251a5c8d3da82625794708eebd412c7"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 25 22:37:02 2016 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 25 22:37:02 2016 -0600"
      },
      "message": "remove urls_test.go files\n"
    },
    {
      "commit": "3c16647f36d84e060d67bb74880a0c4c5c90c0c5",
      "tree": "8d58878793c896187d2ede4e74e38de25d2b908a",
      "parents": [
        "668228296cefd3e03ff9b3b9b13c3d190f7a057b"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 25 03:07:41 2016 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 25 03:07:41 2016 -0600"
      },
      "message": "remove mapstructure from identity,networking,objectstorage,orchestration,pagination\n"
    },
    {
      "commit": "27249f4d6f4edde27fb76d11fcd58b37ca27c3cb",
      "tree": "db5ca59e0af4731bb084a4f06395dbb52ab65cda",
      "parents": [
        "b101323b44e08334d450961d675b715f6360e46e"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 18 10:35:59 2016 -0600"
      },
      "committer": {
        "name": "Jon Perritt",
        "email": "jon.perritt@rackspace.com",
        "time": "Thu Feb 18 10:35:59 2016 -0600"
      },
      "message": "rename imports: rackspace/gophercloud -\u003e gophercloud/gophercloud\n"
    },
    {
      "commit": "baaaf3e0bb97c0da2915f8c2c87821f1db78f37a",
      "tree": "2711a0510545e4921a5193c5d1d6e4e4397b7a33",
      "parents": [
        "680aa02616313d8399abc91f17a444cf9292f0e1"
      ],
      "author": {
        "name": "Krzysztof Kwapisiewicz",
        "email": "krzysztof.kwapisiewicz@codilime.com",
        "time": "Wed Feb 03 15:18:16 2016 +0100"
      },
      "committer": {
        "name": "Krzysztof Kwapisiewicz",
        "email": "krzysztof.kwapisiewicz@codilime.com",
        "time": "Wed Feb 03 15:24:12 2016 +0100"
      },
      "message": "Fix reauth in v3 tokens\n"
    },
    {
      "commit": "c043a3dbbfe4bd62b05d311aa320719181dd9058",
      "tree": "b6694d203901b597c03638d535e92f0d112916b4",
      "parents": [
        "ff20f722cc715b76aa2e1e12b00e1a49995dd736"
      ],
      "author": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Wed Apr 01 01:19:55 2015 +0200"
      },
      "committer": {
        "name": "Guillaume Giamarchi",
        "email": "guillaume.giamarchi@gmail.com",
        "time": "Wed Apr 01 01:35:23 2015 +0200"
      },
      "message": "Extract Keystone v3 service catalog\n\nFix #407\n"
    },
    {
      "commit": "562a7d55b3b9673b4804ce470f9dbe0c24c14895",
      "tree": "713a38a08e7c342e2f227eda1375dc553e839561",
      "parents": [
        "6a3a78f48ebb00f9bb919cfbae5d1d84bfacb550"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Mar 24 16:20:16 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Mar 24 16:20:16 2015 +0100"
      },
      "message": "Add Identity HTTP operations\n"
    },
    {
      "commit": "c530ba1ac117c3a2c381e9aedc31f687480f6e79",
      "tree": "ee58233e264142c13b107241db19fc8e6aca654b",
      "parents": [
        "647cea513a78fedb64875ed62c6064db1534a030"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Mar 23 17:50:46 2015 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Mar 23 17:50:46 2015 +0100"
      },
      "message": "Refactor OpenStack services to use default OkCodes\n"
    },
    {
      "commit": "2491b4cda0f3eca813d3a959526cd8678240363b",
      "tree": "ec865d53db7a045cae085154b788ef2323a49bdd",
      "parents": [
        "4bf41a37c959caa2aa450e11b8df1493b5919379"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Feb 12 16:13:39 2015 -0500"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Feb 13 09:09:46 2015 -0500"
      },
      "message": "Manual follow-on tweaks to get the build green again.\n"
    },
    {
      "commit": "4bf41a37c959caa2aa450e11b8df1493b5919379",
      "tree": "42eb547a31378ad8fa8f965a01a47dde6d411bd1",
      "parents": [
        "f98df8d05c2289b83fef5b817a5c7cbb700024a2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Feb 12 15:52:44 2015 -0500"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Feb 13 09:09:46 2015 -0500"
      },
      "message": "openstack/ :knife: perigee\n"
    },
    {
      "commit": "f38dd2e844a9afd9b868b3c0c35e96f25211a406",
      "tree": "26df39638e365b90ce86f1bb85b8d0f464e9efd4",
      "parents": [
        "8ab3c14c99eeba1fb1d5a9ddd5d283a00b5e4e0c"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Oct 27 11:36:54 2014 +0100"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Oct 27 11:36:54 2014 +0100"
      },
      "message": "Adding DeleteResult for v3.tokens.Delete\n"
    },
    {
      "commit": "bdc8697f837cd32b350dca50f8c8173abfe29c86",
      "tree": "607ac80b2ec647a5f19bdce7c0c393bb9fc9fb97",
      "parents": [
        "b280dea8281626bfd49f78e4b8cf3540c599847d"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri Oct 24 17:12:34 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri Oct 24 17:12:34 2014 +0200"
      },
      "message": "Adding doc.go files for packages\n"
    },
    {
      "commit": "d7f73e938b0d9d39343ec2da56ad9c58e2e7152f",
      "tree": "102b9a60208edb07d4d51c3b3fdafbe77dc9aba1",
      "parents": [
        "77857dcfb852cc8e46e0a4d521b7ef3ee2649937"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Oct 22 09:11:49 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Oct 22 09:11:49 2014 -0400"
      },
      "message": "More .Provider references in OS identity v3.\n"
    },
    {
      "commit": "77857dcfb852cc8e46e0a4d521b7ef3ee2649937",
      "tree": "63dd806aea024e3496c2623476c81cbe7553c94d",
      "parents": [
        "55bbaafada72e0bc2af6121f8d1faa6e8e1eb752"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Oct 22 09:09:02 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Oct 22 09:09:02 2014 -0400"
      },
      "message": "Remove the `.Provider.` bit.\n"
    },
    {
      "commit": "72e4d2caef9446c4ac5e5eb059929da38773b9c9",
      "tree": "5ad61fca7c9b114522573a0d5e031081ec6f40f2",
      "parents": [
        "b8b16f82c085caf37ee4dfa14da67a911164a76c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Oct 20 10:27:30 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Oct 20 10:27:30 2014 -0400"
      },
      "message": "Rename Result.Headers to Result.Header.\n\nThis way, it\u0027s consistent with http.Header in the response.\n"
    },
    {
      "commit": "d3dc254a81133743620b6cecf3cfad828af2c2df",
      "tree": "7055f2e56838e2c691acfddafd566f9dcb930f62",
      "parents": [
        "af26287550ad1380f52164349e47fafbfd7a5f89"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Oct 20 10:10:48 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Oct 20 10:10:48 2014 -0400"
      },
      "message": "Rename Result.Resp to Result.Body.\n"
    },
    {
      "commit": "f548aade84cd5fb8fe61035647808cef21d63845",
      "tree": "d96701ca189532920f9a2616cc17c4ac765124a2",
      "parents": [
        "eab6a70c1a5be83ab55abe79dc013df9eb39af51"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Oct 20 08:35:34 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Oct 20 08:35:34 2014 -0400"
      },
      "message": "Rename gophercloud.CommonResult references.\n"
    },
    {
      "commit": "a253adf7847f3890a93b13fe4fe488cdfdf24339",
      "tree": "a83007229734da86bf8611192f245f9f87b595a7",
      "parents": [
        "a581acd81fbde2dc072872e0fb971c1aa2289696"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 08 17:14:24 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Oct 08 17:14:24 2014 +0200"
      },
      "message": "Removing unnecessary conditionals from identity service\n"
    },
    {
      "commit": "f25ae3782f99fa33f4af54042e64bae722d01ab1",
      "tree": "16fe1a2c29097841878048d95fe234b17150283c",
      "parents": [
        "f2f6c0a6aa5d29eafcfd0c7e515c26e7e5ff81b2",
        "541fa55b8cf33935a907cffc90e3a79c51a5791a"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Oct 06 14:40:29 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Oct 06 14:40:29 2014 -0400"
      },
      "message": "Merge remote-tracking branch \u0027upstream/v0.2.0\u0027 into update-identity-v2\n\nConflicts:\n\topenstack/common/extensions/requests.go\n\topenstack/identity/v3/tokens/results.go\n\topenstack/networking/v2/extensions/delegate_test.go\n"
    },
    {
      "commit": "a6b083178893c5d35429d2a11de48f1dc1a7cd73",
      "tree": "b828049f0aae8ab42d14a1c9a3916b7afd29a818",
      "parents": [
        "a5cffc9c6e7481cf8f246eed23f7ce4829a896c5"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Oct 02 15:27:45 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Oct 02 15:27:45 2014 -0400"
      },
      "message": "Move RFC3339Milli to the root package.\n"
    },
    {
      "commit": "884b5cf599a3bd196fb9aa0091f5c4e832c55a68",
      "tree": "ba0c3b8fd2d015e577ca413bc0a7ad2ce1983c64",
      "parents": [
        "81ab83a9f2f6cc4a62bbbb19d2aedc4f609560a2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Oct 02 11:08:58 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Oct 02 11:08:58 2014 -0400"
      },
      "message": "Comment the `header` field.\n"
    },
    {
      "commit": "55f2433f1a7484b6a3723ad01191d27fc7520065",
      "tree": "cfc915eace66132f497c9c84661522f8c5b1c271",
      "parents": [
        "63b2a298cf7e43d14a4645917c8c10ff010b8ad3"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Oct 02 09:37:05 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Oct 02 09:37:05 2014 -0400"
      },
      "message": "Missed a return. Thank you unit testing\n"
    },
    {
      "commit": "63b2a298cf7e43d14a4645917c8c10ff010b8ad3",
      "tree": "7c3b0b95feb0f78be78a2aad3ea04d79729f2bde",
      "parents": [
        "3f59ade74bcfe8e33aa08ebc6a325324e7353a09"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Oct 02 09:29:06 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Oct 02 09:29:06 2014 -0400"
      },
      "message": "Provide expires_at in test fixtures.\n"
    },
    {
      "commit": "3f59ade74bcfe8e33aa08ebc6a325324e7353a09",
      "tree": "347b9105b45f1ccbce662447babdbd769aba49bd",
      "parents": [
        "f8d546a515756a261c8d6a8f151fd123054d3f8e"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Oct 02 09:22:23 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Oct 02 09:22:23 2014 -0400"
      },
      "message": "Update identity v3 tests.\n"
    },
    {
      "commit": "f8d546a515756a261c8d6a8f151fd123054d3f8e",
      "tree": "e95ac9051ca339c24a959d26dd313427ea6925c8",
      "parents": [
        "74e2bb8462be3535d0ce41c4d8bf8c628826642f"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 30 17:43:25 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 30 17:43:25 2014 -0400"
      },
      "message": "Rework token creation to use Result structs and Extract.\n"
    },
    {
      "commit": "1e1b7336bddff19d75aef4758b33d391081f77da",
      "tree": "84c1b305e155802169174fac1a418424311239df",
      "parents": [
        "b18fc106bf4b9989b27f5210c656e0f38cfeb481"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 30 16:38:11 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 30 16:38:11 2014 -0400"
      },
      "message": "getXyzUrl -\u003e xyzUrl\n"
    },
    {
      "commit": "d8aef1baae4434f93a62ae082df1b34bf186af53",
      "tree": "69e771918a65cfc71d8171813f94f14c0e6e31e8",
      "parents": [
        "3cab6339e3bbfbf75a71f954ec417eed52dbe866"
      ],
      "author": {
        "name": "Jon Perritt",
        "email": "jrperritt@gmail.com",
        "time": "Thu Sep 11 17:50:04 2014 -0500"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:02:18 2014 -0400"
      },
      "message": "remove Content-Type expectation from Get token test\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": "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": "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": "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"
    },
    {
      "commit": "417d922b7a5969e890f04f2bfa9f5b99743785e6",
      "tree": "c36f5a44643a6af1405b40ce8d65aee614445f8f",
      "parents": [
        "cde68123e4431d9cb5b08cbee34cdaece2b216ac"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 07:58:35 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "Test Username+DomainID+Password auth.\n"
    },
    {
      "commit": "cde68123e4431d9cb5b08cbee34cdaece2b216ac",
      "tree": "5397b57005ec2553b68d7e3aa6dfdd1b830882a6",
      "parents": [
        "9e3f715811502b520f552551f0196ddbf7455dfb"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Aug 28 16:15:43 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "Tests and bug fixes for UserID + Password.\n"
    },
    {
      "commit": "b482d545488e56f0cd84959254fcdae2971e3181",
      "tree": "ecb7c77e2830fceb37abb8105dd43e068e8c9b94",
      "parents": [
        "8ba82247d6e3cfc7ad767e7abe08c7d564d14f43"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Aug 28 15:48:04 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:33 2014 -0400"
      },
      "message": "A wild test appears! It\u0027s super effective!\n"
    },
    {
      "commit": "e5550862f19bee83438c92cf569dea3ecd62f219",
      "tree": "a2cb6cfb962e95fb08b369ac280dab8b86e64947",
      "parents": [
        "8a85a91873fac7d230e2e02dd7c0fa653fbac05e"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Aug 28 15:37:09 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:32 2014 -0400"
      },
      "message": "Break the import cycle :wrench:\n\nI\u0027ll have to bring in an interface if we add functionality to v3.Client for\nuse in the resource packages.\n"
    },
    {
      "commit": "a1920080adac79141ceeba9c2b7be1163c948ba7",
      "tree": "fad1d7178e372647736e3a4c2f252f9731be1bb8",
      "parents": [
        "2a325803435e7d478629419c4ae176ef6c4afe5a"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Aug 28 14:24:17 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:32 2014 -0400"
      },
      "message": "Move the TokenCreateResult type to its own file.\n"
    },
    {
      "commit": "2a325803435e7d478629419c4ae176ef6c4afe5a",
      "tree": "0f628550f0b225dab7dcd9c1b9415dcabf37fc8e",
      "parents": [
        "b6943e00d7d7c1bab364b235f5f7551ca7c0ef50"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Aug 28 14:23:00 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:32 2014 -0400"
      },
      "message": "Move errors to their own source file.\n"
    },
    {
      "commit": "b6943e00d7d7c1bab364b235f5f7551ca7c0ef50",
      "tree": "640d86e11bdd8ae16cefdea788dc373362ac77a0",
      "parents": [
        "85d8265faaa1fbde4e7383ca5adf7e5a69407b7d"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Aug 28 14:21:41 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:32 2014 -0400"
      },
      "message": "TokenID(), not GetTokenID().\n"
    },
    {
      "commit": "85d8265faaa1fbde4e7383ca5adf7e5a69407b7d",
      "tree": "c17fbf9cb41dd39c4c52a099bfb8295e49bbc381",
      "parents": [
        "70dfe0cb511fbf88b6973cf00aefdadab2eb52e0"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Aug 28 13:57:46 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Aug 29 12:56:32 2014 -0400"
      },
      "message": "The first identity v3 request.\n"
    }
  ]
}
