)]}'
{
  "log": [
    {
      "commit": "2a56ce5ecdb039c43da66855fabbcabfd211781d",
      "tree": "d73deb76bc8a3e133923277f645cec3eb80b5860",
      "parents": [
        "5ff90fcd16b28eefdac5cbbb29f8e2b214ba108e"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Mon Feb 09 12:16:03 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Mon Feb 09 12:16:03 2015 -0500"
      },
      "message": "site admins can add user\u0027s at sites where they have the \u0027admin\u0027 role\n"
    },
    {
      "commit": "5ff90fcd16b28eefdac5cbbb29f8e2b214ba108e",
      "tree": "924e84e1a2dec0737304dbf390de3783d510f555",
      "parents": [
        "6d0b0b39365f408b93538d0f203178e33ca98d53"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Sun Feb 08 21:38:41 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Sun Feb 08 21:38:41 2015 -0500"
      },
      "message": "refactor object write permissions\n"
    },
    {
      "commit": "6d0b0b39365f408b93538d0f203178e33ca98d53",
      "tree": "f342965d7ae74e5c6a032df49d5f28d11190d193",
      "parents": [
        "2192fecfd43a4d05bcd73d58767b6f4ad3eeb1e3"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Sun Feb 08 14:07:14 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Sun Feb 08 14:07:14 2015 -0500"
      },
      "message": "Users can see all sites and site deployments by default\n"
    },
    {
      "commit": "2192fecfd43a4d05bcd73d58767b6f4ad3eeb1e3",
      "tree": "93bba8129a95f7bc8516f37a15da0cbbb10c930e",
      "parents": [
        "709bebd55bf2c5a5c120d77796981a0a28f264d3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sun Feb 08 06:36:32 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sun Feb 08 06:36:32 2015 +0000"
      },
      "message": "Eliminate duplicate parts of backend_status messages\n"
    },
    {
      "commit": "709bebd55bf2c5a5c120d77796981a0a28f264d3",
      "tree": "3ee208e91a16fd7600f299f1d5cb22b47df66244",
      "parents": [
        "2175c1dec26ffcb0d73be509eb1e3577cd1b3dec"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sun Feb 08 06:35:36 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sun Feb 08 06:35:36 2015 +0000"
      },
      "message": "Link backend dependencies to references. Resolves #20.\n"
    },
    {
      "commit": "2175c1dec26ffcb0d73be509eb1e3577cd1b3dec",
      "tree": "0b866fa34b95321b5ebc3980ed8a34bd08814f3a",
      "parents": [
        "bb45dbe4cc3732554684579da3b1f838c925eb0c"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sun Feb 08 06:31:42 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sun Feb 08 06:31:42 2015 +0000"
      },
      "message": "Accumulate failure messages if they occur again\n"
    },
    {
      "commit": "bb45dbe4cc3732554684579da3b1f838c925eb0c",
      "tree": "b634f5552ce9818941509cfeb304213901f0ba4a",
      "parents": [
        "8474395e9fd462c726cb7ed5874f60cd75d48512"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sun Feb 08 06:31:10 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Sun Feb 08 06:31:10 2015 +0000"
      },
      "message": "Stick to conventions\n"
    },
    {
      "commit": "ca78dc440a056507c973f9ae68449635b2176895",
      "tree": "2947266d07997a4a3b0b7f31ece3a32bea1901ea",
      "parents": [
        "bae813493113124279e92e62175dea757a37cd4e"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Feb 06 17:05:17 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Feb 06 17:05:17 2015 -0800"
      },
      "message": "tool to create a minimally-populated database\n"
    },
    {
      "commit": "bae813493113124279e92e62175dea757a37cd4e",
      "tree": "ef829005f1dcfa939b0fe5b6eb9597120b44431b",
      "parents": [
        "3a96c5404b3b6884876b186a0c41835715d855f4",
        "c8d77f5b8a15eb4f6171a496d4be2a872188749d"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Feb 06 16:29:10 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Feb 06 16:29:10 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:open-cloud/xos\n"
    },
    {
      "commit": "3a96c5404b3b6884876b186a0c41835715d855f4",
      "tree": "f2ab88f82beff4d6d230d736730c8fc5545a87a4",
      "parents": [
        "85b98e77deefb4c552e740ea7a0cda8cf48b83ba"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Feb 06 16:26:04 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Feb 06 16:26:04 2015 -0800"
      },
      "message": "run development server in --insecure mode otherwise DEBUG\u003dFalse will not fetch static files\n"
    },
    {
      "commit": "3704434cda4826b5c032264603dad51e0d3dc25d",
      "tree": "161e6c482a56afff5def81583487bb4d737f5efe",
      "parents": [
        "85b98e77deefb4c552e740ea7a0cda8cf48b83ba"
      ],
      "author": {
        "name": "Andy Bavier",
        "email": "acb@cs.princeton.edu",
        "time": "Fri Feb 06 16:39:06 2015 -0500"
      },
      "committer": {
        "name": "Andy Bavier",
        "email": "acb@cs.princeton.edu",
        "time": "Fri Feb 06 16:39:06 2015 -0500"
      },
      "message": "Docker support\n"
    },
    {
      "commit": "85b98e77deefb4c552e740ea7a0cda8cf48b83ba",
      "tree": "1a23823261dc8530d8ebaadaa91c562c2f60d74b",
      "parents": [
        "9ff8507ef61767cc74d48473b8697319b3ab1a6b"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Feb 06 00:11:10 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Feb 06 00:11:10 2015 -0800"
      },
      "message": "increase backend_status length, fix order of model imports\n"
    },
    {
      "commit": "9ff8507ef61767cc74d48473b8697319b3ab1a6b",
      "tree": "a91f67d6678aca324e6c8566d1950d72b34142a5",
      "parents": [
        "ab7e66fa9bee99ec8d7fb9ed9a0f436d56991f7e"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Feb 05 22:34:52 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Feb 05 22:34:52 2015 -0800"
      },
      "message": "permission fix\n"
    },
    {
      "commit": "ab7e66fa9bee99ec8d7fb9ed9a0f436d56991f7e",
      "tree": "04d13acbcadff09d0876af44b039f9fb755a6213",
      "parents": [
        "bb8854462648efdced926acf31c30c8953b69360",
        "705e88f9541c750a1cde3a5c58c69e064a5c0a36"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Feb 05 09:21:13 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Feb 05 09:21:13 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:open-cloud/xos\n"
    },
    {
      "commit": "bb8854462648efdced926acf31c30c8953b69360",
      "tree": "2ad69b252e6fb6012c626cd9a26beff1cd57480e",
      "parents": [
        "1300726d0724557cd588a8f2f1a56733b429e871"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Feb 05 09:19:25 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Feb 05 09:19:25 2015 -0800"
      },
      "message": "set ALLOWED_HOSTS to [\u0027*\u0027]\n"
    },
    {
      "commit": "705e88f9541c750a1cde3a5c58c69e064a5c0a36",
      "tree": "9297b40d5c9a8d0636f9e44383a5c10ad28dce5a",
      "parents": [
        "d893dfbb612ef8ff81d349c58840bd5997c36b43"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Thu Feb 05 11:13:35 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Thu Feb 05 11:13:35 2015 -0500"
      },
      "message": "set DEBUG\u003dFalse\n"
    },
    {
      "commit": "d893dfbb612ef8ff81d349c58840bd5997c36b43",
      "tree": "f68d9d3f355d2136d29eece38660d68205a078a8",
      "parents": [
        "1300726d0724557cd588a8f2f1a56733b429e871"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Thu Feb 05 06:13:04 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Thu Feb 05 06:13:45 2015 -0500"
      },
      "message": "update object write permissions\n"
    },
    {
      "commit": "ae82fca0bf70e31bad4436c3af17c09b497704af",
      "tree": "ee13cd773168ed9cf09013d02d1e41ddfb69f1c4",
      "parents": [
        "d9b6353e2d2c17b9e822cd9605851f6f695c0b2d"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 23:32:06 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 23:32:06 2015 -0800"
      },
      "message": "rename /opt/planetstack -\u003e /opt/xos\n"
    },
    {
      "commit": "d9b6353e2d2c17b9e822cd9605851f6f695c0b2d",
      "tree": "78afe92ce6eb4fea716819301c0fde2548ee27b8",
      "parents": [
        "596397cc2caafd620593bb3dbf47f5112b4923f7"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 23:30:19 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 23:30:19 2015 -0800"
      },
      "message": "fixing up the EC2 observer\n"
    },
    {
      "commit": "596397cc2caafd620593bb3dbf47f5112b4923f7",
      "tree": "780d2bc2b783f7f5b0c84652f624ec4f270b3245",
      "parents": [
        "0c550f72fead5dc7129ba9d25ac1852facbf5913"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 22:47:45 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 22:47:45 2015 -0800"
      },
      "message": "fix all the typos and mistakes\n"
    },
    {
      "commit": "0c550f72fead5dc7129ba9d25ac1852facbf5913",
      "tree": "833ebfaa706068fc064e74dc9afcffb541bb45a8",
      "parents": [
        "1af3d5cb72e825b571dfb41892ab179e39df3a95"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 21:50:08 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 21:50:08 2015 -0800"
      },
      "message": "last minute rename changes\n"
    },
    {
      "commit": "1af3d5cb72e825b571dfb41892ab179e39df3a95",
      "tree": "f0384686b0fdcc8021f3b4c88ef7d5e433ebf54b",
      "parents": [
        "95bc3762f8f3408977da45c962384b123474b007"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 17:07:56 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 17:07:56 2015 -0800"
      },
      "message": "path cleanup in xoslib tools and readme\n"
    },
    {
      "commit": "95bc3762f8f3408977da45c962384b123474b007",
      "tree": "cad5df83b44a85ce5d4b0b07b6db8877587ebf3b",
      "parents": [
        "8b0a1991698a888ecfa8894f2332865c90b251fb"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 17:04:59 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 17:04:59 2015 -0800"
      },
      "message": "remove obsolete comments\n"
    },
    {
      "commit": "8b0a1991698a888ecfa8894f2332865c90b251fb",
      "tree": "3e121b761a7d14a08999a5770fd8042ed6fc4745",
      "parents": [
        "92d9bcf74c2a9148078ff4b4e00be96ff39fc784"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 17:04:11 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 17:04:11 2015 -0800"
      },
      "message": "remove hardcoded path from exception text\n"
    },
    {
      "commit": "92d9bcf74c2a9148078ff4b4e00be96ff39fc784",
      "tree": "d09c06887c2def24c4dc9720052ddd800cb8d980",
      "parents": [
        "bd30b8e81716ed8f84c458d0bf7b54ab4ad2c637"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 17:02:52 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 17:02:52 2015 -0800"
      },
      "message": "remove obsolete comment\n"
    },
    {
      "commit": "bd30b8e81716ed8f84c458d0bf7b54ab4ad2c637",
      "tree": "85f559b1a43000cc338d33961ccd28d93515c392",
      "parents": [
        "d9e012345bfd0ee546bcf82dedecd94741e11fee"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 17:01:38 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 17:01:38 2015 -0800"
      },
      "message": "home dashboard use XOS_DIR instead of hardcoded paths\n"
    },
    {
      "commit": "d9e012345bfd0ee546bcf82dedecd94741e11fee",
      "tree": "d3821d1f8a2d0a9f80f3a5f90520c0886295aa37",
      "parents": [
        "7f9320f765448bc5072aa5218892ef162a8bef99"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:59:45 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:59:45 2015 -0800"
      },
      "message": "openstack_observer use XOS_DIR instead of hardcoded paths\n"
    },
    {
      "commit": "7f9320f765448bc5072aa5218892ef162a8bef99",
      "tree": "197b072e0e4648e268a1094f7fb6b75b7963fe6b",
      "parents": [
        "1c375c98e2aeeba6a9bfa396ebe700b7b530a58f"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:54:10 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:54:10 2015 -0800"
      },
      "message": "get XOS_DIR from config\n"
    },
    {
      "commit": "1c375c98e2aeeba6a9bfa396ebe700b7b530a58f",
      "tree": "a2ecf938d7c0a2462e6b43afa585088d13955d54",
      "parents": [
        "b7a573d1cf2fa70ef2bae82de5a6c88d791ee1a2"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:50:56 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:50:56 2015 -0800"
      },
      "message": "change XOS_ROOT to XOS_DIR\n"
    },
    {
      "commit": "b7a573d1cf2fa70ef2bae82de5a6c88d791ee1a2",
      "tree": "3ed51d71124cc87dd732b986babc3eb3ea295a22",
      "parents": [
        "02b30663efc0192b03843a0c970a4cf05bfca242"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:48:01 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:48:01 2015 -0800"
      },
      "message": "fix wrong path\n"
    },
    {
      "commit": "02b30663efc0192b03843a0c970a4cf05bfca242",
      "tree": "f113cf086259c2eab5a5166079ca397308127fdc",
      "parents": [
        "5676563c1b8ec7a21a25b7ddc99f1c439d2fd204"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:38:10 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:38:10 2015 -0800"
      },
      "message": "Big Rename: /opt/planetstack -\u003e /opt/xos in db-cleanup tool\n"
    },
    {
      "commit": "5676563c1b8ec7a21a25b7ddc99f1c439d2fd204",
      "tree": "c22e975d06169d8b5a069fa51100a947f269208e",
      "parents": [
        "f09eebb3414b9bb608eac4fc9a204599efc781f1"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:35:34 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:35:34 2015 -0800"
      },
      "message": "Big Rename: /opt/planetstack -\u003e /opt/xos in helloworld example\n"
    },
    {
      "commit": "f09eebb3414b9bb608eac4fc9a204599efc781f1",
      "tree": "403a2e65464131bf61669604573779eb21829d8c",
      "parents": [
        "8156da9ff83818df0de709aff4a1df1629b4f2c4"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:34:18 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:34:18 2015 -0800"
      },
      "message": "remove obsolete welcome view\n"
    },
    {
      "commit": "8156da9ff83818df0de709aff4a1df1629b4f2c4",
      "tree": "13636d2016026374887b9b3c7d6b7ef6076a5fa7",
      "parents": [
        "b439e1e0e2759f8f48f171c537cb2aa697bfbdc0"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:27:55 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:27:55 2015 -0800"
      },
      "message": "Big Rename: config files\n"
    },
    {
      "commit": "b439e1e0e2759f8f48f171c537cb2aa697bfbdc0",
      "tree": "659cb4e75991ba29d83a1492e2436d2ceb7a0252",
      "parents": [
        "b969c46e1705782da1e7a146b2445a9a8ecc8dad"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:24:03 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:24:03 2015 -0800"
      },
      "message": "get xos root from config\n"
    },
    {
      "commit": "b969c46e1705782da1e7a146b2445a9a8ecc8dad",
      "tree": "5a154400a203c5d01127d6de193abc391f9945b6",
      "parents": [
        "a06c1ac3a485efd4a05668bd8d24b20e5fe0848d"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:22:05 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 16:22:05 2015 -0800"
      },
      "message": "cleanup bigquery filenames to one spot\n"
    },
    {
      "commit": "a06c1ac3a485efd4a05668bd8d24b20e5fe0848d",
      "tree": "5895c6e76559cb7998a240d3bf24a98bf1ddd928",
      "parents": [
        "5867bbe6bc7d50f9c09e4efa82249747fb4eb46b"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 15:22:50 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 15:22:50 2015 -0800"
      },
      "message": "rename planetstack-backend.py to xos-observer.py\n"
    },
    {
      "commit": "5867bbe6bc7d50f9c09e4efa82249747fb4eb46b",
      "tree": "a1d52683bd816d225d9c8ebb2c0452707793f8a1",
      "parents": [
        "b43ffdee370cea356e4dd8166fc0ed36b7ae7ed9"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 15:22:05 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 15:22:05 2015 -0800"
      },
      "message": "cleanup paths to development environment\n"
    },
    {
      "commit": "b43ffdee370cea356e4dd8166fc0ed36b7ae7ed9",
      "tree": "aa09e0dff206bbeb1578667eb971b3a9a3796f90",
      "parents": [
        "5101d4d9652533c8293ed93a421bd96acfbbcbb5"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 15:21:17 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 15:21:17 2015 -0800"
      },
      "message": "REST API rename: plstackapi -\u003e xos\n"
    },
    {
      "commit": "5101d4d9652533c8293ed93a421bd96acfbbcbb5",
      "tree": "b17fb1c6bff8a2cd020f0b3427a401146c683af0",
      "parents": [
        "d232c2b5005828205b61ed1bb77d12e41e1fd263"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 15:19:16 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 15:19:16 2015 -0800"
      },
      "message": "REST API rename: plstackapi -\u003e xos\n"
    },
    {
      "commit": "d232c2b5005828205b61ed1bb77d12e41e1fd263",
      "tree": "ea3290c68b21d27325d5fb7481009ad71854ce5c",
      "parents": [
        "bd98583d324531098af5784bf0cae1a1efb41a30"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 15:04:26 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 15:04:26 2015 -0800"
      },
      "message": "Big Rename: planetstack-backend.py to xos-observer.py, parameterize directories in scripts/opencloud\n"
    },
    {
      "commit": "3c06fbc0e5aef1c998944d8b66060f58561da884",
      "tree": "1ffe2c9fdc868700acb1dca01e44c62147fee89e",
      "parents": [
        "cba0ffecf464cb1dfb1cdefdb2a85d6a41c34aca"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 00:33:57 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 04 00:33:57 2015 -0800"
      },
      "message": "prevent 500 error if /tmp/observer_last_run does not exist\n"
    },
    {
      "commit": "cba0ffecf464cb1dfb1cdefdb2a85d6a41c34aca",
      "tree": "919ade7c51f89eb28b2142b2f6230e3520702859",
      "parents": [
        "447eb50015ca8169fffd27c32de71bea6c5c0c26"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 03 15:02:17 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 03 15:02:17 2015 -0800"
      },
      "message": "REST API set creator attribute when creating objects\n"
    },
    {
      "commit": "447eb50015ca8169fffd27c32de71bea6c5c0c26",
      "tree": "152369595f2ce068a7740f43931b589c3c5a6ae2",
      "parents": [
        "d3a10125c8eac358337c912f69ce52e97b8cf32f"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 03 14:47:08 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 03 14:47:08 2015 -0800"
      },
      "message": "WIP - has the pre_save/perform_create code\n"
    },
    {
      "commit": "d3a10125c8eac358337c912f69ce52e97b8cf32f",
      "tree": "443423ba1e2bc0d3fb7f420cdb0b63b4b456b31b",
      "parents": [
        "09066128eb3c912ec41a4aaf98d5969d5fcbed24"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 16:23:52 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 16:23:52 2015 -0800"
      },
      "message": "dashboard view cleanup unused bigquery and cdn stuff\n"
    },
    {
      "commit": "09066128eb3c912ec41a4aaf98d5969d5fcbed24",
      "tree": "be88539adbaf2b1c24616939469778f63987f57c",
      "parents": [
        "f476a979f14356d6561bb2a1d2aa7bbd7e3fd789"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 16:12:47 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 16:12:47 2015 -0800"
      },
      "message": "cleanup, WIP\n"
    },
    {
      "commit": "f476a979f14356d6561bb2a1d2aa7bbd7e3fd789",
      "tree": "4f1dadc46d503696f083a8fadf5e65789ffbdabb",
      "parents": [
        "dd44211dc76fa1a1e26a378e1cdfe8e478f29d04"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 15:56:31 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 15:56:31 2015 -0800"
      },
      "message": "tools: rename plstackapi to xos\n"
    },
    {
      "commit": "dd44211dc76fa1a1e26a378e1cdfe8e478f29d04",
      "tree": "9bfb583031c6e304008c407b5d14bc57f22c6dc7",
      "parents": [
        "37adc3e3a97bb40b4eabadbb6d857d4a98231624"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 15:53:37 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 15:53:37 2015 -0800"
      },
      "message": "REST API: rename plstackapi to xos\n"
    },
    {
      "commit": "37adc3e3a97bb40b4eabadbb6d857d4a98231624",
      "tree": "07b2c9ef5bc30412937f1d3f5f6a91264b38e12e",
      "parents": [
        "648abfc40567151dd20fcce11463a1d87b54aec9"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 15:10:13 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 15:10:13 2015 -0800"
      },
      "message": "rename plstackapi_config to xos_config\n"
    },
    {
      "commit": "648abfc40567151dd20fcce11463a1d87b54aec9",
      "tree": "608fc57047e46ba2e0fe31420965f00a4a78c16e",
      "parents": [
        "923f096557d961d6c5e0460a2036bcbd569da76a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 15:00:03 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 15:00:03 2015 -0800"
      },
      "message": "kairos, nagios, cassandra removed from settings file\n"
    },
    {
      "commit": "923f096557d961d6c5e0460a2036bcbd569da76a",
      "tree": "a86f25c6bd1106607823bae4bbdd30fad855db1b",
      "parents": [
        "daca81681a2a7c802e0f191c12016e5fc3296cf9"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 14:33:08 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 14:33:08 2015 -0800"
      },
      "message": "meaning error messages in REST permission errors\n"
    },
    {
      "commit": "daca81681a2a7c802e0f191c12016e5fc3296cf9",
      "tree": "e483f88abe9178b0a067a5f8823fae492126b985",
      "parents": [
        "cb60f8a2678b9320d58bf4a810ef57889c231b4f"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 14:28:35 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 14:28:35 2015 -0800"
      },
      "message": "fix the naive/aware timezone problem\n"
    },
    {
      "commit": "cb60f8a2678b9320d58bf4a810ef57889c231b4f",
      "tree": "10ba55d755472ea301d02ca687aaf02903058685",
      "parents": [
        "4ff021c969f414b9e60a2ed2fe87411b194129e0"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 13:53:46 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 13:53:46 2015 -0800"
      },
      "message": "use rest_framework\u0027s permission denied\n"
    },
    {
      "commit": "4ff021c969f414b9e60a2ed2fe87411b194129e0",
      "tree": "1479ba3fcc5b077588d0f0d2458355ae060720f9",
      "parents": [
        "ca03b6420de0bba729e4a4e57a6dd57f58af86c2"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 13:37:29 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 13:37:29 2015 -0800"
      },
      "message": "remove legacy cassandra, kairos, and nagios from tree\n"
    },
    {
      "commit": "ca03b6420de0bba729e4a4e57a6dd57f58af86c2",
      "tree": "9f19e312dd78a65f69996e4f9cc19f451e0ff162",
      "parents": [
        "015a6a2c754f9c58bf02bbfc09d0a7382ffc64a7"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 11:00:53 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 11:00:53 2015 -0800"
      },
      "message": "fix permission error when creating slices with tenant view\n"
    },
    {
      "commit": "015a6a2c754f9c58bf02bbfc09d0a7382ffc64a7",
      "tree": "a7bfcd386e8903bf05e2865e0069d270a40b1792",
      "parents": [
        "960431e044b0ba41841f48c132145645062bb5c9",
        "b992577c94e4b04b4e8a8b0b6d3427124c6be0b9"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 10:41:19 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 10:41:19 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:open-cloud/xos\n"
    },
    {
      "commit": "960431e044b0ba41841f48c132145645062bb5c9",
      "tree": "0caa5a788d45f2614be2c8c9f989a40a4acde79b",
      "parents": [
        "7162106d6470976885dce6a7259383ce16fac909"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 10:41:12 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Feb 02 10:41:12 2015 -0800"
      },
      "message": "return permission denied when anonymous user tries to use REST\n"
    },
    {
      "commit": "b992577c94e4b04b4e8a8b0b6d3427124c6be0b9",
      "tree": "9f1b88f618e6e6180fee6958e4fccc416275ad52",
      "parents": [
        "f0801979787f41ea032bf324637cca1ef788188c"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Feb 01 19:51:39 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Feb 01 19:51:39 2015 -0500"
      },
      "message": "A non-admin should not be able to set the creator of a slice to someone else\n"
    },
    {
      "commit": "7162106d6470976885dce6a7259383ce16fac909",
      "tree": "d65fbf7a1c0e685bae69d2527c29a8098857104b",
      "parents": [
        "5e140a3998c81696cdbf62c769b23a657277ce0c"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 15:42:02 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 15:42:02 2015 -0800"
      },
      "message": "fix api.template.py to work with swagger\n"
    },
    {
      "commit": "5e140a3998c81696cdbf62c769b23a657277ce0c",
      "tree": "6632763915f12e3f3df89b8144b09215215f16e1",
      "parents": [
        "26dbd8da4e4f034e835b6503c3e6987bedff81de"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 15:41:39 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 15:41:39 2015 -0800"
      },
      "message": "latest autogenerated genapi.py, works with swagger\n"
    },
    {
      "commit": "26dbd8da4e4f034e835b6503c3e6987bedff81de",
      "tree": "e51c0cf00c4ff515d20c5447488673f12a872984",
      "parents": [
        "7d61efb76613e50c3c9e925ac373fbb112fa86b0"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 17:42:10 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 17:42:10 2015 -0500"
      },
      "message": "fix read_only fields for SliverAdmin\n"
    },
    {
      "commit": "7d61efb76613e50c3c9e925ac373fbb112fa86b0",
      "tree": "0c8fd910712143c240f937ec06cfab84949d1078",
      "parents": [
        "35515a43bf60bdf4867b6229d17e26af40026796"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 17:20:46 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 17:21:32 2015 -0500"
      },
      "message": "add \u0027all_ips_string\u0027 to list of read only fields in SliverAdmin\n"
    },
    {
      "commit": "35515a43bf60bdf4867b6229d17e26af40026796",
      "tree": "1f0ac3bb067418c8cb930fa96bb9b4ee9e4d20ce",
      "parents": [
        "2e6efd22adc10953dd246f346edeb4f0a517ae17",
        "d8336581bb83a7a3d94d77cee77f3f116f064026"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 12:13:06 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 12:13:06 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of github.com:open-cloud/xos\n"
    },
    {
      "commit": "2e6efd22adc10953dd246f346edeb4f0a517ae17",
      "tree": "e0ecf238e90e8d6c0dd52cf530b27674dbbba85e",
      "parents": [
        "c052e5fda03a89a5b588f77515958902af093afb"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 12:10:57 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 12:10:57 2015 -0800"
      },
      "message": "documentation link updated\n"
    },
    {
      "commit": "d8336581bb83a7a3d94d77cee77f3f116f064026",
      "tree": "5bb0a9e3e83f6672e341fe5bc5eb04293be71b9b",
      "parents": [
        "10812253b1567fbb76c7d42f6f79adf678ba1176"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 12:52:46 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 12:52:46 2015 -0500"
      },
      "message": "get ip address from Sliver.all_ips_string instead of Sliver.ip\n"
    },
    {
      "commit": "10812253b1567fbb76c7d42f6f79adf678ba1176",
      "tree": "1183b412a1a4bf1932b778d8950f07cf61496788",
      "parents": [
        "c052e5fda03a89a5b588f77515958902af093afb"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 10:58:29 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Jan 30 11:07:08 2015 -0500"
      },
      "message": "move site_deployments tab from SiteAdmin page to DeploymentAdmin page\n"
    },
    {
      "commit": "c052e5fda03a89a5b588f77515958902af093afb",
      "tree": "93e9d3a2a1fe48639956be6876c379ddcb5a3249",
      "parents": [
        "11a2f509fbba913430464781ead5995996a49eb4"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 07:37:19 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 07:37:19 2015 -0800"
      },
      "message": "fix sliver.all_ips() throwing traceback\n"
    },
    {
      "commit": "11a2f509fbba913430464781ead5995996a49eb4",
      "tree": "be2c5b604b1489fdaf274a12c8035a3c529f79de",
      "parents": [
        "760b54b4627d8f848260eda4250765c5ed120bc9"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 00:02:31 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 30 00:02:31 2015 -0800"
      },
      "message": "fix sync_network_slivers was using instance_id instead of instance_uuid\n"
    },
    {
      "commit": "760b54b4627d8f848260eda4250765c5ed120bc9",
      "tree": "01d12a6a0636963d97514091c691a4b877dfad31",
      "parents": [
        "d168ae050422005acdce99bfdd1b0a4c6329ad7f"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 17:55:40 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 17:55:40 2015 -0800"
      },
      "message": "throw validation error if sliver has no creator\n"
    },
    {
      "commit": "d168ae050422005acdce99bfdd1b0a4c6329ad7f",
      "tree": "e9ccbca470284d26b4d554940ae3d1ba1ba0c555",
      "parents": [
        "22732bb74ebaa3dba43b6d412b525a1bdc297465"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 17:53:26 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 17:53:26 2015 -0800"
      },
      "message": "throw validation error if slice has no creator\n"
    },
    {
      "commit": "22732bb74ebaa3dba43b6d412b525a1bdc297465",
      "tree": "99ff3c131beca89bedae939316c357c9806dded9",
      "parents": [
        "b5c86978c79fefa428b5302df064163e9b24fc1a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 17:16:10 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 17:16:10 2015 -0800"
      },
      "message": "additional validation on slice.name\n"
    },
    {
      "commit": "b5c86978c79fefa428b5302df064163e9b24fc1a",
      "tree": "680f54c4c133a2f582d14d292d05fe6f1b774a7b",
      "parents": [
        "5e229c01974532debf8ddffb53d761ab81ecfbd3"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 14:46:14 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 14:46:14 2015 -0800"
      },
      "message": "fix spacing in html\n"
    },
    {
      "commit": "1ee8bdf8389506d0761aca48fea8b65afc4a9ee4",
      "tree": "85e0bc651520806ca9409d686a5071a9dae49c76",
      "parents": [
        "8e6f53df3257067caf5716c085cbf66625fa2dbe"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 21:06:05 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 21:06:05 2015 +0000"
      },
      "message": "New default model-deps file, based on fixes to dependency generation recently\n"
    },
    {
      "commit": "8e6f53df3257067caf5716c085cbf66625fa2dbe",
      "tree": "028e4bf30f337bffb4dd7039b58e65acb05bc481",
      "parents": [
        "99f49689b00d58351e41cbec35e7836ec3cff11e"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 21:05:39 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 21:05:39 2015 +0000"
      },
      "message": "Django view that exports Observer status\n"
    },
    {
      "commit": "99f49689b00d58351e41cbec35e7836ec3cff11e",
      "tree": "1317f0896f36d7c4d5bb281e458525ccdb79d192",
      "parents": [
        "47006110c4cdaaec7a48c04d233ec0aa3656e7bd"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:58:25 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:58:25 2015 +0000"
      },
      "message": "Separated \"provides\" and \"observes\" declarations in sync steps. Provides is for dependency management and observes is for retrieving obejcts that have changed.\n"
    },
    {
      "commit": "47006110c4cdaaec7a48c04d233ec0aa3656e7bd",
      "tree": "c16893eecbcc7715d35a867418c4c71dcd09a8b6",
      "parents": [
        "e122dcfcad8f281964f572b4d493de436a565e11"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:55:40 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:55:40 2015 +0000"
      },
      "message": "Implemented back off for failed object synchronizations\n"
    },
    {
      "commit": "e122dcfcad8f281964f572b4d493de436a565e11",
      "tree": "c9db9183397efd7f01d7a28e6e1d5fd91089d9b6",
      "parents": [
        "0926e653f59dbed4e8d37a8808cff96068b0dbf3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:54:17 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:54:17 2015 +0000"
      },
      "message": "Save Observer run time information for status view\n"
    },
    {
      "commit": "0926e653f59dbed4e8d37a8808cff96068b0dbf3",
      "tree": "878001ebbcc4e239c12d5e5efe23ae79deec7110",
      "parents": [
        "752f0f019163e4932b113d7aa72c4a935e6ae516"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:51:13 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:51:13 2015 +0000"
      },
      "message": "Reimplemented backend dependencies in the main Observer run loop\n"
    },
    {
      "commit": "752f0f019163e4932b113d7aa72c4a935e6ae516",
      "tree": "3a80c0174677f1c887aa9b65e8043fd662f8b44e",
      "parents": [
        "f841d9b0b86d2dd6633828353697dbb3bd8fe7c6"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:48:24 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:48:24 2015 +0000"
      },
      "message": "Enable user and site model policies\n"
    },
    {
      "commit": "f841d9b0b86d2dd6633828353697dbb3bd8fe7c6",
      "tree": "900e0b61f8c769ad63916c6070d06f157286e945",
      "parents": [
        "f0ad980ea23c20582cad41538b4b6a621970ef61"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:45:25 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:45:25 2015 +0000"
      },
      "message": "Bug fix in Slice model policy\n"
    },
    {
      "commit": "f0ad980ea23c20582cad41538b4b6a621970ef61",
      "tree": "c9e6cfbed9bd2c7a69e0af8dd8331cf4e9029b4f",
      "parents": [
        "cb7aa3a32d8f9f4450a3aaa87a24b83c3c0d29e1"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:44:46 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:44:46 2015 +0000"
      },
      "message": "Added model policies for controlleruser and controllersite\n"
    },
    {
      "commit": "cb7aa3a32d8f9f4450a3aaa87a24b83c3c0d29e1",
      "tree": "3e241a3796f8a015ef5d7d14c9c5641d94010fac",
      "parents": [
        "c1945a66745df642aea96cc80112b49d75cb3fcf"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:40:13 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:40:13 2015 +0000"
      },
      "message": "Support field name synonyms when discovering dependencies\n"
    },
    {
      "commit": "c1945a66745df642aea96cc80112b49d75cb3fcf",
      "tree": "8de46f12c67b64371da8080f7960054869ebca4e",
      "parents": [
        "df3a0460147b2e243b13d5d1264849920b1f20d2"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:36:45 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Thu Jan 29 20:36:45 2015 +0000"
      },
      "message": "Added scratchpad for Observer to bookkeep objects\n"
    },
    {
      "commit": "6e9027f2086f6d216647060c7c9ca4477f908eeb",
      "tree": "a5420ab52565b56e0c404d1ca129edf8dbb6e921",
      "parents": [
        "5ced6abd13ad38aedd012f75bca32b9579c55f3a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 10:55:53 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 29 10:55:53 2015 -0800"
      },
      "message": "remove Dashboard Views from user admin\n"
    },
    {
      "commit": "5ced6abd13ad38aedd012f75bca32b9579c55f3a",
      "tree": "1209f1932d26a987ee7abe93db06ba30ea1c0400",
      "parents": [
        "150ee86024d2b6c8cd4067816f6f86c51b8d2822"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 28 16:38:05 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 28 16:38:05 2015 -0800"
      },
      "message": "ask the PI to click save\n"
    },
    {
      "commit": "150ee86024d2b6c8cd4067816f6f86c51b8d2822",
      "tree": "b8ea6d800d6307f63f3a20294e13b1c49d0f3d0d",
      "parents": [
        "28e2e3aa4aac1c853df62c699b95395e65386f33"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 28 16:11:35 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 28 16:11:35 2015 -0800"
      },
      "message": "return an error when trying to register a deleted user\n"
    },
    {
      "commit": "28e2e3aa4aac1c853df62c699b95395e65386f33",
      "tree": "68be1547c671e8f487e38a5256909a82f9745c1e",
      "parents": [
        "92b1205fb3a9c7251e5a7b593d03a69403655380"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 28 16:03:40 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 28 16:03:40 2015 -0800"
      },
      "message": "fix tenant view temporary password email, display message if user tries to register again\n"
    },
    {
      "commit": "92b1205fb3a9c7251e5a7b593d03a69403655380",
      "tree": "a9870697d7731928c83a07627891d6ed681c0326",
      "parents": [
        "b2c407f6dac129bfc7f0a00087aa4de489de48b1"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:49:58 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:49:58 2015 -0500"
      },
      "message": "disable setting fields to readonly based on user\u0027s privilege in UserAdmin\n"
    },
    {
      "commit": "b2c407f6dac129bfc7f0a00087aa4de489de48b1",
      "tree": "900c67a9860b8f8685101821b445c7b5513a6acd",
      "parents": [
        "4bfcdc8d87257eed3a2a4c7fca502622d7e49752"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:37:12 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:37:12 2015 -0500"
      },
      "message": "only admins and pis can change/modify a user\u0027s site\n"
    },
    {
      "commit": "4bfcdc8d87257eed3a2a4c7fca502622d7e49752",
      "tree": "c74057d29825c34c564457409f00d074e399977d",
      "parents": [
        "b195b5f559f0867fc1a22e90187818e7108af70a"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:03:39 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:03:39 2015 -0500"
      },
      "message": "set is_admin default to False\n"
    },
    {
      "commit": "b195b5f559f0867fc1a22e90187818e7108af70a",
      "tree": "fc7d227503244e671d1ce71674194b15e2da04c5",
      "parents": [
        "bb2fb7edca0f1170592823704fef1637181db65d"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:03:15 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 28 12:03:15 2015 -0500"
      },
      "message": "dont list is_admin field twice in UserAdmin\n"
    },
    {
      "commit": "bb2fb7edca0f1170592823704fef1637181db65d",
      "tree": "79798fe461fce7037443ef87e8f6042d2bc496e7",
      "parents": [
        "ac543a7cb91a5bcfaa5414c01a47754f7fbb9a6e"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 27 23:07:51 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 27 23:07:51 2015 -0800"
      },
      "message": "make sure users created through tenant view are not admins\n"
    },
    {
      "commit": "ac543a7cb91a5bcfaa5414c01a47754f7fbb9a6e",
      "tree": "4b6f4bfbe4301a9f15401e10c09685aa2e4ba481",
      "parents": [
        "0c6479a3096da40d7ebe68536b55376db95bc851"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 27 15:29:41 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 27 15:29:41 2015 -0800"
      },
      "message": "red and green observer status icons\n"
    },
    {
      "commit": "0c6479a3096da40d7ebe68536b55376db95bc851",
      "tree": "1a0f6d9e9a7a6ee1bdab08b7a0b9b6e52ea2a2b0",
      "parents": [
        "9fbad3b27d07c5f94b463b5ad2a0958309905a2a",
        "6b6c21830b4d07fbd017baf37a600395f820e103"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 26 22:12:47 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 26 22:12:47 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "9fbad3b27d07c5f94b463b5ad2a0958309905a2a",
      "tree": "d29e9953adf1472c475b6c2e115ed5976ca1f429",
      "parents": [
        "53a6adfa289209271dd072ddb454b67c704f25da"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 26 22:12:40 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 26 22:12:40 2015 -0800"
      },
      "message": "make nagios default to (select a controller)\n"
    },
    {
      "commit": "6b6c21830b4d07fbd017baf37a600395f820e103",
      "tree": "ce74c9a07cce430e15f5345bb9e280d05f6b0a87",
      "parents": [
        "6b1b7fc410b63f7b6f74bff85e5e2ed1f06dcff5"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:58:11 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:58:11 2015 +0000"
      },
      "message": "Various bugfies to the main Observer loop\n"
    },
    {
      "commit": "6b1b7fc410b63f7b6f74bff85e5e2ed1f06dcff5",
      "tree": "260564ad76a4c99154f2e3667bb19e3f4cd8879b",
      "parents": [
        "5851db49ab77fadc22f40ae4f0f1874d51850319"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:54:29 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:54:29 2015 +0000"
      },
      "message": "Bugfix\n"
    },
    {
      "commit": "5851db49ab77fadc22f40ae4f0f1874d51850319",
      "tree": "fec02360fbcc67b7b8f2e28fb109448400c4db2e",
      "parents": [
        "b3048aa6a2864d29bf34bbb2999f9a14c0d356b5"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:52:43 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:52:43 2015 +0000"
      },
      "message": "Set backend status when saving backend version of object\n"
    },
    {
      "commit": "b3048aa6a2864d29bf34bbb2999f9a14c0d356b5",
      "tree": "63a24428883841fe3fbf9aa4b1790a0658fa789f",
      "parents": [
        "42a291fc9f8643ae8d3814ec1e3dcc18d3a22c50"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:52:19 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:52:19 2015 +0000"
      },
      "message": "Change dependencies to primitive objects\n"
    },
    {
      "commit": "42a291fc9f8643ae8d3814ec1e3dcc18d3a22c50",
      "tree": "6762e549dc9b601881cf3f7b36b2d990a88f8a34",
      "parents": [
        "53a6adfa289209271dd072ddb454b67c704f25da"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:49:42 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 27 03:49:42 2015 +0000"
      },
      "message": "Show greens where status is 1 -\n"
    }
  ],
  "next": "53a6adfa289209271dd072ddb454b67c704f25da"
}
