)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "53a6adfa289209271dd072ddb454b67c704f25da",
      "tree": "e3c0636634687b70e81eb635d82b9b72fca0e62e",
      "parents": [
        "9534e417939ae9163c68f54f33cf9a06cc359f47"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:51:35 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:51:35 2015 -0800"
      },
      "message": "repair the sliver filter logic in xosAdminDashboard\n"
    },
    {
      "commit": "9534e417939ae9163c68f54f33cf9a06cc359f47",
      "tree": "08ba1e954b818510a02d01175e9d77e8c5c402a4",
      "parents": [
        "da0c0f06d0709397c6e2e6f9e89113ca15fb6aff"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:17:57 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:17:57 2015 -0800"
      },
      "message": "sliver.deploymentNetwork -\u003e deployment network\n"
    },
    {
      "commit": "da0c0f06d0709397c6e2e6f9e89113ca15fb6aff",
      "tree": "4f9e4eed89278e8095358f68674a8c29e816b016",
      "parents": [
        "970314bc94b9d6b2a8faa2ced1a00f9b8e939e45",
        "6a32aca2a6b952ff681c68789c6aabc05156a979"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:16:24 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:16:24 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "970314bc94b9d6b2a8faa2ced1a00f9b8e939e45",
      "tree": "829d822ac68b0c702fc7a6d5e8e920c6ac7a4fed",
      "parents": [
        "a48873590a87994ca374352cb301e77a952d0df4"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:16:13 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 22:16:13 2015 -0800"
      },
      "message": "display ssh command in sliver detail view\n"
    },
    {
      "commit": "6a32aca2a6b952ff681c68789c6aabc05156a979",
      "tree": "fdf2c6040f6efeb9d924347f7e57d351eb552c4c",
      "parents": [
        "504ed42c2108b7f7384362200658fa036064dc62"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 22:16:35 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 22:16:35 2015 -0500"
      },
      "message": "user\u0027s can\u0027t set/unset site in Login Details without the proper authorization\n"
    },
    {
      "commit": "504ed42c2108b7f7384362200658fa036064dc62",
      "tree": "643b9ba0b805c80ca056374122d8f9685c550376",
      "parents": [
        "6235fc80b66bbeb556999071c1940338b835a348",
        "a48873590a87994ca374352cb301e77a952d0df4"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 21:59:58 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 21:59:58 2015 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "6235fc80b66bbeb556999071c1940338b835a348",
      "tree": "6435fcdb1ee761c76a186bdadf14d90b76e4ad35",
      "parents": [
        "598eaf221c046e2137fbe020202ba1e99595d239"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 21:58:30 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 21:58:30 2015 -0500"
      },
      "message": "user\u0027s can\u0027t set/unset is_admin, is_active and is_readonly values in Login Details without the proper authorization.\n"
    },
    {
      "commit": "a48873590a87994ca374352cb301e77a952d0df4",
      "tree": "e821493a2585a142823d98fc2cd31739b3370276",
      "parents": [
        "9e0ea2364cbe8b42c49d0744f617daddb243b09b"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 17:05:14 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 17:05:14 2015 -0800"
      },
      "message": "download_ssh_commands view, deprecated\n"
    },
    {
      "commit": "9e0ea2364cbe8b42c49d0744f617daddb243b09b",
      "tree": "dfc90e167d9738cf547592bdc5ae4902f153dd7d",
      "parents": [
        "306d7e8ff0f64224c2d6d812b52d23063c648653"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 17:04:00 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 17:04:00 2015 -0800"
      },
      "message": "download button for ssh commands\n"
    },
    {
      "commit": "306d7e8ff0f64224c2d6d812b52d23063c648653",
      "tree": "dfa3c0da24919786368bb84c32bb82f71d0f921f",
      "parents": [
        "c0ec1d834549e03f2ec385aaa6deed01e7914299",
        "598eaf221c046e2137fbe020202ba1e99595d239"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 11:50:02 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 11:50:02 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "c0ec1d834549e03f2ec385aaa6deed01e7914299",
      "tree": "6576e8e87c641ac8eb47a4262c6e6f46857f3592",
      "parents": [
        "f587f4473731b909a543cac0a26c82bab47ee2e4"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 11:49:56 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 25 11:49:56 2015 -0800"
      },
      "message": "view for download ssh commands\n"
    },
    {
      "commit": "598eaf221c046e2137fbe020202ba1e99595d239",
      "tree": "439d7d3505695cdb6ad05801c3dd2b4dba5281d6",
      "parents": [
        "f587f4473731b909a543cac0a26c82bab47ee2e4"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 12:35:29 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 25 12:35:29 2015 -0500"
      },
      "message": "Remove visible references to Reservations, Accounts, Billing, and Invoices\n"
    },
    {
      "commit": "f587f4473731b909a543cac0a26c82bab47ee2e4",
      "tree": "a59bcef2c93a7b25af9436ea24bee6464417e69b",
      "parents": [
        "682933b219ee1093bf01f1b629d80ab4c0d9920a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 24 13:33:26 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 24 13:33:26 2015 -0800"
      },
      "message": "add backend_status_icon to user admin list\n"
    },
    {
      "commit": "682933b219ee1093bf01f1b629d80ab4c0d9920a",
      "tree": "f25f65a6123a0a186d712fd35e264e4df09f8d6d",
      "parents": [
        "3e0352221da9f055a2ad7d212aeb42021999a8af"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 24 00:01:48 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 24 00:01:48 2015 -0800"
      },
      "message": "display APIException errors properly\n"
    },
    {
      "commit": "3e0352221da9f055a2ad7d212aeb42021999a8af",
      "tree": "9b10514c968d4b3b13700e64665f0f0562edeec0",
      "parents": [
        "ed5a10150c0c47367dbae57127a5e06b153879b3"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 24 00:01:29 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 24 00:01:29 2015 -0800"
      },
      "message": "return APIException for sliceplus errors instead of valueerror\n"
    },
    {
      "commit": "ed5a10150c0c47367dbae57127a5e06b153879b3",
      "tree": "bd8fef3c7da74573b503e3ed9412cb0106384131",
      "parents": [
        "6725c4cff588b90322be4a2121ac63aa761ad621"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 17:42:17 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 17:42:17 2015 -0800"
      },
      "message": "prevent script tags inside of error popup\n"
    },
    {
      "commit": "6725c4cff588b90322be4a2121ac63aa761ad621",
      "tree": "12fe2f6e128a3f2a66aff9510b7e08713c96a511",
      "parents": [
        "ba32c2a9851badaf6aac6d62b74f3ed2b2a108df",
        "1e5d34499bb3c2077bb95b9e490e596f1ece1639"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 16:38:24 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 16:38:24 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "ba32c2a9851badaf6aac6d62b74f3ed2b2a108df",
      "tree": "f7333a7675e238e1d40e33ded20e583da5985577",
      "parents": [
        "24fe511938e2d3a4b971421effd2c8ae05f220af"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 16:37:51 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 16:37:51 2015 -0800"
      },
      "message": "fix validator override call for slice/slicePlus, add network_ports validation, allow validators to be added on a per-model basis\n"
    },
    {
      "commit": "1e5d34499bb3c2077bb95b9e490e596f1ece1639",
      "tree": "5e6788f09386b472e269cbf35a3e1981b4103e47",
      "parents": [
        "f814a8dfd26032ded6a1b647fb1cda4fafc357e6"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:26:46 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:26:46 2015 +0000"
      },
      "message": "Fix assignment of sliver IP Addresses, failing because of an import error\n"
    },
    {
      "commit": "f814a8dfd26032ded6a1b647fb1cda4fafc357e6",
      "tree": "5f826960ab951d1e3dc98642ef3318318d521e47",
      "parents": [
        "650107ce0c0a9ddcf787c53ef9a65cb1cc695138"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:24:42 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:24:42 2015 +0000"
      },
      "message": "Disable creation of an OpenStack gateway for private netwroks (and nat networks too, with the latter it does not matter)\n"
    },
    {
      "commit": "650107ce0c0a9ddcf787c53ef9a65cb1cc695138",
      "tree": "94d2c315ec1e8c7a20202e97efb910aa8ef55b38",
      "parents": [
        "d99b11205f00364961bd1e74471f48a19fc5a90c"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:22:27 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:22:27 2015 +0000"
      },
      "message": "Do not catch and ignore network instantiation errors, as doing so lets them pass unnoticed by hte Observer\n"
    },
    {
      "commit": "d99b11205f00364961bd1e74471f48a19fc5a90c",
      "tree": "f029a09cb5df5a694ef34f44333c708b30336431",
      "parents": [
        "b0464ba1ac41c57891e1a7d0542b5975bb66d2e3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:22:12 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:22:12 2015 +0000"
      },
      "message": "Fix bug in CIDR allocation\n"
    },
    {
      "commit": "b0464ba1ac41c57891e1a7d0542b5975bb66d2e3",
      "tree": "aba94217376ddfd497a90350d8babcdb83cba331",
      "parents": [
        "aabb9bdd8cf1ed697cce099ea21fe1a1427234ae"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:21:57 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:21:57 2015 +0000"
      },
      "message": "Defer error checking to ansible layer\n"
    },
    {
      "commit": "aabb9bdd8cf1ed697cce099ea21fe1a1427234ae",
      "tree": "0dcf263bcbef7dcd9b1352c8335da62469e478a6",
      "parents": [
        "f71b3b59a2ae3b77e077a89322557b59fbf73cd9"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:19:05 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:19:05 2015 +0000"
      },
      "message": "Add types to backend status messages\n"
    },
    {
      "commit": "f71b3b59a2ae3b77e077a89322557b59fbf73cd9",
      "tree": "0c22261f3b7cfbf51a7581c8306efde4169fa3dd",
      "parents": [
        "254198cd00e27a66d3395945b17d9992b3b33907"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:18:37 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:18:37 2015 +0000"
      },
      "message": "Drop some of the noise in observer logs\n"
    },
    {
      "commit": "254198cd00e27a66d3395945b17d9992b3b33907",
      "tree": "63d768f38998483030c284d4676f25193603f40b",
      "parents": [
        "6ac96b147aef3bc5000aad7f8bdf4bf119340fcb"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:17:12 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:17:12 2015 +0000"
      },
      "message": "Added model policies as a thread in the observer\n"
    },
    {
      "commit": "6ac96b147aef3bc5000aad7f8bdf4bf119340fcb",
      "tree": "5b7496d51ab73c5c0bd25febb6cc9f5f67ca2f90",
      "parents": [
        "76fd191c73e64060a4f959c0818aada2ec18bae9"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:16:27 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:16:27 2015 +0000"
      },
      "message": "Quote commands when running ansible\n"
    },
    {
      "commit": "76fd191c73e64060a4f959c0818aada2ec18bae9",
      "tree": "4e44adf297119792accf2ff284c12b1e9bcee366",
      "parents": [
        "96310de778f775f45daf24c5839bf6554e709323"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:15:37 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:15:37 2015 +0000"
      },
      "message": "Make error checking part of the ansible abstraction layer\n"
    },
    {
      "commit": "96310de778f775f45daf24c5839bf6554e709323",
      "tree": "c36c9ec9474682f3c32d161b60b395f4b48777c0",
      "parents": [
        "85320d3acbc8c083e5b105d06da59450ef4f3d58"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:11:51 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:11:51 2015 +0000"
      },
      "message": "Added new model policies for images and controllerslices\n"
    },
    {
      "commit": "85320d3acbc8c083e5b105d06da59450ef4f3d58",
      "tree": "42307e3815f50e8c89d6a4b43f00ad32a3ff4334",
      "parents": [
        "d49ba53d26a8d03e9b7976e834cf8cf00adb1162"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:11:29 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:11:29 2015 +0000"
      },
      "message": "Bug fixes in model policies\n"
    },
    {
      "commit": "d49ba53d26a8d03e9b7976e834cf8cf00adb1162",
      "tree": "1e9b907f52c5fde7eb5a295b90ef4e8262ca82a9",
      "parents": [
        "cc9d960049251b9b2a395a3b403c3487ea7d66ae"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:09:28 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:09:28 2015 +0000"
      },
      "message": "Made model policies a threaded run loop, and made policy executions transactional\n"
    },
    {
      "commit": "cc9d960049251b9b2a395a3b403c3487ea7d66ae",
      "tree": "36879a6d01503cbb490a4aacc1444c95a67ac632",
      "parents": [
        "103465dd615c86ec277c6678192764a56d058237"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:07:24 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:07:24 2015 +0000"
      },
      "message": "Added a type to backend_status\n"
    },
    {
      "commit": "103465dd615c86ec277c6678192764a56d058237",
      "tree": "804a434da1cd8e4d07d8b233a6893f4837e27d21",
      "parents": [
        "67400adfe5377093faace50ceab25c5e30f0591b"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:02:09 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 16:02:09 2015 +0000"
      },
      "message": "Added timestamp for model policy scheduling to the User class\n"
    },
    {
      "commit": "67400adfe5377093faace50ceab25c5e30f0591b",
      "tree": "54b0ece204a6e61cd13f58dfba4ded8bd9dd66d9",
      "parents": [
        "24fe511938e2d3a4b971421effd2c8ae05f220af"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 15:59:55 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Jan 23 15:59:55 2015 +0000"
      },
      "message": "Added timestamp to support model policy scheduling\n"
    },
    {
      "commit": "24fe511938e2d3a4b971421effd2c8ae05f220af",
      "tree": "ec3eeb592486d65d9fb4fd57944735f6282365bc",
      "parents": [
        "2190934fef02255db55542e51aaf76846a2ff7dc"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 00:22:17 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Jan 23 00:22:17 2015 -0800"
      },
      "message": "network_ports validation, wip\n"
    },
    {
      "commit": "2190934fef02255db55542e51aaf76846a2ff7dc",
      "tree": "88be45dfb7d5c7fa31cb07a00729917aca70ebe2",
      "parents": [
        "f1b401581e171430796ca3434c14f3bd05757913"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 22 15:21:24 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 22 15:21:24 2015 -0800"
      },
      "message": "display count of ready slivers in tenant view\n"
    },
    {
      "commit": "f1b401581e171430796ca3434c14f3bd05757913",
      "tree": "a4eac1fe4ac62f8022e1faad97d2cc0951d862e6",
      "parents": [
        "5ff796b594abf3a66f98ab4133f91d55406a115b"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 22 15:16:34 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 22 15:16:34 2015 -0800"
      },
      "message": "filter sites with no nodes from tenant view\n"
    },
    {
      "commit": "5ff796b594abf3a66f98ab4133f91d55406a115b",
      "tree": "8637bae2335a7c9d92826da40793c41aa14b5fce",
      "parents": [
        "39293d7c439d352dc49959e0be340ff952f94f31"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 22 15:14:50 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jan 22 15:14:50 2015 -0800"
      },
      "message": "fix icon color in provisioning state\n"
    },
    {
      "commit": "39293d7c439d352dc49959e0be340ff952f94f31",
      "tree": "226b4a1e87f881cc17a1319939f09eaa5ce6d9a3",
      "parents": [
        "2ee762e991293185c96f8e7dc7d87ac50e0c66ba"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 21 16:24:07 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Jan 21 16:24:07 2015 -0800"
      },
      "message": "fix filter code in sliver inline\n"
    },
    {
      "commit": "2ee762e991293185c96f8e7dc7d87ac50e0c66ba",
      "tree": "d499da073015b3a44d17a6a1c9b0f012948b1225",
      "parents": [
        "ba5c2f20e2f03a7f984ff8b2287a6946ad82633e"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 21 12:29:35 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 21 12:29:35 2015 -0500"
      },
      "message": "checking in clean initial migration\n"
    },
    {
      "commit": "ba5c2f20e2f03a7f984ff8b2287a6946ad82633e",
      "tree": "6ee64561f85225f75e06dc71de63c9f0cd4b123c",
      "parents": [
        "8864d4779f0b371f4c93019dba219c19e4dbe7ae"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 17:59:55 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 17:59:55 2015 -0800"
      },
      "message": "fix Chosen Sites empty in Deployment Admin\n"
    },
    {
      "commit": "8864d4779f0b371f4c93019dba219c19e4dbe7ae",
      "tree": "0e23aca6f1d22ee725846624eedba0b1dc3d24cb",
      "parents": [
        "e0e407a8cf9ba45e8fde086d5e8b2216d8ec3040"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 17:12:43 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 17:12:43 2015 -0800"
      },
      "message": "fix sitesdeployments typo\n"
    },
    {
      "commit": "e0e407a8cf9ba45e8fde086d5e8b2216d8ec3040",
      "tree": "dc65ba945048b1e368e534c4c5626f08df05de30",
      "parents": [
        "17a73067cc54d729702f6cc786fbe9610d167267"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 17:02:53 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 17:02:53 2015 -0800"
      },
      "message": "tenant view only shows sites the user should be able to see\n"
    },
    {
      "commit": "17a73067cc54d729702f6cc786fbe9610d167267",
      "tree": "ad64cf0b65fe61d6ac1d9091e45a81ac65741875",
      "parents": [
        "04ab7c8e694a0621615027ca1be714dd722d25eb",
        "815bc8a5fad0d699fa57f9894e4bfaeab520c72a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 13:30:49 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 13:30:49 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "04ab7c8e694a0621615027ca1be714dd722d25eb",
      "tree": "d0e794042209836cbe91fbcd89f98caf082a553b",
      "parents": [
        "c3876fbbd2a779f45a3c5a57337e41ae3ee195a0"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 13:30:40 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 13:30:40 2015 -0800"
      },
      "message": "save network_ports in sliceplus model\n"
    },
    {
      "commit": "815bc8a5fad0d699fa57f9894e4bfaeab520c72a",
      "tree": "54e6eac86025a1ab46a09c3dcc634c18675d34bc",
      "parents": [
        "cb5c24a97506076445201bcb0cd854f1cd55d0d7"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 20 21:00:15 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 20 21:00:15 2015 +0000"
      },
      "message": "iMigration script for uuids\n"
    },
    {
      "commit": "cb5c24a97506076445201bcb0cd854f1cd55d0d7",
      "tree": "1b219027c670c65f2cc1948eae562421f40bb357",
      "parents": [
        "c3876fbbd2a779f45a3c5a57337e41ae3ee195a0"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 20 20:59:24 2015 +0000"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Jan 20 20:59:24 2015 +0000"
      },
      "message": "Add uuid field to sliver\n"
    },
    {
      "commit": "c3876fbbd2a779f45a3c5a57337e41ae3ee195a0",
      "tree": "c8505cbbe653853109d7ad46aaa205f3494497fb",
      "parents": [
        "51bacadb62a55a9e8bb28e43624406a4ea6b12cf"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 12:37:36 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 12:37:36 2015 -0800"
      },
      "message": "warning for Service Level as well\n"
    },
    {
      "commit": "51bacadb62a55a9e8bb28e43624406a4ea6b12cf",
      "tree": "3d758af62def844a161b0e1fdbaeffafce758dc4",
      "parents": [
        "61b5bfce5580d9dad600b2fb8e038902d71c81e1"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 12:24:16 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 12:24:16 2015 -0800"
      },
      "message": "help text support for detail view, tenant view warnings about changing slivers\n"
    },
    {
      "commit": "61b5bfce5580d9dad600b2fb8e038902d71c81e1",
      "tree": "a753a9eab981450c4fa542072b2af28ec5d14b02",
      "parents": [
        "ec9301001d9a693a47b652b547633ea11ccfa885"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 01:19:12 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 01:19:12 2015 -0800"
      },
      "message": "SSH commands dialog\n"
    },
    {
      "commit": "ec9301001d9a693a47b652b547633ea11ccfa885",
      "tree": "6829a2b97ac34590aa8392fb9fa1bc4f167f880a",
      "parents": [
        "5175e8a9bdbabe141cce0f556678c98ac633f3b5"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 01:02:08 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 01:02:08 2015 -0800"
      },
      "message": "SSH commands dialog\n"
    },
    {
      "commit": "5175e8a9bdbabe141cce0f556678c98ac633f3b5",
      "tree": "009e9639ba6a8546d00f799cb9d02977875824f0",
      "parents": [
        "9d2de4eabb92ecda45887c374c04479f7aa01113"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 00:20:12 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 00:20:12 2015 -0800"
      },
      "message": "set dirty if users edited, warning message if change slice while dirty\n"
    },
    {
      "commit": "9d2de4eabb92ecda45887c374c04479f7aa01113",
      "tree": "6e2750a9e045d9b7180d4857bb85503e327db328",
      "parents": [
        "fb066b5fe09200cc14382bcb6a92e0aba3ffa60d",
        "f210e3d78b7ff7e3b79ae7b5c3f26f55a6fbf191"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 00:05:11 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 00:05:11 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "fb066b5fe09200cc14382bcb6a92e0aba3ffa60d",
      "tree": "4706665a7e422d97f6b1084d46e8f91af7ff629a",
      "parents": [
        "f5d97bd9c087a58a066567c1a84dd2ee9514ecba"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 00:05:02 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 00:05:02 2015 -0800"
      },
      "message": "add saveSuccess hook for detail view\n"
    },
    {
      "commit": "f5d97bd9c087a58a066567c1a84dd2ee9514ecba",
      "tree": "45152136c7103fcb4ac595e5bedca4bd0d027f3c",
      "parents": [
        "887d4a8d98544127e2d20f1220a83eb28d3a9cbd"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 00:04:19 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 20 00:04:19 2015 -0800"
      },
      "message": "make save button green when slice is dirty\n"
    },
    {
      "commit": "f210e3d78b7ff7e3b79ae7b5c3f26f55a6fbf191",
      "tree": "69eb640229e9e0f9d3560b6eb6c9bb5fcdce59a1",
      "parents": [
        "78d4c3d47940f21d1451e4095bf51d60c3ea01a8"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Jan 19 15:19:24 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Jan 19 15:19:24 2015 -0500"
      },
      "message": "use flavor specified by user instead of defaulting to m1.medium\n"
    },
    {
      "commit": "78d4c3d47940f21d1451e4095bf51d60c3ea01a8",
      "tree": "fc4696eb881cdb80aa05126338b9f146e9ce6d79",
      "parents": [
        "887d4a8d98544127e2d20f1220a83eb28d3a9cbd"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Jan 19 15:05:42 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Jan 19 15:05:42 2015 -0500"
      },
      "message": "Controller.backend_type is required\n"
    },
    {
      "commit": "887d4a8d98544127e2d20f1220a83eb28d3a9cbd",
      "tree": "9de9da3a7a52ed226c91d19726eced492260e639",
      "parents": [
        "c898437616f721430c634edc4342e64f3a43a50f"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 19 11:32:20 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 19 11:32:20 2015 -0800"
      },
      "message": "display sliver.instance_id in the right places\n"
    },
    {
      "commit": "c898437616f721430c634edc4342e64f3a43a50f",
      "tree": "a0cd7485e5ec8be5fc9280e85785e89e7d45fad0",
      "parents": [
        "7508142aeed136b0b5913a000ffd40ac4d006f06"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 19 08:56:16 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 19 08:56:16 2015 -0800"
      },
      "message": "set creator when creating slice in tenant view\n"
    },
    {
      "commit": "7508142aeed136b0b5913a000ffd40ac4d006f06",
      "tree": "c5dcfcc2bfbd8a8afaceb7efe1a9745081e1c348",
      "parents": [
        "1eace6f80b7c836551159911b42e4fd0fd3b30ee"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 19 08:43:50 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 19 08:43:50 2015 -0800"
      },
      "message": "fix error when creating slice using sliceplus object\n"
    },
    {
      "commit": "1eace6f80b7c836551159911b42e4fd0fd3b30ee",
      "tree": "ac34b169b63b2f150a180412a3f9d86427928ffe",
      "parents": [
        "e8479e12f3d2eab3aa3aab78af2dd03d2a91266c"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 19 08:24:08 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 19 08:24:08 2015 -0800"
      },
      "message": "fix sliver details view not being displayed\n"
    },
    {
      "commit": "e8479e12f3d2eab3aa3aab78af2dd03d2a91266c",
      "tree": "62b1670505870a6410a7ac133a89a65a86dc2484",
      "parents": [
        "8c83e712be18aa775530fae5cc702c70e9d1870e"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 21:39:33 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 21:39:33 2015 -0800"
      },
      "message": "add default route for xosAdminDashboard\n"
    },
    {
      "commit": "8c83e712be18aa775530fae5cc702c70e9d1870e",
      "tree": "d560d737a6c25c7d57c73090eba751f58a93b3c1",
      "parents": [
        "c9c8d0d2474eccc9c5b5a28324b0ef1006f54ab9"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 21:30:10 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 21:30:10 2015 -0800"
      },
      "message": "hide dashboard views that are disabled from customize tab\n"
    },
    {
      "commit": "c9c8d0d2474eccc9c5b5a28324b0ef1006f54ab9",
      "tree": "b1006609b3847cfce027150b094ceda507ffb6fc",
      "parents": [
        "9eebcb696cb33355c56c9278837a98c984dfc2d7"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 17:09:46 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 17:09:46 2015 -0800"
      },
      "message": "add site to user creating admin so users can no longer be created without sites\n"
    },
    {
      "commit": "9eebcb696cb33355c56c9278837a98c984dfc2d7",
      "tree": "13618a9ec4bdcb45d7664f34daeaa31e187acbf0",
      "parents": [
        "d3f083db0aa635c1d8d5ac6ca5b1899d996246a4"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 17:04:35 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 17:04:35 2015 -0800"
      },
      "message": "make tenantview method reslient of users with no site, catch users with no site in sanity check\n"
    },
    {
      "commit": "d3f083db0aa635c1d8d5ac6ca5b1899d996246a4",
      "tree": "b24f9ae3abb33c9252030fc98d32b92c871ca7e0",
      "parents": [
        "9daf19ca9bf48200b5b22b921759c56e7ed1dd18"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 16:53:56 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 16:53:56 2015 -0800"
      },
      "message": "fix tenant view causes minidashboard to be partially obscured\n"
    },
    {
      "commit": "9daf19ca9bf48200b5b22b921759c56e7ed1dd18",
      "tree": "47485ea778ce71d52cea74373485d25e0ee65cfe",
      "parents": [
        "b8f3cab93de66db1c84364bb488854141ef6ccd6"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 16:46:26 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 16:46:26 2015 -0800"
      },
      "message": "show enabled and url in dashboardview admin list\n"
    }
  ],
  "next": "b8f3cab93de66db1c84364bb488854141ef6ccd6"
}
