)]}'
{
  "log": [
    {
      "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": "74e2bb8462be3535d0ce41c4d8bf8c628826642f",
      "tree": "aaf0b1857ea0ff6b5de08c418a93934bd56184f9",
      "parents": [
        "1e1b7336bddff19d75aef4758b33d391081f77da"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 30 17:08:48 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 30 17:08:48 2014 -0400"
      },
      "message": "Use XyzResult structs and Extract methods.\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": "b18fc106bf4b9989b27f5210c656e0f38cfeb481",
      "tree": "ac8fd01e8086b45c2327f4d8fe30adda12ecf5d4",
      "parents": [
        "83ac13d3c4de8bcbd933b6912f84551486e61730"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 30 15:26:01 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 30 15:26:01 2014 -0400"
      },
      "message": "Use the global MaybeString function.\n"
    },
    {
      "commit": "397c78bb549e5c3ab7e24400e7e5c48ae53df209",
      "tree": "371d7644e0218abcb21674f02e87c95af90128b7",
      "parents": [
        "501b4f372192f3041cc50d74a57d36ba18175ccf"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 15:19:14 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 15:19:14 2014 -0400"
      },
      "message": "Rename ListPage to ServerPage.\n"
    },
    {
      "commit": "501b4f372192f3041cc50d74a57d36ba18175ccf",
      "tree": "599024ed61e941d6e5300429127670555a1627e5",
      "parents": [
        "31f6bde79ef496d9c9cec22335ec0c2370833c76"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 15:16:02 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 15:16:02 2014 -0400"
      },
      "message": "Rename ListPage to ImagePage.\n"
    },
    {
      "commit": "31f6bde79ef496d9c9cec22335ec0c2370833c76",
      "tree": "74c780dba1fb4f0246fde6f1c440c1dfdc8eccac",
      "parents": [
        "0d2c242edd855113f6ac5615254f8029ca59e9c5"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 14:52:12 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 15:00:43 2014 -0400"
      },
      "message": "Rename getFooURL to fooURL.\n"
    },
    {
      "commit": "0d2c242edd855113f6ac5615254f8029ca59e9c5",
      "tree": "2be391ef6720d9200750bf5944ecc3a51461b21e",
      "parents": [
        "89734d05df95da9f5d6b57af3863ae03c1a7034c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 14:50:45 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 14:50:45 2014 -0400"
      },
      "message": "Rename ListPage to FlavorPage.\n\nAlso, move it into results.go.\n"
    },
    {
      "commit": "71ff2fe02081f0b03155f76c23b45bb249f25ef0",
      "tree": "57f10d0eadbf744ce9678fb9de305470e1fcdfd6",
      "parents": [
        "7aca3cb86f97a291267077b42e1e48bb82c6b747"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 13:39:27 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 13:39:27 2014 -0400"
      },
      "message": "Use links for images and servers, too.\n"
    },
    {
      "commit": "7aca3cb86f97a291267077b42e1e48bb82c6b747",
      "tree": "901a45ed0fb24150f15338a318120ae98e850c54",
      "parents": [
        "f57381e3abf693028ef13cdd87f1a05f63689e02"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 13:31:20 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 13:31:20 2014 -0400"
      },
      "message": "Use links to page Flavors, not marker.\n"
    },
    {
      "commit": "f57381e3abf693028ef13cdd87f1a05f63689e02",
      "tree": "79e53cb03d164919bb376570c7256bdfb20dd995",
      "parents": [
        "fc55c8260b6c2073e5ecb448f3863b8aeb02b85f"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 13:21:34 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 13:21:34 2014 -0400"
      },
      "message": "Right, that\u0027s a smarter way to share a method.\n"
    },
    {
      "commit": "fc55c8260b6c2073e5ecb448f3863b8aeb02b85f",
      "tree": "7996af6d607935f18ecd32f7db0d052e10d24f7e",
      "parents": [
        "d27e0ff565e45fb6a3bdf49687f2088db7fc3c31"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 13:18:16 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 13:18:16 2014 -0400"
      },
      "message": "LinkedPageBase follows a LinkPath element.\n"
    },
    {
      "commit": "d27e0ff565e45fb6a3bdf49687f2088db7fc3c31",
      "tree": "7fb140142b4535b8c2633c68d421ad31b7d7d7a5",
      "parents": [
        "d2f8703428c4973c9720cd4d2ff154aad1061fc2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 11:50:31 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 11:50:31 2014 -0400"
      },
      "message": "Use result structs for server requests.\n"
    },
    {
      "commit": "d2f8703428c4973c9720cd4d2ff154aad1061fc2",
      "tree": "08193b8dbcf0fa44132bb8ebc1bba8685c02579d",
      "parents": [
        "8a8b86f72f0dabce47ef86c96846a9117eebf847"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 11:34:41 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 11:34:41 2014 -0400"
      },
      "message": "Use CommonResult for images.\n"
    },
    {
      "commit": "8a8b86f72f0dabce47ef86c96846a9117eebf847",
      "tree": "e431da20b47c489a1edc4c9e82f0f29523e5c130",
      "parents": [
        "8deb38c695f57558b090c7306c87ee52c14fdaa5"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 11:26:51 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 11:26:51 2014 -0400"
      },
      "message": "Use CommonResult in flavors.\n"
    },
    {
      "commit": "8deb38c695f57558b090c7306c87ee52c14fdaa5",
      "tree": "7d5b275c3b8582dfcf9b8e1981807a003f69e3da",
      "parents": [
        "e2bffd5cde2deda20ac409ba8b949473fc8ebdbd"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 11:11:53 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 11:11:53 2014 -0400"
      },
      "message": "Test RevertResize.\n"
    },
    {
      "commit": "e2bffd5cde2deda20ac409ba8b949473fc8ebdbd",
      "tree": "571e7614bebbc7ca00d6f4062f2301e8ae552e40",
      "parents": [
        "45181f48680d01a51b2d2970f429a5f9725f4f5b"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 11:11:43 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 11:11:43 2014 -0400"
      },
      "message": "Test ConfirmResize.\n"
    },
    {
      "commit": "45181f48680d01a51b2d2970f429a5f9725f4f5b",
      "tree": "0836b8f54a6fbf3d962ebb99083ab832f70f213f",
      "parents": [
        "077f8779692e236a113bd6d0006deba64dc87ca1"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 11:00:16 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 11:00:16 2014 -0400"
      },
      "message": "Test the Resize call.\n"
    },
    {
      "commit": "077f8779692e236a113bd6d0006deba64dc87ca1",
      "tree": "6675a258e9f5e7139783b51ae2377ecbc8d811d9",
      "parents": [
        "8d368e93ebde225a8805766c551fb660329c4d80"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:57:13 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:57:13 2014 -0400"
      },
      "message": "Reboot action test.\n"
    },
    {
      "commit": "8d368e93ebde225a8805766c551fb660329c4d80",
      "tree": "2f377485dc6740b7ab7789f379b0dba91708740d",
      "parents": [
        "fb99ec77e9b17ecb9d030505913823c62d7e6d8d"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:49:07 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:49:07 2014 -0400"
      },
      "message": "Reboot action test.\n"
    },
    {
      "commit": "fb99ec77e9b17ecb9d030505913823c62d7e6d8d",
      "tree": "60871e680d7bd9bb816c72939d8100e81eab230c",
      "parents": [
        "0aac3a8fe718b4db62f458580a18d86aa38f779b"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:48:51 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:48:51 2014 -0400"
      },
      "message": "ChangeAdminPassword test.\n"
    },
    {
      "commit": "0aac3a8fe718b4db62f458580a18d86aa38f779b",
      "tree": "8642c02439712cc39753e03b111b7474d609688a",
      "parents": [
        "a612f1fbfc715240606a1bb67e9a4388cf35bca2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:45:03 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:45:03 2014 -0400"
      },
      "message": "servers.Update test case.\n"
    },
    {
      "commit": "a612f1fbfc715240606a1bb67e9a4388cf35bca2",
      "tree": "b07188ab7d488bc1f1472d54e5160efd03806ed4",
      "parents": [
        "aff3627f914aad43c1f048133ec99c1acca11b4a"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:42:40 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:42:40 2014 -0400"
      },
      "message": "Test the Get call.\n"
    },
    {
      "commit": "aff3627f914aad43c1f048133ec99c1acca11b4a",
      "tree": "8ed1e9a3b58d3146a3d7ee422ae70f263fcdc545",
      "parents": [
        "3204d0da758633e2a62582ac205002cf9b5fa9e9"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:40:05 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:40:05 2014 -0400"
      },
      "message": "Server deletion test.\n"
    },
    {
      "commit": "3204d0da758633e2a62582ac205002cf9b5fa9e9",
      "tree": "9363b31809271f5be86fd68050363eaa3a698b34",
      "parents": [
        "ad21c7121402f75a6f14a67a8291b80e6da3dfe1"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:37:44 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:37:44 2014 -0400"
      },
      "message": "Server creation test.\n"
    },
    {
      "commit": "ad21c7121402f75a6f14a67a8291b80e6da3dfe1",
      "tree": "6efa56aff09aed66ac75e046709bcf61c44f062e",
      "parents": [
        "4b54884824f2c3e444d548c3f74e0ba838aef282"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:15:22 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 10:15:22 2014 -0400"
      },
      "message": "Test servers.List.\n"
    },
    {
      "commit": "4b54884824f2c3e444d548c3f74e0ba838aef282",
      "tree": "5e8c0213bbc292bb8c5b1b24b4ec33bdc752927e",
      "parents": [
        "faf006d79af5a4010baa970532d11a7657f7d975"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 08:58:02 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Thu Sep 25 08:58:02 2014 -0400"
      },
      "message": "Test images.Get.\n"
    },
    {
      "commit": "faf006d79af5a4010baa970532d11a7657f7d975",
      "tree": "2a02ee76005cb15ccf282a993db5ad9ad0e725e6",
      "parents": [
        "b60b38c57df9a6609ff28101b74b64ae28c074bb"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 24 17:10:58 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 24 17:10:58 2014 -0400"
      },
      "message": "images.List test case.\n"
    },
    {
      "commit": "b60b38c57df9a6609ff28101b74b64ae28c074bb",
      "tree": "3bbed5f43874b6c7a832514b050c92dd7087da1b",
      "parents": [
        "ae60961470c672444e9ab83a42b1ef849edfbdff"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 24 15:07:35 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 24 15:07:35 2014 -0400"
      },
      "message": "Add a flavors.Get test.\n"
    },
    {
      "commit": "ae60961470c672444e9ab83a42b1ef849edfbdff",
      "tree": "5129cd16648668f1ea0b13f16a9fd2f23f38e6e8",
      "parents": [
        "32be7e184dcafb050b960bb3eee5b6c954d62317"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 24 14:48:30 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 24 14:48:30 2014 -0400"
      },
      "message": "Add flavors_links to the List result.\n"
    },
    {
      "commit": "32be7e184dcafb050b960bb3eee5b6c954d62317",
      "tree": "c09103ace98acf7523fd902cb898831f684af947",
      "parents": [
        "ebc3d127c5390a4190cc8489cb2f5cbd68dfa811"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 24 14:47:47 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 24 14:47:47 2014 -0400"
      },
      "message": "Unit test flavors.List().\n"
    },
    {
      "commit": "ebc3d127c5390a4190cc8489cb2f5cbd68dfa811",
      "tree": "fc10214239e644267e5ad47867533dde9c421f5d",
      "parents": [
        "dc7daa837ec2bde984abf96d1962986ee17e8aae",
        "a96073165a75924461ca330b511fd1b0c2b9b681"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 24 13:44:05 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 24 13:44:05 2014 -0400"
      },
      "message": "Merge remote-tracking branch \u0027upstream/v0.2.0\u0027 into paginate-compute\n\nConflicts:\n\topenstack/client.go\n"
    },
    {
      "commit": "f311483c7eaadd2afd4eec192eb6a488844eaed4",
      "tree": "f0cf6fdf870ad40168146a3bbea780a5fc37577d",
      "parents": [
        "6abf928a6d54989347b5dcfeae61914ca5425a92"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 11:00:43 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 11:00:43 2014 +0200"
      },
      "message": "Adding struct documentation\n"
    },
    {
      "commit": "6abf928a6d54989347b5dcfeae61914ca5425a92",
      "tree": "8ef45753497abddc4ff1f7a4edcc2496b25e2fb7",
      "parents": [
        "d903642c1e975bae5e0b545f6087569e5cd1e73a"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:54:13 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:54:13 2014 +0200"
      },
      "message": "Moving MaybeString to root package\n"
    },
    {
      "commit": "d903642c1e975bae5e0b545f6087569e5cd1e73a",
      "tree": "c4c944854e7735dead636984a2dc2a4e375a05d5",
      "parents": [
        "f2835409680f4c4be8544bfe895920e6d8fa561d"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 23 17:50:24 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:56 2014 +0200"
      },
      "message": "Introducing new FooResult idiom :shipit:\n"
    },
    {
      "commit": "f2835409680f4c4be8544bfe895920e6d8fa561d",
      "tree": "bcc3b1ebcb81cc6bf95bebde6cff37df3bd5a16a",
      "parents": [
        "686c496d384b7dea1f71fef01b6e96678ffe9f90"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 23 11:01:21 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:56 2014 +0200"
      },
      "message": "Removed all extension functionality from core package\n"
    },
    {
      "commit": "686c496d384b7dea1f71fef01b6e96678ffe9f90",
      "tree": "faec040a3ca555922ece04561b13ff4cf370b6cb",
      "parents": [
        "5e45ccb532ad55377397308ba8a4306196e6c843"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 23 10:46:20 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:56 2014 +0200"
      },
      "message": "Finishing documentation\n"
    },
    {
      "commit": "965ae7029ab18ff4245af0e273a64c22babf8097",
      "tree": "8b6e0cf11562cd8f77d9ebf6479f4364a72e16af",
      "parents": [
        "d0f090c68c85ae196e7770ed49426eb682f71c23"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 22 14:58:19 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:56 2014 +0200"
      },
      "message": "Modifying opts and model structs with stricter types\n"
    },
    {
      "commit": "d0f090c68c85ae196e7770ed49426eb682f71c23",
      "tree": "f44b28043e069fe157bb0a696b563ce722ce74ed",
      "parents": [
        "c65e192081f65d1fcbae13759a9b7241046d802d"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 22 13:44:34 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:56 2014 +0200"
      },
      "message": "Adding sort_key and sort_dir query params\n"
    },
    {
      "commit": "c65e192081f65d1fcbae13759a9b7241046d802d",
      "tree": "10e4379abb923784c28374b187acebb8a34afd56",
      "parents": [
        "d9961b3c7ae63728c9a23929843d5abc98b841b2"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 22 13:20:58 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:56 2014 +0200"
      },
      "message": "Starting documentation and privatising unnecessary exports\n"
    },
    {
      "commit": "2a0492a2e0a939b1d1e5eda76414199b20413473",
      "tree": "2f46dae5aa4029ed096d566b9394f4acc4e4d01e",
      "parents": [
        "d444b7ad3c7318832c6d64b838affe8ec510384a"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 22 12:02:11 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "All acceptance/unit tests pass :raised_hands:\n"
    },
    {
      "commit": "d444b7ad3c7318832c6d64b838affe8ec510384a",
      "tree": "7990956ef9ad8c3cd850ab652d8c901a00ca2fe9",
      "parents": [
        "a5fb782cd39862916d6b95a612a0023b96de141d"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri Sep 19 15:08:27 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Adding delete subnet operation\n"
    },
    {
      "commit": "a5fb782cd39862916d6b95a612a0023b96de141d",
      "tree": "34e7d7ce1e26dc20a74e2c235dee6d75034fc8d4",
      "parents": [
        "a311f18dc246ac4607747cfaf36dbbc48c6cab2c"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri Sep 19 15:07:02 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Adding update port operation\n"
    },
    {
      "commit": "a311f18dc246ac4607747cfaf36dbbc48c6cab2c",
      "tree": "24eaa371eb14a6cbc1c2fc25b148402fb3eb8f53",
      "parents": [
        "548d340002fb01565c39bb07d9af73d0e920f4f4"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Fri Sep 19 11:19:10 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Adding get port operation\n"
    },
    {
      "commit": "548d340002fb01565c39bb07d9af73d0e920f4f4",
      "tree": "33209022f5824fea95f30a4f98d94aef8ab79bb0",
      "parents": [
        "f84171d19da9d298e635528d46ddb9068c7b71b0"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Sep 18 15:50:08 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Adding list ports operation\n"
    },
    {
      "commit": "f84171d19da9d298e635528d46ddb9068c7b71b0",
      "tree": "7ba881384a4dbe1d43d27e20a7ad01b021210cc6",
      "parents": [
        "d11e20cd44ded8b4dd7d2a179a5805541aa88f06"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Sep 18 14:00:01 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Finalizing acceptance tests for subnets\n"
    },
    {
      "commit": "d11e20cd44ded8b4dd7d2a179a5805541aa88f06",
      "tree": "71331158795087fd33273a0b07eabf95d503d197",
      "parents": [
        "6363143f3bf4a3e4c81a950a5e935e8dd9b7e2b4"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Sep 18 12:03:01 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Add update and delete subnet operations :cool:\n"
    },
    {
      "commit": "6363143f3bf4a3e4c81a950a5e935e8dd9b7e2b4",
      "tree": "2bbf68aa34d01fb7c911a8d7f38ef52c580c050b",
      "parents": [
        "0708c0078a83a8d20ca2dea9808016ed22914e22"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Sep 18 11:40:09 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Add create subnet operation\n"
    },
    {
      "commit": "0708c0078a83a8d20ca2dea9808016ed22914e22",
      "tree": "8c612e81f2229e73d41dd04be8a1772c900704af",
      "parents": [
        "89f9af2595a89698efa3704773e924523e81370d"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 17 16:08:49 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Adding list and get operations for subnets\n"
    },
    {
      "commit": "89f9af2595a89698efa3704773e924523e81370d",
      "tree": "97359b72e03e7ba7045e04a3b0cdb343aa14ed6f",
      "parents": [
        "f0c615b4c39d8807894051af2ec825ac9e15a307"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 17 12:21:48 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Starting subnets\n"
    },
    {
      "commit": "f0c615b4c39d8807894051af2ec825ac9e15a307",
      "tree": "d34bdbe13fe1e8c6505beca665895384c0be24b1",
      "parents": [
        "4721abc4950cedd5bfa817a7cd779b6de3a8b9b2"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 17 10:56:52 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Moving network v2 to new(est) pagination idiom\n"
    },
    {
      "commit": "4721abc4950cedd5bfa817a7cd779b6de3a8b9b2",
      "tree": "e2f5f64f6bdcf7b220cb313f86ec8ee14aee3058",
      "parents": [
        "1ce30f2d820649d2859c01626215824af0e09a39"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 16 16:29:04 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Shuffled resources into sub-packages and upgraded to new pagination idiom\n"
    },
    {
      "commit": "1ce30f2d820649d2859c01626215824af0e09a39",
      "tree": "e08600e494b0847988ac8bf814a301fdca6ed3d8",
      "parents": [
        "a13f067ecabe838a2e667d39c9f449b535e50d55"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 16 11:23:34 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Moving extensions and API versions into different sub-packages; fixing test helper methods\n"
    },
    {
      "commit": "a13f067ecabe838a2e667d39c9f449b535e50d55",
      "tree": "a72251fca71ab507e41d01bb3c4323a2d8bf5996",
      "parents": [
        "b859cfa415e56fa2d42839b83f86f49b1aecab60"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 16 10:59:06 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:55 2014 +0200"
      },
      "message": "Refactoring tests to use helper funcs :ok_hand:\n"
    },
    {
      "commit": "b859cfa415e56fa2d42839b83f86f49b1aecab60",
      "tree": "fd39c587e32de877f7b97009829e52f3023fd1dc",
      "parents": [
        "794750515a346e93f03ac85a379b2b86330d8f61"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Tue Sep 16 10:46:11 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:54 2014 +0200"
      },
      "message": "Adding tests for delete network\n"
    },
    {
      "commit": "794750515a346e93f03ac85a379b2b86330d8f61",
      "tree": "8cfe04d767c45c90c06c21dcca65be1b417567f9",
      "parents": [
        "d2d9f563391e987bb84f9872c74b019d964bfa8d"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 17:08:06 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:54 2014 +0200"
      },
      "message": "Making return types more consistent :boom:\n"
    },
    {
      "commit": "d2d9f563391e987bb84f9872c74b019d964bfa8d",
      "tree": "71a56d10bc2e44c500c44a35ddc154d07aab545b",
      "parents": [
        "d01a3c76ee1340b99396f864324369dc3b813d9c"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 15:35:07 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:54 2014 +0200"
      },
      "message": "Adding create network operation\n"
    },
    {
      "commit": "d01a3c76ee1340b99396f864324369dc3b813d9c",
      "tree": "ba2dcfc01b23e2339586849f8583595d77a755b1",
      "parents": [
        "12bc247cbc95dede62efc902f5e661de08553217"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 12:51:00 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:54 2014 +0200"
      },
      "message": "Adding get network operation\n"
    },
    {
      "commit": "12bc247cbc95dede62efc902f5e661de08553217",
      "tree": "005f59ab6ea5278603295eee49158f321479076b",
      "parents": [
        "f14d4569a520f787d8c328ce182102f1c34c2735"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Mon Sep 15 12:14:31 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:54 2014 +0200"
      },
      "message": "Adding get extension operation\n"
    },
    {
      "commit": "f14d4569a520f787d8c328ce182102f1c34c2735",
      "tree": "23a84774a7c31ede4e123fa2bb52d6a8fdfc6c00",
      "parents": [
        "7ea2958df6b97816789c5887a86f51b79ebad421"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Sep 11 17:46:18 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:54 2014 +0200"
      },
      "message": "Adding API resource operation\n"
    },
    {
      "commit": "7ea2958df6b97816789c5887a86f51b79ebad421",
      "tree": "b709d6dc855d816e7ba4d4fcc3aef7872baa82bc",
      "parents": [
        "01e1492193f46cd211d91f417ed2d6ad88f085ec"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Sep 11 15:49:46 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:54 2014 +0200"
      },
      "message": "Fixes to client setup and build tags\n"
    },
    {
      "commit": "01e1492193f46cd211d91f417ed2d6ad88f085ec",
      "tree": "30c8fc16b53611c3b7b5dca3357d79ddc01f692a",
      "parents": [
        "6250ff2b2915696a6166648aec61c46b6a729f32"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Sep 11 15:23:49 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:54 2014 +0200"
      },
      "message": "Adding ListAPIVersions operation\n"
    },
    {
      "commit": "a7f671aa58048c7866cac64b30b953842dfc0ed8",
      "tree": "9e4f6019368461caaf1162d8b86ecfb2fc56c196",
      "parents": [
        "6e3d566746e555b2cffcdf886b65b3df203ed527"
      ],
      "author": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Thu Sep 11 10:25:08 2014 +0200"
      },
      "committer": {
        "name": "Jamie Hannaford",
        "email": "jamie.hannaford@rackspace.com",
        "time": "Wed Sep 24 10:38:54 2014 +0200"
      },
      "message": "Rename v2_0 and add remaining boilerplate\n"
    },
    {
      "commit": "dc7daa837ec2bde984abf96d1962986ee17e8aae",
      "tree": "5cbc215736a8d496a3dc7086e0d2166fbb8ab858",
      "parents": [
        "fd56648469b4150e88a5c49759f5beae12f9a86b"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 23 16:34:42 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 23 16:34:42 2014 -0400"
      },
      "message": "Clarify which statuses are reached at which points.\n"
    },
    {
      "commit": "7ddf036bc52339f9e054c383ff73227260910af0",
      "tree": "0e1fb285d6aeb28b8e678e7a9906f4f783d3f277",
      "parents": [
        "122593968ac5776cdf0abe33fcd961563e464b32"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 10:59:09 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:47 2014 -0400"
      },
      "message": "Implement images.Get(). Image tests now pass.\n"
    },
    {
      "commit": "122593968ac5776cdf0abe33fcd961563e464b32",
      "tree": "b54f095e900700c48e8a7fe81a4d52123878fa7e",
      "parents": [
        "fd043791f18638d73d865ddb485e44e1d85cabf2"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 10:50:02 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:47 2014 -0400"
      },
      "message": "The server test passes again.\n"
    },
    {
      "commit": "fd043791f18638d73d865ddb485e44e1d85cabf2",
      "tree": "2724610487a52b5c8fe56d2b7bdaadcb0c7468cd",
      "parents": [
        "01626a3deba7dad63d6862f3963926874e5fdbfc"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 10:40:17 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:47 2014 -0400"
      },
      "message": "Rename ListResult(s) to ListPage.\n"
    },
    {
      "commit": "01626a3deba7dad63d6862f3963926874e5fdbfc",
      "tree": "aa25533399fb334403d114ba0b7441b4b51294f0",
      "parents": [
        "9ccf9b6fe080bfa6cae51035dc1a4b8c0c9d478f"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 10:38:07 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:47 2014 -0400"
      },
      "message": "Use clients and pagination for Servers, too.\n\nWhew.\n"
    },
    {
      "commit": "9ccf9b6fe080bfa6cae51035dc1a4b8c0c9d478f",
      "tree": "be7163c1dc414067367fb12f20d3cb482f132af8",
      "parents": [
        "16e75eff15e4f6e17e45cb9a833bc71e9c7bb1e0"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 10:07:52 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:47 2014 -0400"
      },
      "message": "Ditto for Images.\n\nI\u0027m guessing that the images service also uses marker-and-limit pagination. I\u0027ll have to\ncheck when I\u0027m less :airplane:.\n"
    },
    {
      "commit": "16e75eff15e4f6e17e45cb9a833bc71e9c7bb1e0",
      "tree": "3f38e9eedb1fb768dd1213eca073206d95b3e6f1",
      "parents": [
        "5e57c1be44e3e7d61cf0cfcfedaa8b8ad3088eb4"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 09:54:57 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:47 2014 -0400"
      },
      "message": "Use ServiceClient and pagination in Flavor operations.\n"
    },
    {
      "commit": "5e57c1be44e3e7d61cf0cfcfedaa8b8ad3088eb4",
      "tree": "78335101729517c31af38c289beed2b288292549",
      "parents": [
        "41cfcdcc023e5c0aebcdeb8ad338663dad402cc8"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 09:24:46 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 17 21:14:46 2014 -0400"
      },
      "message": "Create an Openstack Compute client.\n"
    },
    {
      "commit": "ca6f75642cd3d8794715ed4287b5cdab9c542083",
      "tree": "2016f34bd8aadfedb6da061ee976341ee895e37d",
      "parents": [
        "da7c09f6dc8111a8c4360d5c0ca146366799d837"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:43:54 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:43:54 2014 -0400"
      },
      "message": "Paginate the objects.List call.\n"
    },
    {
      "commit": "0faafccfa6b3dedc3a200450fe3dac987877d825",
      "tree": "8aef2220d4b021ca53cdba81a7a0d24f34680a96",
      "parents": [
        "a74024709d4c44521fa069196409b10f70362177"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:20:17 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 15:20:17 2014 -0400"
      },
      "message": "Paginate the results of containers.List().\n"
    },
    {
      "commit": "cd95a0c9154d011610dbed0d56bb2eb3390bf232",
      "tree": "97785003d330be1af87071cf5d17d31d1f56102e",
      "parents": [
        "7049af4c36bdbfeb38ab4cb1a41bb5d28ed23b6c"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 13:07:31 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 13:07:31 2014 -0400"
      },
      "message": "Adjust callers again.\n"
    },
    {
      "commit": "3c8cc77770c9e8798c0dee7a17f9f93145db52db",
      "tree": "6ec582caa65ddf573ff6262098657c8b723bb568",
      "parents": [
        "c8e68871919567d3a36145a3acf58d9cb636b6cc"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 11:40:49 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Tue Sep 16 11:40:49 2014 -0400"
      },
      "message": "Change identity endpoints and services.\n"
    },
    {
      "commit": "ab6be617dbe22e66124bda2381fb09725b09d51b",
      "tree": "36c538923f7123d8a96e983945b3fdd0e2f18261",
      "parents": [
        "5a25f5482718530716918b56d1b6d4b716179c95"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 15:51:22 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 15:51:22 2014 -0400"
      },
      "message": "Adjust callers to match.\n"
    },
    {
      "commit": "152d75a1a694e9d1387493a9a13a52b7d3a8c5af",
      "tree": "8808dfc265bc368d6e50c3c25c1dffb6919eb21c",
      "parents": [
        "4bf4fac974d521f2ddf63c30cd07bd79f37d355d"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 09:35:03 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Remove the closures from the New.*Pager calls.\n"
    },
    {
      "commit": "6b35e50127d2165e4ee304ba4dccd122697e8a35",
      "tree": "b2c5edbc8fe40a3621230b85e5bd768f89b8951f",
      "parents": [
        "566613ec83571bf1089c3e9c563f80f63b22a951"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 15:15:23 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Add an error return to the EachPage closure.\n\nBecause the Extract functions, at the very least, have an error parameter, and it\u0027s\nkind of a pain to capture it outside the closure.\n"
    },
    {
      "commit": "566613ec83571bf1089c3e9c563f80f63b22a951",
      "tree": "e2e108b89ff985fa5ecfce892f5860cdf4b8079e",
      "parents": [
        "6269f2541b3fc4a1a524fd513ba80225ed5a6a16"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 14:51:46 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Consume the new pagination in openstack.Client.\n"
    },
    {
      "commit": "6269f2541b3fc4a1a524fd513ba80225ed5a6a16",
      "tree": "836fb43fe59ce7832b7b240ae5bad1068ba958b0",
      "parents": [
        "bddac13953144d485a90e4f9cba9d2bb9ed37f70"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 14:33:56 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Repaginate the identity/3/endpoints resource.\n"
    },
    {
      "commit": "bddac13953144d485a90e4f9cba9d2bb9ed37f70",
      "tree": "f56309610e78bd780e62bd40cad0586693079d06",
      "parents": [
        "583dc733f5e4657df30fe768ae8110aa67ed177d"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Fri Sep 12 14:20:16 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Mon Sep 15 10:11:07 2014 -0400"
      },
      "message": "Use the new pagination in identity/3/services.\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": "aca58d888f934b56b877702e7f58e771c1c53468",
      "tree": "8e1f8cc401d31031065c7f8ecc373c003e71ffe4",
      "parents": [
        "d88f32ba5655e93f9e2eb8848e61b245edb98ca6"
      ],
      "author": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 17:00:35 2014 -0400"
      },
      "committer": {
        "name": "Ash Wilson",
        "email": "smashwilson@gmail.com",
        "time": "Wed Sep 10 17:00:35 2014 -0400"
      },
      "message": "Normalize endpoint URLs during endpoint location.\n\nRefactor URL normalization into a private function.\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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    }
  ],
  "next": "8e434bf2cd3ee0b80df13cd3cd13682ab18335bc"
}
