)]}'
{
  "log": [
    {
      "commit": "2a72eaf7951d80f01cdf683945732357b8405253",
      "tree": "83cfb81ef9029aaaf803bddabc53b2341e7b5e33",
      "parents": [
        "921527555e5cae05ec85dc3ef313d8edb4687517"
      ],
      "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": "0d1086712bbe49fdf989dd0757b41d0d4cede892",
      "tree": "0ee84678006bd341a5e063991ad1e7a2e8cb07ce",
      "parents": [
        "1e47d9e3bc649271e473b48fb4a55bfac7b31318"
      ],
      "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": "56f799be4d83226d7a8df947aa1f850f47c9c5cc",
      "tree": "91671fda62c3472dc4d7e7ded2029dfa110f58bb",
      "parents": [
        "ab2a1688a64b29e5e13b0b31eab511b0b3a6a243"
      ],
      "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": "afbede899533fdb2884ec8ea27cb0e93cb39b58f",
      "tree": "b41c417959ea142d373efecd223a095b42b7570f",
      "parents": [
        "e40fbd41ebb3c0199363185e3bd6c3dc706fd047",
        "e0abef3b25ed043ea5a3f299bc65b6b96e23ac5a"
      ],
      "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": "e40fbd41ebb3c0199363185e3bd6c3dc706fd047",
      "tree": "8f5989760e680ffb0563a6c5ba9a80bcd8a51233",
      "parents": [
        "562d595706e7c80bf004b12dde9c42286fbb403f"
      ],
      "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": "e0abef3b25ed043ea5a3f299bc65b6b96e23ac5a",
      "tree": "7dd6466958d98ff0b61f03b4ecf30c3cb9ce77c2",
      "parents": [
        "1da9b4c72442fc8e8c5bf71c6872a4fffa349711"
      ],
      "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": "1da9b4c72442fc8e8c5bf71c6872a4fffa349711",
      "tree": "ccd2a1a23d03c1e798dbf7c2137ef1b28e5e34b8",
      "parents": [
        "c73d19e189139cde373d237e28bb6266182861f7"
      ],
      "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": "3f87969b0d07bb3375b6896f6dd5758f8d5245d0",
      "tree": "1a40ac4a02fcc7a8877ff1948b2a9d841e634ec9",
      "parents": [
        "e9f96f65a6bdddebe0f342c4075b682420b247f9"
      ],
      "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": "e9f96f65a6bdddebe0f342c4075b682420b247f9",
      "tree": "c4a71272f3ac0745cf0ddc39ed738cd7e6758a36",
      "parents": [
        "bf7856b225a2f40192f72f998ca2c1d3c1850536"
      ],
      "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": "bf7856b225a2f40192f72f998ca2c1d3c1850536",
      "tree": "1bd7dbfb5f3fc7aa000a03d4ed99649c26aac537",
      "parents": [
        "39e8558d04c4f4bfc176cb140b6c3f07447195ca"
      ],
      "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": "39e8558d04c4f4bfc176cb140b6c3f07447195ca",
      "tree": "4372abfe5137cf163371c75bc4025d9dbf235ec6",
      "parents": [
        "c2dd1656e31f24ffddea027c79d8b502e1fb30d0"
      ],
      "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": "7b6722e8f5351b2e80cd7fe89810d4e6c269e36f",
      "tree": "2ab8befc71b272a087ee8e6f46db39e13cb3665b",
      "parents": [
        "4024871516740ac3eb8fa49a327aecadfe4252dd"
      ],
      "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": "f2e0cfc6fda80ff7dbf5845780720eff6b47320b",
      "tree": "c1b581ee065d39c4d25ea647f242a53a24b19099",
      "parents": [
        "89e9d25e333c598d3338cce6fc532c121db5fa43"
      ],
      "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": "0bb6be166f1ae56f8d2b66bb8ab1f10b193f58c3",
      "tree": "0becaf880bbe098b6e81305ea0da07f26544c2e6",
      "parents": [
        "40bbfd9f234e29bfce640e85c381c06c61f5c280",
        "3f72d085b92f208d87bc88b882e55d42b1dde171"
      ],
      "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": "40bbfd9f234e29bfce640e85c381c06c61f5c280",
      "tree": "58e6eff04a3a11aa07105e697c669a21ba8b277b",
      "parents": [
        "998b32e6225e98a4444ae05f2a08825068f309cf"
      ],
      "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": "998b32e6225e98a4444ae05f2a08825068f309cf",
      "tree": "e57cb3119d51c949dda3d3c045daa7e73f4320e5",
      "parents": [
        "acba4fa7e6cdcdff758de9c4f6fcd6d18799a695"
      ],
      "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": "9b53a4c787f77769f57f6946e97a6334aa7130fe",
      "tree": "1131919471db0ae50b040ae52044986c0dc92b90",
      "parents": [
        "d0eeed8f23b75c4cab5af772e55e3adcf3ac945c"
      ],
      "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": "18b779cedfdf459776c96fdd9f6d33f67e3a3b5c",
      "tree": "70bdbd46fa3c77a09b21cdce4e9b9d70dd68034a",
      "parents": [
        "ab9f84b59ba4340eb8561f34b4f7df2446cf655e"
      ],
      "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": "ab9f84b59ba4340eb8561f34b4f7df2446cf655e",
      "tree": "fb5a51448cec1a550d13cd2e71338307fdb05f3d",
      "parents": [
        "13d2db93b1f2406074020e8f8be4f96e5635e653"
      ],
      "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": "13d2db93b1f2406074020e8f8be4f96e5635e653",
      "tree": "31745dce6ea4d4f117f7c8d07d4a97c4bb9dacd4",
      "parents": [
        "84ba65dba9ca540238488ad52dee2bfbad7cd198"
      ],
      "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": "84ba65dba9ca540238488ad52dee2bfbad7cd198",
      "tree": "9d0a514da6ff4edf748dcac31727b1aeaf6cc9bb",
      "parents": [
        "7a8b7e91c9a9d32b6c5396eb9cfc75743b62a656"
      ],
      "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": "7a8b7e91c9a9d32b6c5396eb9cfc75743b62a656",
      "tree": "9b2d038160cbab18a8cdce91bc52002b02bb12b6",
      "parents": [
        "6d21da378cf315de6b3f68ea5ebec3901f926e60"
      ],
      "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": "6d21da378cf315de6b3f68ea5ebec3901f926e60",
      "tree": "5673c4c31400b8ea7a43c267d0d330f1a3c9328b",
      "parents": [
        "900baf9deb3d4c510e984f896877ca4179a3b15d"
      ],
      "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": "900baf9deb3d4c510e984f896877ca4179a3b15d",
      "tree": "dfda25e933d29771d762c439b76f371627716e8c",
      "parents": [
        "fb8707da90447e09ee7676cccf1794c9aa62ff94"
      ],
      "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": "46e50affd5d353d1bee31c9c6f1c1a5a0485b6b1",
      "tree": "0a657a4f809228ff9840de21d015632620daa0cc",
      "parents": [
        "9061a933bbb15bf40e977527b394ed1d13d9ab6e"
      ],
      "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": "475c597082a6b4c888e6ea11f606cd062882c732",
      "tree": "4fd3857c6e332fc037e992ba288876d29ba31196",
      "parents": [
        "98e3177c94196f961c6f2ab04543e0227cee3c7d"
      ],
      "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": "c767c982df39abe9fd2a806bd1306e592beacb66",
      "tree": "2ae4f19e2ae47c5c3874872f2fc0e2b393b64bfd",
      "parents": [
        "585cb192d502d41a73a38d791226c459c6a8ad78"
      ],
      "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": "6c68484c15cbea872267e3d863e5b79372910041",
      "tree": "4430db66a2d3c0ad41d03342d4db5f7c8e93506b",
      "parents": [
        "fbb4586a2424f1f79ce19d7e9cce2092dd4fec23"
      ],
      "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": "198fda14ce395a3cc3a9b835ab5c6e51a1ebc278",
      "tree": "2e66173229a568375dee90b34feca676acaaf3dd",
      "parents": [
        "5c4326965191529e0f8dadfd6241421b31521483"
      ],
      "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": "c5b506015f3d80354c6def6ca702d877b15fcad7",
      "tree": "fcdfe6de12c39cbb3551d6268a69db2e4e605fdf",
      "parents": [
        "fd8c7c41e9420212435e76d6f0f6ba9c6f18ca14"
      ],
      "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"
    },
    {
      "commit": "fd8c7c41e9420212435e76d6f0f6ba9c6f18ca14",
      "tree": "0f594b8acefa6b8420c548029dd8a62413699e5d",
      "parents": [
        "c1f9ccee50b74237eb9538ac4806730b99b4ca6b"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Oct 09 16:16:02 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Oct 09 16:16:02 2014 -0700"
      },
      "message": "observer_disabled was not being imported into core/models/user.py\n"
    },
    {
      "commit": "b3c838a27e9c95be68db210d343e44c31633d65d",
      "tree": "9621f5762d72c777fdc5cade1fe7ace37a4d3870",
      "parents": [
        "5ed8130195c0f1419fa65db3882d92e428f43d75"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Oct 08 09:38:21 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Oct 08 09:38:21 2014 -0400"
      },
      "message": "For backend-specific observers, filter out deployments without backend\ntypes set\n"
    },
    {
      "commit": "0119c15c6e671edf08ec2e74376b7e1d9fc70aac",
      "tree": "7146649acc0f316a54d0277b68f8f6e707c288e9",
      "parents": [
        "0a5633b14bae9ed8948d5f4ba9430453fcecdf8a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Oct 06 22:58:48 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Oct 06 22:58:48 2014 -0700"
      },
      "message": "re-did the fine grained permission checking stuff again\n"
    },
    {
      "commit": "165f70c241b47fb95498f83e3753545b437993f7",
      "tree": "111033dac36076ebaaeae5834ff104a03e9a926e",
      "parents": [
        "86c83ab095ff0782a996b6d41b2eeac3052af14f"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Oct 03 14:48:06 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Oct 03 14:48:06 2014 -0700"
      },
      "message": "add default select_by_user to plcorebase, hunt down and destroy select_by_user methods in other classes that were redundant with the new default\n"
    },
    {
      "commit": "cbfb6000627dce00e79de7f92dffbd72b1a41e06",
      "tree": "434cce5f441168402d8dc709ef2f79f34ed122db",
      "parents": [
        "0bec56f4f31cfcc014c5f66cc56130b844475f4f"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Oct 03 00:32:37 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Oct 03 00:32:37 2014 -0700"
      },
      "message": "add support for fine-grained field permissions for user model\n"
    },
    {
      "commit": "0bec56f4f31cfcc014c5f66cc56130b844475f4f",
      "tree": "410f07be14bacf21cb9fc93b15f42b1b111a528c",
      "parents": [
        "d56ccd742ef6ba59a5ec8dc61040deb7024eba99"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Oct 02 22:50:18 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Oct 02 22:50:18 2014 -0700"
      },
      "message": "raise PermissionDenied if someone tries to save an object without can_update rights\n"
    },
    {
      "commit": "2cbd380b813ea82fb5564f4f6f4a486e3d07e047",
      "tree": "f7fff401ddb900335ff8de254139ff1f3039aefb",
      "parents": [
        "f8fe45b529c3b4f21f154202a4654aa223db8cff"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Sep 29 16:10:52 2014 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Sep 29 16:10:52 2014 -0400"
      },
      "message": "added availability_zone field to Deployment model\n"
    },
    {
      "commit": "ab5d88751d4db0f149bed51ddc4763bdc887e2c5",
      "tree": "a2d7868d47ba692b6e0b7a3cf4c973803549dca4",
      "parents": [
        "413e0d6a610ad15179635b4475c4c385902d54b3"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Sep 24 12:44:22 2014 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Sep 24 12:44:22 2014 -0400"
      },
      "message": "allow only enforce login base prefix on new slices\n"
    },
    {
      "commit": "80f1a4b507e27dd6064066021fa805b23fad2a67",
      "tree": "0c80ba47c52b822f190b1f7231774861b974e611",
      "parents": [
        "36fd7a01f4d597ac286e0d72e408a3a73c9070b9"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Sep 24 10:08:51 2014 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Sep 24 10:08:51 2014 -0400"
      },
      "message": "set sliver name in save()\n"
    },
    {
      "commit": "36fd7a01f4d597ac286e0d72e408a3a73c9070b9",
      "tree": "24b7c4938082f851b314f91fd3728deabb722e80",
      "parents": [
        "456c826ffed2fd4c73c975ab4e5455ce35476497",
        "cb076a2231a03692d03d96a998e8b747dc58e04f"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Sep 23 22:54:06 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Sep 23 22:54:06 2014 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "5dc87a6ec1b77077b627f42ec718e2c3b3df12e6",
      "tree": "fbc09aa37b4ff44470380779072d4fd4d2483985",
      "parents": [
        "432330c76c11426206c783855ad0bb65b4246ca5"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Sep 23 22:41:17 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Sep 23 22:41:17 2014 -0700"
      },
      "message": "also allow \u0027silent\u0027 to be set as an instance variable\n"
    },
    {
      "commit": "cb076a2231a03692d03d96a998e8b747dc58e04f",
      "tree": "4391c1e95803bf031a85820d80661a3f91daf20f",
      "parents": [
        "90025d7b9c251c5f5ee727980b1542b22ac38165",
        "432330c76c11426206c783855ad0bb65b4246ca5"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 24 00:34:50 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 24 00:34:50 2014 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "90025d7b9c251c5f5ee727980b1542b22ac38165",
      "tree": "6995f280c1ee1df564bce50df80bec2244c2521d",
      "parents": [
        "bf5397f43f12b00d56451b752602e5895ddafc9b"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 24 00:34:44 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 24 00:34:44 2014 -0400"
      },
      "message": "Fixed a typo\n"
    },
    {
      "commit": "0491f6ff73d32719a88f2ebaaf6a56a5eed9581a",
      "tree": "ea4bd1150d1bfa48856e9409676150ff2e425910",
      "parents": [
        "bf5397f43f12b00d56451b752602e5895ddafc9b"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Sep 23 16:04:36 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Sep 23 16:04:36 2014 -0700"
      },
      "message": "add silent kwarg to delete() and save()\n"
    },
    {
      "commit": "bf5397f43f12b00d56451b752602e5895ddafc9b",
      "tree": "86cb33c717ed3904d083654af19d7e756f88a1ce",
      "parents": [
        "973b740cffdda5fd383238892db026633e79bcf7"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Sep 23 13:42:40 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Sep 23 13:42:40 2014 -0400"
      },
      "message": "DeploymentRole is not linked to deployments\n"
    },
    {
      "commit": "973b740cffdda5fd383238892db026633e79bcf7",
      "tree": "4fcd39091dd2b25b019a7fbce1897431d905d55e",
      "parents": [
        "b8cc1148d83d3211006f3090244424e5e5daada9"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Sep 23 13:42:23 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Sep 23 13:42:23 2014 -0400"
      },
      "message": "Don\u0027t use config backend type if it\u0027s not set\n"
    },
    {
      "commit": "b8cc1148d83d3211006f3090244424e5e5daada9",
      "tree": "ca2e475822bff76f66482224bf5f26985ce66278",
      "parents": [
        "96e44077550e649348816141f56b90c182729193"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Sep 23 13:14:31 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Sep 23 13:14:31 2014 -0400"
      },
      "message": "Disable deployment filtering if the backend_type config option is not set\n"
    },
    {
      "commit": "c1f20efb68b322ed0f7d98dc99e20fc98fb63634",
      "tree": "29f5713275974c12cfd3565ac1ae6c78a2350dbb",
      "parents": [
        "f427c92381c554d86a6852d0f720b2de2d286034"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 18:47:53 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 18:47:53 2014 -0400"
      },
      "message": "Missing import\n"
    },
    {
      "commit": "f427c92381c554d86a6852d0f720b2de2d286034",
      "tree": "d667c09da9c8cb831d0755a1a6e4ac500332bacd",
      "parents": [
        "4b3c046f345c44a945c7479a5e18a5029831ca35"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 18:44:39 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 18:44:39 2014 -0400"
      },
      "message": "We can only import site.py after slice.py, because of a dependency\n"
    },
    {
      "commit": "4b3c046f345c44a945c7479a5e18a5029831ca35",
      "tree": "0d67d40e8b4703d33a499123d9202d82f022ec0b",
      "parents": [
        "40f1ae06b5cf39748bbd26ad9742b3f4e425f871"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 18:42:13 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 18:42:13 2014 -0400"
      },
      "message": "Typo .site\u003c-.deployment\n"
    },
    {
      "commit": "a2d1b13c1d00a9fca93a228cf5280cebc9300528",
      "tree": "1ed9adb5de052c54220f4fedd11cd7ef65dedde1",
      "parents": [
        "f6394731d935e8c35e42b6384254329341c73c87"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 18:41:15 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 18:41:15 2014 -0400"
      },
      "message": "Re-added imports to __init__.py\n"
    },
    {
      "commit": "30ffe5a65705669d968e214778824ef9af208347",
      "tree": "5b5c806f7f449d2cf6c2075ac892007b23e45294",
      "parents": [
        "a9ed5b06841674a3b5fc7a8641cd7215d4f68f64"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 17:32:35 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 17:32:35 2014 -0400"
      },
      "message": "Companion to renaming core/models/planetstack\n"
    },
    {
      "commit": "699a044172550ccfb5b120fb545ba6e5c766d7ee",
      "tree": "a114d02fd80869c586a7b0ee59b64c15725e1481",
      "parents": [
        "e93cc94d5c33a416b95c97e769d3a8d47a488ed8"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 17:25:06 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 17:25:06 2014 -0400"
      },
      "message": "Added config import back\n"
    },
    {
      "commit": "435766c7d087da2a47026aee9dd95d0608a801fa",
      "tree": "7817bf9693db513e9e01518a61f462cfaa05a212",
      "parents": [
        "d0c61c5bb95b7a923d77ccde3345f2dedc998e60"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 17:20:03 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 17:20:03 2014 -0400"
      },
      "message": "Renamed namespace-polluting file\n"
    },
    {
      "commit": "d0c61c5bb95b7a923d77ccde3345f2dedc998e60",
      "tree": "41313bdd8431bc44dfc7c8629d631a85bb718d5e",
      "parents": [
        "375a5e8d28663466e9859de1a07149957ad49538"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 15:08:44 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 15:08:44 2014 -0400"
      },
      "message": "Deployment filtering for UserDeployment objects\n"
    },
    {
      "commit": "375a5e8d28663466e9859de1a07149957ad49538",
      "tree": "68ad7bc8566dce3023f556a108c1f7f8b85939bd",
      "parents": [
        "2d3a9d83265a6010ee265fb93778b35d5bdbe08f"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 15:08:09 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 15:08:09 2014 -0400"
      },
      "message": "Deployment filtering for deployment images\n"
    },
    {
      "commit": "2d3a9d83265a6010ee265fb93778b35d5bdbe08f",
      "tree": "e080fd6b68f9debb31c8aa7718cc555fa44f7705",
      "parents": [
        "a16be6950a05a37c1a5cbc62288ed2cfef3467ae"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 15:07:26 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 15:07:26 2014 -0400"
      },
      "message": "Deployment filtering for deployment credentials\n"
    },
    {
      "commit": "a16be6950a05a37c1a5cbc62288ed2cfef3467ae",
      "tree": "cb0722b063d592eb07045f2b6743f191417acada",
      "parents": [
        "6fc6e2bf2212437fb863e8e2753241f917473649"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 14:55:08 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 14:55:08 2014 -0400"
      },
      "message": "Deployment filtering for SliceDeployment objects\n"
    },
    {
      "commit": "6fc6e2bf2212437fb863e8e2753241f917473649",
      "tree": "5f327f2eddc36eb8c984a3353068b720d7818345",
      "parents": [
        "b80b6540da0afa2bebb47c4a0a561b087a13cae1"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 14:54:56 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 14:54:56 2014 -0400"
      },
      "message": "Deployment filtering for SiteDeployment objects\n"
    },
    {
      "commit": "b80b6540da0afa2bebb47c4a0a561b087a13cae1",
      "tree": "482c3a44a9897c8cf62548e563c2c7aecf197301",
      "parents": [
        "d2a98549971c2bd7223d5a4364b4c747476a58c0"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 14:54:39 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 14:54:39 2014 -0400"
      },
      "message": "Deployment filtering for Deployment Privilege objects\n"
    },
    {
      "commit": "d2a98549971c2bd7223d5a4364b4c747476a58c0",
      "tree": "6bb34e821a6e622e156f0e0f611adb1badb19c82",
      "parents": [
        "c0754e78d9d065b959d824df2e1f78f9fbebbf60"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 14:54:26 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 14:54:26 2014 -0400"
      },
      "message": "Deployment filtering for deployment role objects\n"
    },
    {
      "commit": "c0754e78d9d065b959d824df2e1f78f9fbebbf60",
      "tree": "39b8cfc8e1f952054f45ab2845f830196c52c0b6",
      "parents": [
        "6df56511f18aa27103078cdcfcbc388396092cf1"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 14:54:10 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 14:54:10 2014 -0400"
      },
      "message": "Deployment filtering for deployment objects\n"
    },
    {
      "commit": "6df56511f18aa27103078cdcfcbc388396092cf1",
      "tree": "8e664ace117b487e759845b446fbf8aa86610cee",
      "parents": [
        "71058ec7dcbf9d7674fbb2b934020101c1acdb50"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 14:52:59 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 22 14:52:59 2014 -0400"
      },
      "message": "Deployment filtering for NetworkDeployment objects\n"
    },
    {
      "commit": "71058ec7dcbf9d7674fbb2b934020101c1acdb50",
      "tree": "1a6688e5cca8a224a142eb779015a3426b6b12f6",
      "parents": [
        "005d761930fafdb0f27e7c51801e4ef7e4b44ba2"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Sep 19 16:48:36 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Sep 19 16:48:36 2014 -0400"
      },
      "message": "DeploymentLinkDeletionManager for filtering deployment-linked objects\nsuch as UserDeployments and SliceDeployments.\n"
    },
    {
      "commit": "005d761930fafdb0f27e7c51801e4ef7e4b44ba2",
      "tree": "51935e95f61d8ecaf99679b76c1e0517382545ea",
      "parents": [
        "d8a6eb521c89186d3be1c00f600a77966122c13b"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Sep 19 16:48:11 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Sep 19 16:48:11 2014 -0400"
      },
      "message": "DeploymentDeletionManager for filtering deleted deployments\n"
    },
    {
      "commit": "d8a6eb521c89186d3be1c00f600a77966122c13b",
      "tree": "e35047e6919d18f1bf48e2cdade52270d9114abd",
      "parents": [
        "c6680c15720cfb9ab4f9aa41d1aa378c43255b25"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Sep 19 16:47:40 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Sep 19 16:47:40 2014 -0400"
      },
      "message": "DeploymentLinkManager, for filtering deployment-linked objects such as\nUserDeployments, SliceDeployments etc.\n"
    },
    {
      "commit": "c6680c15720cfb9ab4f9aa41d1aa378c43255b25",
      "tree": "e48e56b18f5034b5b5559cfec9b1c43049cbfa7f",
      "parents": [
        "57e836555545f807cbcc849f086357e4f0091c1b"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Sep 19 16:47:07 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Fri Sep 19 16:47:07 2014 -0400"
      },
      "message": "Deployment manager for filtering deployments based on backend\n"
    },
    {
      "commit": "57e836555545f807cbcc849f086357e4f0091c1b",
      "tree": "990dda8f901bd40faf79f76f356c5cbad27966f7",
      "parents": [
        "369ed4605a335365eab72b0f74aec67abe89640b",
        "a0d6a43334cf417d931d0ba3c08d81e1eb682891"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Thu Sep 18 16:25:15 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Thu Sep 18 16:25:15 2014 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n"
    },
    {
      "commit": "b24f2c3457de7df41707e4514274ce36f95fc0ff",
      "tree": "d172fee126ab76d57f65120e51fc57953a10aab1",
      "parents": [
        "a277d6b5887d40edbe93ab4b7ca0469659e42624"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Sep 17 22:18:46 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Sep 17 22:18:46 2014 -0700"
      },
      "message": "switch from naive timestamps to timezone-aware timestamps\n"
    },
    {
      "commit": "369ed4605a335365eab72b0f74aec67abe89640b",
      "tree": "d58d1f6fb5b633281236f2e006d642c0e12beb31",
      "parents": [
        "a277d6b5887d40edbe93ab4b7ca0469659e42624"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Thu Sep 18 00:13:46 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Thu Sep 18 00:13:46 2014 -0400"
      },
      "message": "Added backend_type field to migrations\n"
    },
    {
      "commit": "b08d6561d795d256a0d3c4d9b828169ebfc2757e",
      "tree": "dd05118981982ec99b6da842c6b93d6198354ea0",
      "parents": [
        "370cdd5a3a595b73dd180cb7bdd61cb1f6ce1026"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Sep 12 12:57:27 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Sep 12 12:57:27 2014 -0700"
      },
      "message": "clean up some deprecation warnings in django 1.7\n"
    },
    {
      "commit": "cfe0fd915d7bca962e12e073f88b404cc5f04f72",
      "tree": "0e6d3c65a5e834e0d9dfc88f55f22d8ad0b1bf2e",
      "parents": [
        "70b70056d09927bb15334e6ae1af8856456d8a90"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Sep 12 12:24:24 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Sep 12 12:24:24 2014 -0700"
      },
      "message": "set default for omf_friendly, move get_default_serviceclass outside of model for compaitibility with migrations\n"
    },
    {
      "commit": "70b70056d09927bb15334e6ae1af8856456d8a90",
      "tree": "1e6041b069a23f9b63ad0dc5758b4a8cc1d16940",
      "parents": [
        "a1f7280ac1472d3e92624a6f6ce5d424b5d6cf5b"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Sep 12 12:05:51 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Sep 12 12:05:51 2014 -0700"
      },
      "message": "evaluate default for plcorebase.created and plcorebase.updated at time of model creation rather than when python file is loaded\n"
    },
    {
      "commit": "7b2043f79cc543f095924ca40c185f3cdd1417b7",
      "tree": "22ec2f1955e0573ac0723709c7bf66f7a5fbfec8",
      "parents": [
        "31138dd47806d0c2aa2c659ed6a01185b252f475"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 01 02:12:01 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 01 02:12:01 2014 -0400"
      },
      "message": "Added missing import for Deployment\n"
    },
    {
      "commit": "31138dd47806d0c2aa2c659ed6a01185b252f475",
      "tree": "53b38553153fd6520414a6aec867b4a630f067ee",
      "parents": [
        "3248131ab18710a2aff39a9c7807b6bba7b6e9ac"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 01 01:45:28 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 01 01:45:28 2014 -0400"
      },
      "message": "Added DeploymentCredential to set of supported credentials\n"
    },
    {
      "commit": "afc5b02f2520382fc0ebb3370538ca2baeb04dd4",
      "tree": "a77b5b59e837c9d4598ec9373499620127c71398",
      "parents": [
        "7bcec3b0f63b466a969b79e2cb0f658cf7e78922"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 08 10:42:39 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 08 10:42:39 2014 -0400"
      },
      "message": "Add credentials module to core list\n"
    },
    {
      "commit": "7bcec3b0f63b466a969b79e2cb0f658cf7e78922",
      "tree": "d601e48bd5708f10c2bb344f5a5486af9b3a426f",
      "parents": [
        "71248d40cd50b5d27c2e9449702cf65cc0f27a77"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 08 10:42:23 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Sep 08 10:42:23 2014 -0400"
      },
      "message": "Added credentials models for User, Slice and Site objects\n"
    },
    {
      "commit": "bad6774181b99d18201022707069207247322103",
      "tree": "78c255d05ca516a46234aaa432b3d00e42b9dc18",
      "parents": [
        "6067faa4c226fde1b4444b71fccd032c54a531e3"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Thu Sep 04 00:39:19 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Thu Sep 04 00:39:19 2014 -0400"
      },
      "message": "Bug: Models should import model_policy, not model_policies\n"
    },
    {
      "commit": "3a5ef2b669fa08a0d700636efc6f89ccf773ca4e",
      "tree": "bc9212eb5e68b661da77403b76490158e017fae6",
      "parents": [
        "b3aeb1b1270e86d8c85a286de3a5f8443cfee2e5"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 03 15:39:33 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 03 15:39:33 2014 -0400"
      },
      "message": "Add policies feature to user objects\n"
    },
    {
      "commit": "dac8576a7476470b30e1edd4cdf50eb3d2985b03",
      "tree": "414d39797f2a0d6d1679151e08012402893bd26b",
      "parents": [
        "7d4599052f314c3708b58aa2ba058283033369af"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Sep 03 13:19:42 2014 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Sep 03 13:20:06 2014 -0400"
      },
      "message": "raise validation error if slice name prefix is incorrect\n"
    },
    {
      "commit": "0235e983ec665f46ca9dc75d3341c77603cdfd1d",
      "tree": "772ba98041bdf68e2bbb0109f5bd3d7c9539cadb",
      "parents": [
        "29ad9b6ad3a49bda4c8a1c6ee03271b1997d63c1"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 03 13:14:40 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Sep 03 13:14:40 2014 -0400"
      },
      "message": "Include model policies\n"
    },
    {
      "commit": "c19444b2744d3d4b90f2631b27f49cfc0d50d589",
      "tree": "b36fa8397481067d4f5aad1d28d8cdf31868ff55",
      "parents": [
        "7a61dc4281a01fe1be001b4501080f8ceeaecbe3"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Sep 02 17:31:59 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Sep 02 17:31:59 2014 -0700"
      },
      "message": "remove debug code\n"
    },
    {
      "commit": "7a61dc4281a01fe1be001b4501080f8ceeaecbe3",
      "tree": "8acea78f2ee72627c69569ae8001cd6615756eb7",
      "parents": [
        "0a78cb5004687e349f4689a43cb35f26a37c52d9"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Sep 02 17:08:20 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Sep 02 17:08:20 2014 -0700"
      },
      "message": "replace sliver.numberCores with sliver.Flavor, add flavor filtering by deployment to sliver inline\n"
    },
    {
      "commit": "37b47903082795bbbcd6066540e8448e9cb23d9d",
      "tree": "fb36f64c11b3015737c128a03dc94b15daedeb3c",
      "parents": [
        "65b3deb8b0353a5a2599a8302b804fcdfedff213"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Sep 02 14:37:41 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Sep 02 14:37:41 2014 -0700"
      },
      "message": "flavor data model objects and admin\n"
    },
    {
      "commit": "51e7d40824c31c634ea32d76a911360e3a7ee7cf",
      "tree": "6670c34893ee463312f3cde39cdd52f0fee92ab9",
      "parents": [
        "01ef649428b0452c059b679928f324470342bc18"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Aug 29 12:32:46 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Aug 29 12:32:46 2014 -0700"
      },
      "message": "HTTP_ORIGIN wasn\u0027t working on Firefox, changed it to get_host() instead\n"
    },
    {
      "commit": "a36d77e0c9716b0f28b9fda031a751bac2ee11c1",
      "tree": "2ade8d7a4072ae8d3828c3e0d122e5f8541deba5",
      "parents": [
        "866c5b39223e027f89b8e467b8afa35cb4d9c9b0"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Aug 29 11:43:23 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Aug 29 11:43:23 2014 -0700"
      },
      "message": "merge Amisha changes\n"
    },
    {
      "commit": "33df82b61851bfac3e69ac2133d1f75f4eafe6e8",
      "tree": "70b9cfe7b8084d2c7b7380903efa7821d2db8cd0",
      "parents": [
        "c195d72893dc98d0c897619c0c087a07a4917457"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Aug 20 11:29:40 2014 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Aug 20 11:29:40 2014 -0400"
      },
      "message": "pis can view slices at their sites\n"
    },
    {
      "commit": "c195d72893dc98d0c897619c0c087a07a4917457",
      "tree": "80b69d22bd4d670717d3448368f68d77a857a52c",
      "parents": [
        "5cde5f8902b9b6a03bca030c68024e8c5830bf36"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Aug 20 11:15:17 2014 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Aug 20 11:15:17 2014 -0400"
      },
      "message": "pis can update slice objects\n"
    },
    {
      "commit": "5cde5f8902b9b6a03bca030c68024e8c5830bf36",
      "tree": "b637d6b8192d64c1ee17306bac94ff5b66af1a1a",
      "parents": [
        "be8f85044e13571d6901982575d41a2ad82a755b"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Aug 20 09:06:55 2014 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Wed Aug 20 09:06:55 2014 -0400"
      },
      "message": "pis can update slice objects\n"
    },
    {
      "commit": "434ca7e2a5452e6992d64800053db560fb517a9a",
      "tree": "5e73b38a37f94aca7e8d3cfc05e504e8db1e17fd",
      "parents": [
        "f24b92753bfc40d16bb7a4e254bd328ffd58dc7a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Aug 15 12:29:20 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Aug 15 12:29:20 2014 -0700"
      },
      "message": "helper code for getting a list of IP addresses from a sliver\n"
    },
    {
      "commit": "5bbaa23b56772545221bf59e632d74c8ab1ca617",
      "tree": "ab48653df0fd9f8e61b595805ad7868262734fab",
      "parents": [
        "feb13440d8d9ddbf40496a0003130d94e9286f6c"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Aug 14 17:23:15 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Aug 14 17:23:15 2014 -0700"
      },
      "message": "punch through portfwd; fix not all ports used in sync_network_slivers\n"
    },
    {
      "commit": "95d81c77f6b457cd5108f03a0dc2acccea47ea86",
      "tree": "da15d50786d575d998d4b71b72de0b53ea475d36",
      "parents": [
        "f2ddddf98ee07906645ecfc49b6d947c260081e0"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Aug 12 18:29:27 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Aug 12 18:29:27 2014 -0700"
      },
      "message": "add select_by_user for NetworkTemplate\n"
    },
    {
      "commit": "2721d6ffd59dbfe290e432e601e41f663f991fc8",
      "tree": "4a2cbac244edea7a6e587809ca090715ca73e1ed",
      "parents": [
        "db0a110b779b68f11d311fef5e2f6e359ef328a4"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Aug 11 11:14:58 2014 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@tux.cs.princeton.edu",
        "time": "Mon Aug 11 11:14:58 2014 -0400"
      },
      "message": "add slicename prop\n"
    },
    {
      "commit": "ad2c4a1210bd91f5f5e7208313a435382fc66e01",
      "tree": "6b5de68e49c17992c6525aa7b65dc3c500d17530",
      "parents": [
        "bbcc190c0ab6e70f76e88f811193e194bdc22a65"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jul 22 01:21:05 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:15 2014 -0400"
      },
      "message": "Django\u0027s delete method does not accept unknown keywords\n"
    },
    {
      "commit": "bbcc190c0ab6e70f76e88f811193e194bdc22a65",
      "tree": "fe28e380da5888b1bdcf6f9207d28482f6cb2e11",
      "parents": [
        "743bed19b41dead59dd0db0c327cc1bcb1fb4fe7"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jul 22 01:11:36 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:25:15 2014 -0400"
      },
      "message": "Fixed a typo\n"
    },
    {
      "commit": "5d605ff788815db0a11a5e672cb304d448cf4be3",
      "tree": "6c3f15a5ad748a9e201ad54221dd769f676a1dc9",
      "parents": [
        "77d1d89e983b687d818427fbf66d37b2a1e79c47"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Jul 21 20:08:04 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:21:49 2014 -0400"
      },
      "message": "Implement new mark/purge deletion for User Model\n"
    },
    {
      "commit": "77d1d89e983b687d818427fbf66d37b2a1e79c47",
      "tree": "4afbcaf5706465f6b5075dd02925aa43f8e07c4a",
      "parents": [
        "15bf5ac0450d96b2ae5f1ce18c228ef520843026"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Jul 21 20:07:23 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:21:49 2014 -0400"
      },
      "message": "Default to purging on delete if the Observer cannot be loaded.\n"
    },
    {
      "commit": "15bf5ac0450d96b2ae5f1ce18c228ef520843026",
      "tree": "1824fad44a8ad4cb5100cf1b2e1369431dc85dbe",
      "parents": [
        "26d40bc6b5b274c4aa3e53c63ad3a0b3bbfb838c"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Jul 21 20:06:59 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:21:49 2014 -0400"
      },
      "message": "Move queries for deleted objects into a new manager\n"
    },
    {
      "commit": "130278134f19945d61e26bbd80d3f5416a8294df",
      "tree": "52e89a3977c164c0fe44a5b9cff76a01e8d5d46e",
      "parents": [
        "285decbfb49359489309449c60de59216d9ca94b"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Apr 30 00:51:02 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:20:22 2014 -0400"
      },
      "message": "Purge operation.\n"
    },
    {
      "commit": "c860243627a68de0ee40961f4a902a8d5c0aed06",
      "tree": "3d83ed197f45f769cc6f48d910b37f7c0815c53f",
      "parents": [
        "3a6811e649a57c905df924d868f309d62b3101ef"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Apr 29 20:33:51 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jul 23 16:08:38 2014 -0400"
      },
      "message": "New version of delete, which marks as delete instead of removing an\nobject.\n"
    }
  ],
  "next": "3a6811e649a57c905df924d868f309d62b3101ef"
}
