)]}'
{
  "log": [
    {
      "commit": "78fc136e5c9e29e3a270c9b74f0d8dcd37e446e5",
      "tree": "028590cb5e7226c4ab83c6fba1df11eaaad1eac8",
      "parents": [
        "2f55f26d57a80a50eda3fa1e45737ebc356a1bfe"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Wed Feb 18 11:41:36 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Wed Feb 18 11:41:53 2015 -0500"
      },
      "message": "only root and deployment admins can see controllers\n"
    },
    {
      "commit": "5924818522d83de1e9b57f1e91b2a26e399c309f",
      "tree": "4858dad2ff5e5ace9dcc668def2565549cb33897",
      "parents": [
        "cd4a0c2167ee879926f0351de73dbfd856e7a2bb"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 17 13:34:32 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 17 13:34:32 2015 -0800"
      },
      "message": "allow deployments to be linked to dashboards\n"
    },
    {
      "commit": "5817cb42a1f1c88c06c1ef1a203340731e867422",
      "tree": "4b1cbf529b48279f24b5c05804a2c0b9e2a391df",
      "parents": [
        "383ef170c665d7beaac6372760cf01d393fd3486"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Mon Feb 16 19:54:24 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Mon Feb 16 19:54:45 2015 -0500"
      },
      "message": "add foreign key field \u0027deployment\u0027 to Controller.\n"
    },
    {
      "commit": "86e132cee13741a14f85898d20d35152d35dd3ac",
      "tree": "131d82454a96be0be7a9f6d1fce2c3150cc84731",
      "parents": [
        "8d0f9dc21cb7d4ca87ee0df075a6dd88cb739edc"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 11 21:38:09 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Feb 11 21:38:09 2015 -0800"
      },
      "message": "rename planetstack module to xos\n"
    },
    {
      "commit": "bbc10b42798523ef643e05abd9e0a3ff436c7d93",
      "tree": "dad71304c3e6f273010f727b903e1e659800a741",
      "parents": [
        "c588932f6df1854d42b111a59bf0b7600782c0f8"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Wed Feb 11 15:22:57 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Wed Feb 11 15:22:57 2015 -0500"
      },
      "message": "fix read access permission for site admins. Need to refactor read permission globally\n"
    },
    {
      "commit": "e5f9d7d6d734266eaa6191f3ed26d5afcd92cdc4",
      "tree": "002423686e673c7be52725d565ca2b8625083c9b",
      "parents": [
        "f27edfe72b1723119e90005628d6afd6e4a64bf6"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 10 18:24:20 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 10 18:24:20 2015 -0800"
      },
      "message": "refactor the backend icon stuff to one spot\n"
    },
    {
      "commit": "f27edfe72b1723119e90005628d6afd6e4a64bf6",
      "tree": "1fe4ae9cf561aacb331fee1dca032822822295c4",
      "parents": [
        "28beed9431810ff398b942ff6229937d71f62650"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 10 15:44:30 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 10 15:44:30 2015 -0800"
      },
      "message": "rename DiffModelMixin to PlModelMixin\n"
    },
    {
      "commit": "28beed9431810ff398b942ff6229937d71f62650",
      "tree": "6212305cf8e9731d450175f8b7665635a89fa696",
      "parents": [
        "de9f24c73ba778437af4918b1ed1d4d6d46e0e0d"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 10 15:23:12 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Feb 10 15:23:12 2015 -0800"
      },
      "message": "fix the problems with DiffModelMixin, and eliminate redundant code\n"
    },
    {
      "commit": "8658390246f5ba3b4744def5ee4b7203d15e02a6",
      "tree": "82340e97580a3f2343bea8293c0c3915b31fbb65",
      "parents": [
        "c45a5adcae4191ebf55df70ebdaa98009a732f11"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Tue Feb 10 12:43:07 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@cs.princeton.edu",
        "time": "Tue Feb 10 12:43:07 2015 -0500"
      },
      "message": "planetstack/core/models/site.py\n\nadded \u0027domain\u0027 field to Controller model\n"
    },
    {
      "commit": "03388fa5c7c824424efc90328ac93a4f8ca3488b",
      "tree": "396fdf7d58e7547295c0aa6d9433cfd462228414",
      "parents": [
        "622bcf080fb18e869fc67e788e4006edd1434e0c"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Feb 10 11:46:51 2015 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Feb 10 11:46:51 2015 -0500"
      },
      "message": "Disable notifications, until there is a real need for them, which depends on optimizing OpenStack calls, making them sub-second.\n"
    },
    {
      "commit": "b9cf323c24ddec66614160587b12c5f98ddf6869",
      "tree": "755e8eb5d3f0bf71ef500d36430b3caf1c73514b",
      "parents": [
        "856779412a545bb58d7c09912ac7176a067cd801"
      ],
      "author": {
        "name": "S.Çağlar Onur",
        "email": "caglar@10ur.org",
        "time": "Mon Feb 09 14:53:40 2015 -0500"
      },
      "committer": {
        "name": "S.Çağlar Onur",
        "email": "caglar@10ur.org",
        "time": "Mon Feb 09 14:53:40 2015 -0500"
      },
      "message": "can_update_deploymemt -\u003e can_update_deployment\n\nSigned-off-by: S.Çağlar Onur \u003ccaglar@10ur.org\u003e\n"
    },
    {
      "commit": "856779412a545bb58d7c09912ac7176a067cd801",
      "tree": "d73deb76bc8a3e133923277f645cec3eb80b5860",
      "parents": [
        "3428e6e110afcae2a938921e2e223836e57c0f4e"
      ],
      "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": "3428e6e110afcae2a938921e2e223836e57c0f4e",
      "tree": "924e84e1a2dec0737304dbf390de3783d510f555",
      "parents": [
        "de06c9260e08b04b839bea5b714c66d8466eb2f3"
      ],
      "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": "de06c9260e08b04b839bea5b714c66d8466eb2f3",
      "tree": "f342965d7ae74e5c6a032df49d5f28d11190d193",
      "parents": [
        "b7b1b6ee0984da66a95ed1ab77d6c4bbfc872629"
      ],
      "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": "19c7796daf0f8e3a79928d32e16c17caeb9cf2c8",
      "tree": "1a23823261dc8530d8ebaadaa91c562c2f60d74b",
      "parents": [
        "c44e7467ac8c163aeee29fafc24fe472ab12d242"
      ],
      "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": "cf29cfaeba8698bb7f0bd68f84c119886f199404",
      "tree": "f68d9d3f355d2136d29eece38660d68205a078a8",
      "parents": [
        "201ae3fd0b3d5a27ef5786615fec5dc127765075"
      ],
      "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": "bd46a92d78b4aa9a0636a11cc93c061a7b4df69f",
      "tree": "919ade7c51f89eb28b2142b2f6230e3520702859",
      "parents": [
        "ce7fc0a3382cb4ef7b6a568db4a87ed854819d40"
      ],
      "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": "55b786a8c5c736bb509f434b1ac31a954f948557",
      "tree": "e483f88abe9178b0a067a5f8823fae492126b985",
      "parents": [
        "4af864e736133550e3b18f1a2d7c7f987ec607ac"
      ],
      "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": "8cfe3d2db7607efc713641dcfa1c0163427c4151",
      "tree": "9f19e312dd78a65f69996e4f9cc19f451e0ff162",
      "parents": [
        "79a6409f8127fbe9ecb3cdc1011a37fac75c2f67"
      ],
      "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": "d0cf612a830dba5ed03ea6c07f8701efdb79f28e",
      "tree": "9f1b88f618e6e6180fee6958e4fccc416275ad52",
      "parents": [
        "16a7f65ceda119eeae4b7d23818a9e5966522e06"
      ],
      "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": "1c83dcf4726eef5f4f6d7f4278b5083e097b637c",
      "tree": "93e9d3a2a1fe48639956be6876c379ddcb5a3249",
      "parents": [
        "f92206b825677dd47cb2d3509296f120bbc2cecd"
      ],
      "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": "2d599df3f685d65d84090a47c475e8349791b01a",
      "tree": "01d12a6a0636963d97514091c691a4b877dfad31",
      "parents": [
        "9a9a9ab4e30c089a59e710085abf7cf2c2122dc1"
      ],
      "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": "9a9a9ab4e30c089a59e710085abf7cf2c2122dc1",
      "tree": "e9ccbca470284d26b4d554940ae3d1ba1ba0c555",
      "parents": [
        "8c52051fd7e9b639bec780fb5ebf409b84bcfd6c"
      ],
      "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": "8c52051fd7e9b639bec780fb5ebf409b84bcfd6c",
      "tree": "99ff3c131beca89bedae939316c357c9806dded9",
      "parents": [
        "9d0595c14afd11386c3e2168561a42cfa425428b"
      ],
      "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": "311761942470622f307abe13d053dffa428d4314",
      "tree": "8de46f12c67b64371da8080f7960054869ebca4e",
      "parents": [
        "6db630231c4db3d509dc1599d558d19bfad7f805"
      ],
      "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": "3dfb6cbefd19cfb61dec2704a1dbb76cae651f3f",
      "tree": "68be1547c671e8f487e38a5256909a82f9745c1e",
      "parents": [
        "933b29148fb93c465fc582398ad6a66ead84c98e"
      ],
      "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": "3a3b2810eb700931bba386529e29738beac7da8a",
      "tree": "c74057d29825c34c564457409f00d074e399977d",
      "parents": [
        "365545d01ee482c148a772724d67f680303d5f43"
      ],
      "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": "7ccc6adad88296650252a091cae41b6afc5855e7",
      "tree": "829d822ac68b0c702fc7a6d5e8e920c6ac7a4fed",
      "parents": [
        "efc21d5b08afcc12a3f90db2c716ec10c8fa793b"
      ],
      "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": "030cede86a52b685b2cc7418db0eeabac874b92b",
      "tree": "36879a6d01503cbb490a4aacc1444c95a67ac632",
      "parents": [
        "f3278d1daf573539b87b53deffcbb128942dba54"
      ],
      "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": "f3278d1daf573539b87b53deffcbb128942dba54",
      "tree": "804a434da1cd8e4d07d8b233a6893f4837e27d21",
      "parents": [
        "ab66b7d5f63bbe3265e76216770041bd56b40281"
      ],
      "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": "ab66b7d5f63bbe3265e76216770041bd56b40281",
      "tree": "54b0ece204a6e61cd13f58dfba4ded8bd9dd66d9",
      "parents": [
        "ca11bb8c4f0e283214af9d1e8ac435a519dcac14"
      ],
      "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": "68b9c1ca6ee0bb7cc9ac6e6a4e8cc5142430d0dc",
      "tree": "1b219027c670c65f2cc1948eae562421f40bb357",
      "parents": [
        "4f93821431bc87a09923da80a57cb7da82084276"
      ],
      "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": "ad2208f794b4fb6a15f22f1403abbc1f838bb59b",
      "tree": "fc4696eb881cdb80aa05126338b9f146e9ce6d79",
      "parents": [
        "9d856056369f5eb51c25fc8a4a7621862c9c70f6"
      ],
      "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": "c15ad1b8e7c6a13ecc9024c475a067b494de3e65",
      "tree": "29f55b7288c2f3532e690c781812b17294a737ce",
      "parents": [
        "db20b752834792d485f5ee73db4255038747b69e"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 16:33:30 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sun Jan 18 16:33:30 2015 -0800"
      },
      "message": "add ability to disable dashboards\n"
    },
    {
      "commit": "99f23515f39558f92fa4e2d5c4f91382f0160820",
      "tree": "07396b977c6ba6f815b3d92f2ab5c1f0f46c88ef",
      "parents": [
        "a410100675153f4626f6940c58374e9a05b1edf7"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 18 15:42:10 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Jan 18 15:42:10 2015 -0500"
      },
      "message": "fix sliver.name\n"
    },
    {
      "commit": "4f134e66ccccdf80cee22efeaea98df0db906912",
      "tree": "8df481647445c262fee7240a0d67b66f75c10431",
      "parents": [
        "840862d172f6dccdd75f913c6c080cd150ef177d"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 14 20:58:38 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Jan 14 20:58:38 2015 -0500"
      },
      "message": "add nodes tab to site admin\n"
    },
    {
      "commit": "2e897fa5cad20cbe5945c483e1da0398bff6553c",
      "tree": "6314d78dc86331457f58dd381b8e80360899f738",
      "parents": [
        "f13a0cf5b138e9071cd61b1b857d08ff0314f1ca"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 13 17:33:08 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 13 17:33:22 2015 -0500"
      },
      "message": "only admins can save/update controllers\n"
    },
    {
      "commit": "3c2b5cda56d13e469b1907e6d53dcaf8bab53589",
      "tree": "8360f38f071c032ec7e365c08e65aa238bb3fb5d",
      "parents": [
        "48b84d198f0840731a6a46f28c15a622c77ed8c3"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 12 13:13:05 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 12 13:13:05 2015 -0800"
      },
      "message": "remove image_preference, add default_image, default_flavor to slice\n"
    },
    {
      "commit": "30dfcd77ce894748b82c82df145d970de130f3f7",
      "tree": "1879fa1b96580dc013d6b709ce28ec834e7218c1",
      "parents": [
        "d1275eabcd7e6ea569add83b9501314ea1a0c364"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 10 23:08:10 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 10 23:08:10 2015 -0500"
      },
      "message": "cleanup controller links in admin.py\n"
    },
    {
      "commit": "ce4e2c28476ccbcb08bf7cc08e51908ed985e21e",
      "tree": "9f7ca2bcbac2e4f31889fec9cacb2a6f6c5f39fb",
      "parents": [
        "d96353e394762c3fc401214dc5391f8cef3e3262"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 06 23:48:02 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 06 23:48:02 2015 -0500"
      },
      "message": "checking in missing site/slice privilege steps\n"
    },
    {
      "commit": "928888b557a61fa144e517a5fc0b87e9c9ef885b",
      "tree": "ff61eed6ce0af008b17c88c8db7c045828ecb123",
      "parents": [
        "723fd25ca173a532b0c12605f2cbc95005c7e405",
        "74364934e8481d714db0b8a97ca1a516b02ebb19"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 06 15:13:34 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 06 15:13:34 2015 -0800"
      },
      "message": "conflict resolution\n"
    },
    {
      "commit": "723fd25ca173a532b0c12605f2cbc95005c7e405",
      "tree": "bf074dc023b6182cde8bd435f330f2712e4cb160",
      "parents": [
        "0fd06341e9d9ad75caab8a163077081512fad3b4"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 06 15:11:29 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Jan 06 15:11:29 2015 -0800"
      },
      "message": "network.py warning messages to stderr instead of stdout\n"
    },
    {
      "commit": "74364934e8481d714db0b8a97ca1a516b02ebb19",
      "tree": "d0e7722159fbfe002b2de945358e76398c7b6b84",
      "parents": [
        "e2363c18da73b0db7f4a07f7b51a80beae4851f0"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 06 17:49:25 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Tue Jan 06 17:49:25 2015 -0500"
      },
      "message": "bug fixes\n"
    },
    {
      "commit": "3066a95648a57a5be7670a6b5c4713cdebcb04c7",
      "tree": "b89e1d323ab485e1a84a61ea5214638428654771",
      "parents": [
        "ebc03eb7e2e4a34d20c27a07083e8b37fc62ee46"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Jan 05 22:48:11 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Jan 05 22:48:42 2015 -0500"
      },
      "message": "removing plural from model names. some cleanup\n"
    },
    {
      "commit": "ebc03eb7e2e4a34d20c27a07083e8b37fc62ee46",
      "tree": "e12c120810e9abfa0cde34cabb487b495046225c",
      "parents": [
        "9d2c5c51561bab62bfc6be19f8aa76d8b91d49d6"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 05 17:26:36 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Jan 05 17:26:36 2015 -0800"
      },
      "message": "user model needed its GetValidators method\n"
    },
    {
      "commit": "ffce785f37abce20680e03331ae817e750b844ec",
      "tree": "aa76745d4d15b0cd5d3353193fbc8464d39cceac",
      "parents": [
        "9e4d8161511a686d3a66acbb98984a56bfb0191e"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 03 16:26:38 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 03 16:26:38 2015 -0800"
      },
      "message": "rename camelcase fields in slice\n"
    },
    {
      "commit": "42ff3439348ace87dc6dacc0598c1007549f9b09",
      "tree": "dea737a105687958832cb473cf9670a9ace16866",
      "parents": [
        "58cea712a343114e746c4f608aa696fbaacf2e95"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 17:37:36 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 17:37:36 2015 -0500"
      },
      "message": "removing ControllerSiteDeployment object. Move tenant_id field to SiteDeployments model\n"
    },
    {
      "commit": "58cea712a343114e746c4f608aa696fbaacf2e95",
      "tree": "623e17fa78ee7cbf9e6a0384ba6178f4f9411597",
      "parents": [
        "81ad09e81b9a85441d5bd1eb0ad26f974198e562"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 17:32:23 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 17:32:23 2015 -0500"
      },
      "message": "removing ControllerSiteDeployment object. Move tenant_id field to SiteDeployments model\n"
    },
    {
      "commit": "81ad09e81b9a85441d5bd1eb0ad26f974198e562",
      "tree": "f9f6e7fe1d3f637bd7a0819d9e8c0cb6744870e0",
      "parents": [
        "07da1989f478a9a5065b52686e7c7466f2ad288f"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 17:26:06 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 17:26:06 2015 -0500"
      },
      "message": "removing ControllerSiteDeployment object. Move tenant_id field to SiteDeployments model\n"
    },
    {
      "commit": "06e8ecf7ae541a3709218290017e220d2584a07e",
      "tree": "3824a16ba36673ec25866d1757d50e25b427375f",
      "parents": [
        "549aa2559b327b3ec0044efe33128690b912f812",
        "bd6696fb3da2dbe11c555e4b34648002e621cc13"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 03 12:29:43 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 03 12:29:43 2015 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "549aa2559b327b3ec0044efe33128690b912f812",
      "tree": "0d5800b0f905385c676d956b09110fa1bd45a1d2",
      "parents": [
        "f515df476536354291f9c8f1bf0b7c2b62f5671f"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 03 12:29:29 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 03 12:29:29 2015 -0800"
      },
      "message": "update code to use renamed network fields\n"
    },
    {
      "commit": "2040f5dc176d044403bf588d7eb18dadf3f1df77",
      "tree": "30c2b95ec82420cba38660133a32a676f827e125",
      "parents": [
        "16fce9c8dba17fabca033e0a9fc9b841c4bc30c5"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 14:26:15 2015 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sat Jan 03 15:22:09 2015 -0500"
      },
      "message": "added \u0027remote_password\u0027 property to User model\n"
    },
    {
      "commit": "369f9b98163584e5725cb4f13be0c938b6270bae",
      "tree": "1a6cbf7904f38bebe8b480c89fe6a6519f3ceb17",
      "parents": [
        "ac9791b0896904250595d67c2cb0477f70a83df6"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 03 12:03:38 2015 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Sat Jan 03 12:03:38 2015 -0800"
      },
      "message": "update to make use of renamed NetworkTemplate fields\n"
    },
    {
      "commit": "b2dba4bb36415d2c7dc93d25de47fca8feac9e68",
      "tree": "481abb4b60445c327ed9c73d5ceb2c59fc30d507",
      "parents": [
        "625e10ecfa51d1a9a51512d3ba8fd129e8756014"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Dec 26 13:38:02 2014 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Dec 26 13:38:02 2014 -0500"
      },
      "message": "replaced sliver.controllerNetwork with sliver.deployment\n"
    },
    {
      "commit": "625e10ecfa51d1a9a51512d3ba8fd129e8756014",
      "tree": "3d41f1e1ae759f972c8c7b03691252f0e646da2f",
      "parents": [
        "e42b4967cd2ed28a42f0a65f75661187424b7a1d"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Dec 26 12:15:42 2014 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Dec 26 12:15:42 2014 -0500"
      },
      "message": "added version to Controller string representation\n"
    },
    {
      "commit": "201f7da54150c653c152eee16faaf3fcb1eaaea8",
      "tree": "984bca58566035b5bda5d441be13d3d70d7e3a31",
      "parents": [
        "0461aee1c8aba320af4219c0ef9af61186ba049d"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Dec 23 10:56:06 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Dec 23 10:56:06 2014 -0800"
      },
      "message": "latest auto-generated genapi\n"
    },
    {
      "commit": "c04e1421862b51e59675c8210f666bb3e1eae599",
      "tree": "68bc4a7c645be391df51ed2f68bade5eeee6aa81",
      "parents": [
        "b35adc4eb5d85efbe5146576fb7848473551f548"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Dec 23 09:39:06 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Dec 23 09:39:06 2014 -0800"
      },
      "message": "fix error when displaying dashboards in home view\n"
    },
    {
      "commit": "d2ab6c519d2ce2add37d08bb2e9fdf2d20d887f3",
      "tree": "01e4b1f308d16c2418bcdf29a09d09f478f7df23",
      "parents": [
        "f2c0c51e7440bb6c0c0dfc7a498289fe94508649"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Dec 22 17:43:25 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Dec 22 17:43:25 2014 -0800"
      },
      "message": "change capitolization of related_name for ControllerDashboardView\n"
    },
    {
      "commit": "f2c0c51e7440bb6c0c0dfc7a498289fe94508649",
      "tree": "50eae0b219842901683d406b09be0cc0a55f0c4e",
      "parents": [
        "bf4ef6d513255a6b3deeef3b4f02c9fab5df37ea"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Dec 22 17:35:34 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Dec 22 17:35:34 2014 -0800"
      },
      "message": "rename ControllerDashboard to ControllerDashboardView\n"
    },
    {
      "commit": "f958984772de533cc7212946e21cebce5dc7fb53",
      "tree": "7f09208b64d37b1fd00b7bc19c00059ce489811b",
      "parents": [
        "ff19f52bcc783dea1e4d86129bb2031a3a1a2957"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Dec 22 15:59:05 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Dec 22 15:59:05 2014 -0800"
      },
      "message": "add ManyToMany for (Image, Deployment)\n"
    },
    {
      "commit": "b04f51aab325cc7b168b4a74176681c6e7498e07",
      "tree": "5ce517830919199354fa2d4fd5407f2e1db89f38",
      "parents": [
        "6eb9391fef0e05756603d7ccfce30e641b2bcc21"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 12:49:55 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Dec 22 12:49:55 2014 -0500"
      },
      "message": "BUGFIX: Controller related field change\n"
    },
    {
      "commit": "786a9c1d7741c60c882f827769d034aec385caff",
      "tree": "c960b27cdae3c4476321722397604e72a00f5429",
      "parents": [
        "83f5b62d9eef8678b912301788ccf3be092063b3"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Dec 19 16:41:12 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Dec 19 16:41:12 2014 -0800"
      },
      "message": "models for per-controller dashboard views\n"
    },
    {
      "commit": "83f5b62d9eef8678b912301788ccf3be092063b3",
      "tree": "d19090e0b231d335d9237dd586e5f7ef3e45c188",
      "parents": [
        "50f9377d6b5d6db9294304e8c7a5d8bc0a541252"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Dec 19 13:02:31 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Dec 19 13:02:31 2014 -0800"
      },
      "message": "fix \u0027sys not defined\u0027 error when displaying observer not installed warning\n"
    },
    {
      "commit": "c1057711052af69ee1dcbb281e0a3525a407ca52",
      "tree": "98068345391dd7872c2efebc6c3c21f18a5d98d9",
      "parents": [
        "7419af0efe16c8b7c609a26e7786cfefa1993e64"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Dec 19 12:22:51 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Dec 19 12:22:51 2014 -0800"
      },
      "message": "fix migration creation issue due to DiffModelMixin\n"
    },
    {
      "commit": "68a1e425692caffbfc54c0229b9abd2c5be315a2",
      "tree": "c893d0987a562c49ee3e49fb7231e20e1e9662a6",
      "parents": [
        "d14d48f26d89055a14b2dc38fe3997c7b2c5c654"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Dec 08 16:43:02 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:01:43 2014 -0500"
      },
      "message": "refactor and bug fixes\n"
    },
    {
      "commit": "d14d48f26d89055a14b2dc38fe3997c7b2c5c654",
      "tree": "85933804751ecce258f8cfaa0411674955119821",
      "parents": [
        "06c8e4784530ddfb55757d9f0fe4c63756a206b4"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Fri Dec 05 17:13:08 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:01:38 2014 -0500"
      },
      "message": "refactor\n"
    },
    {
      "commit": "06c8e4784530ddfb55757d9f0fe4c63756a206b4",
      "tree": "11eb24cc61c998a32bbfb22c4cda8a4b16ccd936",
      "parents": [
        "51c4a7da168cc676ff8b6bc1b7db35b0c1fbe1b8"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Nov 30 15:53:08 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 14:00:11 2014 -0500"
      },
      "message": "Controller replaces Deployment\n"
    },
    {
      "commit": "51c4a7da168cc676ff8b6bc1b7db35b0c1fbe1b8",
      "tree": "622d505667c6c6d83c1a8e5a14acbea06965a8de",
      "parents": [
        "d923b813adf079320f90208dbb949a72a9a67d78"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Sun Nov 30 15:33:35 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Fri Dec 19 13:58:11 2014 -0500"
      },
      "message": "introduce Controller model\n"
    },
    {
      "commit": "772c7c2cc1d07c1b9500b58ef63a94aad2178401",
      "tree": "2601e1f964c5bf01a1a6bd15c35f07326211e6e5",
      "parents": [
        "eec8acc123c9e3c16273ef76128ce0abb5593c61"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Dec 16 01:09:04 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Dec 16 01:09:04 2014 -0500"
      },
      "message": "Ability to pull slice stats\n"
    },
    {
      "commit": "eec8acc123c9e3c16273ef76128ce0abb5593c61",
      "tree": "970660d605830904cd4369591a9f317c356d19e1",
      "parents": [
        "6d7e7bd7048fb47d8e940a31aab18ef1f72ea4ce"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Dec 16 01:08:51 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Dec 16 01:08:51 2014 -0500"
      },
      "message": "Ability to pull Sliver stats\n"
    },
    {
      "commit": "36286b283ac2cbaac9dd8d1793219a4cda008a49",
      "tree": "83cfb81ef9029aaaf803bddabc53b2341e7b5e33",
      "parents": [
        "f864173e6468a68b668aa5316edfe38749b7bbff"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Dec 01 21:42:59 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Dec 01 21:42:59 2014 -0800"
      },
      "message": "allow blank for enacted field\n"
    },
    {
      "commit": "0d4ecd994f397c2661103c06f8325785385a1ab8",
      "tree": "0ee84678006bd341a5e063991ad1e7a2e8cb07ce",
      "parents": [
        "66074b37e41fa99a03810a8f60bbef6766ab4abc"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Nov 26 00:53:19 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Nov 26 00:53:19 2014 -0800"
      },
      "message": "validation of URL fields\n"
    },
    {
      "commit": "d48371ef6a90a1d8715f79d2c67efbb2c752ca36",
      "tree": "91671fda62c3472dc4d7e7ded2029dfa110f58bb",
      "parents": [
        "0752172b825cbef5dccc36d695dedbc1988d3b68"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Nov 25 11:35:19 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Nov 25 11:35:19 2014 -0800"
      },
      "message": "validators for xoslib\n"
    },
    {
      "commit": "485051206ea0d27b3cbb09ce2cee584ebcba8037",
      "tree": "b41c417959ea142d373efecd223a095b42b7570f",
      "parents": [
        "17dbb02dd7acbcd3e28a5999f642ae7933a366c4",
        "a283f503658c911341627e9e3269eeffdd3f2cf0"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Nov 25 00:49:30 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Nov 25 00:49:30 2014 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "17dbb02dd7acbcd3e28a5999f642ae7933a366c4",
      "tree": "8f5989760e680ffb0563a6c5ba9a80bcd8a51233",
      "parents": [
        "8560fd13fc50fca6371640c13a775df5faf1eb9f"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Nov 25 00:49:17 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Nov 25 00:49:17 2014 -0800"
      },
      "message": "add getValidators function\n"
    },
    {
      "commit": "a283f503658c911341627e9e3269eeffdd3f2cf0",
      "tree": "7dd6466958d98ff0b61f03b4ecf30c3cb9ce77c2",
      "parents": [
        "301d4a0cf842b760d005d2686813deceb3faf0a6"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Nov 24 16:44:48 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Nov 24 16:44:48 2014 -0500"
      },
      "message": "Typo\n"
    },
    {
      "commit": "301d4a0cf842b760d005d2686813deceb3faf0a6",
      "tree": "ccd2a1a23d03c1e798dbf7c2137ef1b28e5e34b8",
      "parents": [
        "0e183387d2d5c0010a1e6f3aee154b18a4a70515"
      ],
      "author": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Nov 24 15:16:18 2014 -0500"
      },
      "committer": {
        "name": "Sapan",
        "email": "sapanb@cs.princeton.edu",
        "time": "Mon Nov 24 15:16:18 2014 -0500"
      },
      "message": "Fixed a naming issue s/SliceDeploymentss/ss/s\n"
    },
    {
      "commit": "e20777dca3c5bd6f0b8628c3898e3f2fc2973e9c",
      "tree": "1a40ac4a02fcc7a8877ff1948b2a9d841e634ec9",
      "parents": [
        "1b6bba2415d8c03a1e28f63b768bfde4bd9d710e"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 19 15:10:51 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 19 15:10:51 2014 -0500"
      },
      "message": "Renamed UserDeployment back to UserDeployments\n"
    },
    {
      "commit": "1b6bba2415d8c03a1e28f63b768bfde4bd9d710e",
      "tree": "c4a71272f3ac0745cf0ddc39ed738cd7e6758a36",
      "parents": [
        "85e0908eddad887eae534a8020a00aef931ac1e6"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 19 15:10:16 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 19 15:10:16 2014 -0500"
      },
      "message": "Renamed ImageDeployment back to ImageDeployments\n"
    },
    {
      "commit": "85e0908eddad887eae534a8020a00aef931ac1e6",
      "tree": "1bd7dbfb5f3fc7aa000a03d4ed99649c26aac537",
      "parents": [
        "b55f4a3a6f6af3a867e8f164653114b579d4c4e9"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 19 15:09:38 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 19 15:09:38 2014 -0500"
      },
      "message": "Renamed SliceDeployment back to SliceDeployments\n"
    },
    {
      "commit": "b55f4a3a6f6af3a867e8f164653114b579d4c4e9",
      "tree": "4372abfe5137cf163371c75bc4025d9dbf235ec6",
      "parents": [
        "6588ba2c419fb812d47b64f14dbbbd3090f6b241"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 19 15:07:36 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 19 15:07:36 2014 -0500"
      },
      "message": "Renamed SliceDeployment back to SliceDeployments\n"
    },
    {
      "commit": "7e9b6086fd7bd738f3c46197baf7fb940718a61b",
      "tree": "2ab8befc71b272a087ee8e6f46db39e13cb3665b",
      "parents": [
        "3e28dd792afc42bb3a59f3b6a6a9ca7ecf2c188a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Nov 17 16:18:00 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Nov 17 16:18:00 2014 -0800"
      },
      "message": "add controllerUrl to network object\n"
    },
    {
      "commit": "59078f892c6bae7bf5790d99b0ed272e227fab0c",
      "tree": "c1b581ee065d39c4d25ea647f242a53a24b19099",
      "parents": [
        "12e9bcb1d1b9460a29362594995702c0a5791c88"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Nov 17 16:03:49 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Nov 17 16:03:49 2014 -0800"
      },
      "message": "check in network migrations\n"
    },
    {
      "commit": "7809be496128e86f0bab3b3d9038262d74b0e3a9",
      "tree": "0becaf880bbe098b6e81305ea0da07f26544c2e6",
      "parents": [
        "f6613e3606769bc07089218a6b9088ba33a5f64b",
        "4f9a5dea96132d4197fbd9fc35b9f65734007481"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 12 10:38:53 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 12 10:38:53 2014 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.planet-lab.org/plstackapi\n"
    },
    {
      "commit": "f6613e3606769bc07089218a6b9088ba33a5f64b",
      "tree": "58e6eff04a3a11aa07105e697c669a21ba8b277b",
      "parents": [
        "e33b9dc85de42fce95cf85df7323fa93d026250e"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 12 10:38:23 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 12 10:38:23 2014 -0500"
      },
      "message": "Added list of ephemeral models to be autodeleted\n"
    },
    {
      "commit": "e33b9dc85de42fce95cf85df7323fa93d026250e",
      "tree": "e57cb3119d51c949dda3d3c045daa7e73f4320e5",
      "parents": [
        "0fb256edbeffd1813cbfa65b01d9cf6997b39584"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 12 10:06:23 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 12 10:06:23 2014 -0500"
      },
      "message": "Added is_ephemeral: a flag that determines if a model is automatically deleted when its related models are deleted\n"
    },
    {
      "commit": "a881224bcb1caed698b028254ad803909d093d3b",
      "tree": "1131919471db0ae50b040ae52044986c0dc92b90",
      "parents": [
        "c696df87faabddb575544909b5c2a14f6e6fb14d"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Nov 12 10:01:26 2014 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Nov 12 10:01:38 2014 -0500"
      },
      "message": "cleanup\n"
    },
    {
      "commit": "b19c22aa1c0d47bbc3eac773f8252321e38f25e7",
      "tree": "70bdbd46fa3c77a09b21cdce4e9b9d70dd68034a",
      "parents": [
        "f83ea3070f52ee3b72093c3234e6d5a5106aa32d"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 23:05:53 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 23:05:53 2014 -0500"
      },
      "message": "Renamed ImageDeployments-\u003eImageDeployment\n"
    },
    {
      "commit": "f83ea3070f52ee3b72093c3234e6d5a5106aa32d",
      "tree": "fb5a51448cec1a550d13cd2e71338307fdb05f3d",
      "parents": [
        "6bfa2cac36a419b8cebe8f2f605eb6d4a6c5541d"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 22:01:30 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 22:01:30 2014 -0500"
      },
      "message": "Migration script for conventions-related renaming\n"
    },
    {
      "commit": "6bfa2cac36a419b8cebe8f2f605eb6d4a6c5541d",
      "tree": "31745dce6ea4d4f117f7c8d07d4a97c4bb9dacd4",
      "parents": [
        "bfe716a1dd0b78cb3ff57e0cf5911902d773b8eb"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:47:45 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:47:45 2014 -0500"
      },
      "message": "This change renamed a number of misnamed related fields (e.g. site_privileges-\u003esiteprivileges), adds them where they are missing, and changes the corresponding accessors.\n"
    },
    {
      "commit": "bfe716a1dd0b78cb3ff57e0cf5911902d773b8eb",
      "tree": "9d0a514da6ff4edf748dcac31727b1aeaf6cc9bb",
      "parents": [
        "18e01e35cfc3b1b44fbb6214553f02df705e869d"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:44:35 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:44:35 2014 -0500"
      },
      "message": "Renamed UserDeployments-\u003eUserDeployment\n"
    },
    {
      "commit": "18e01e35cfc3b1b44fbb6214553f02df705e869d",
      "tree": "9b2d038160cbab18a8cdce91bc52002b02bb12b6",
      "parents": [
        "3d872e574d5faf42fb95a92b7e46413c08dbe1ac"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:43:31 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:43:31 2014 -0500"
      },
      "message": "Renamed SliceDeployments --\u003e SliceDeployment\n"
    },
    {
      "commit": "3d872e574d5faf42fb95a92b7e46413c08dbe1ac",
      "tree": "5673c4c31400b8ea7a43c267d0d330f1a3c9328b",
      "parents": [
        "d2d5dd807407ee03b6788f0f42871d0ffd0ef8fc"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:41:12 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:41:12 2014 -0500"
      },
      "message": "Renamed SiteDeployments-\u003eSiteDeployment\n"
    },
    {
      "commit": "d2d5dd807407ee03b6788f0f42871d0ffd0ef8fc",
      "tree": "dfda25e933d29771d762c439b76f371627716e8c",
      "parents": [
        "0273d40b088f8a8bff1e8f7235b0e2950e28a105"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:10:07 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Tue Nov 11 21:10:07 2014 -0500"
      },
      "message": "Adjust to enforce field naming conventions\n"
    },
    {
      "commit": "82db43ccaff9e3233988b309e2dc42dcb676dd67",
      "tree": "0a657a4f809228ff9840de21d015632620daa0cc",
      "parents": [
        "3bc40f7980ede19fa48faff7678dfb63de6b1c03"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Nov 06 17:33:27 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Nov 06 17:33:27 2014 -0800"
      },
      "message": "deal with migrations problem\n"
    },
    {
      "commit": "14356b7e265d73c90190d43eba41d197334b5689",
      "tree": "4fd3857c6e332fc037e992ba288876d29ba31196",
      "parents": [
        "ed12d51a350e04fb2b6e82dc78a6e9a998fb4c3b"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 05 10:32:41 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "sapanb@cs.princeton.edu",
        "time": "Wed Nov 05 10:32:41 2014 -0500"
      },
      "message": "Merged ansible branch into master\n"
    },
    {
      "commit": "82d901bd55cd6177100cfa0d6fda5246e036215b",
      "tree": "2ae4f19e2ae47c5c3874872f2fc0e2b393b64bfd",
      "parents": [
        "cc9e2590570e3ada475f1eae9274cd4a1e795e90"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Oct 22 13:30:41 2014 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Oct 22 13:30:41 2014 -0400"
      },
      "message": "cleanup network objects associated with slice that\u0027s deleted\n"
    },
    {
      "commit": "f22e73a25ebcf3928c61c8144807eac3aaf5e218",
      "tree": "4430db66a2d3c0ad41d03342d4db5f7c8e93506b",
      "parents": [
        "8806cdf519b3131da827d7914e072e935524a332"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Oct 17 18:45:00 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Oct 17 18:45:00 2014 -0700"
      },
      "message": "fix user admin showing deleted users\n"
    },
    {
      "commit": "a289ed7f253f98b483b5a643f5bd40bef7d66704",
      "tree": "2e66173229a568375dee90b34feca676acaaf3dd",
      "parents": [
        "9b3c1af87371f0318a12f2dfdd66c35e19577644"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Oct 17 16:22:20 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Oct 17 16:22:20 2014 -0700"
      },
      "message": "validate ports field in network object\n"
    },
    {
      "commit": "3d2d3e46d33967414833fc93f3420787a1cd0c08",
      "tree": "fcdfe6de12c39cbb3551d6268a69db2e4e605fdf",
      "parents": [
        "d29431ba255b9d182e8ac2f87897290e3cbcb7bd"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Oct 09 16:22:00 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Oct 09 16:22:00 2014 -0700"
      },
      "message": "fix keyerror in plcorebase.delete\n"
    }
  ],
  "next": "d29431ba255b9d182e8ac2f87897290e3cbcb7bd"
}
