)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "d29431ba255b9d182e8ac2f87897290e3cbcb7bd",
      "tree": "0f594b8acefa6b8420c548029dd8a62413699e5d",
      "parents": [
        "6021fa81be0a226a6da9cf7ade4f9d7661026ded"
      ],
      "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": "40e1813fba37bf8009bc629ac39f41ae2f6ebd85",
      "tree": "9621f5762d72c777fdc5cade1fe7ace37a4d3870",
      "parents": [
        "192277c1ed787d60716753be4b00c45810414fe5"
      ],
      "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": "1bffe9444cfb5eb07fd69469ada59927ec083d58",
      "tree": "7146649acc0f316a54d0277b68f8f6e707c288e9",
      "parents": [
        "6a99535fe3ed50e9635595836c488a76b8e43682"
      ],
      "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": "5e5f455b8842da5047948773c65bec8b06872cdb",
      "tree": "111033dac36076ebaaeae5834ff104a03e9a926e",
      "parents": [
        "f4aeedc779e6984a261076715aa55bb845a2ac84"
      ],
      "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": "1a6a39055a6180f7c8ca63361a278bd46d0fe32c",
      "tree": "434cce5f441168402d8dc709ef2f79f34ed122db",
      "parents": [
        "e5f41b0ada6f519a07e3d34e82c569c6027aa8ae"
      ],
      "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": "e5f41b0ada6f519a07e3d34e82c569c6027aa8ae",
      "tree": "410f07be14bacf21cb9fc93b15f42b1b111a528c",
      "parents": [
        "2ba348503e956666b076f1aa4de94cdefa9e4d9c"
      ],
      "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": "e75841e6be6cdac7ebeaf463c81050d29fbe6e41",
      "tree": "f7fff401ddb900335ff8de254139ff1f3039aefb",
      "parents": [
        "e4226cf830887e172a644ee4ecb38b22845be344"
      ],
      "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": "7807035001a0e2975e41f673730c9ce66c384827",
      "tree": "a2d7868d47ba692b6e0b7a3cf4c973803549dca4",
      "parents": [
        "959252867cf8f419acfe78b497bd82190bc8f3f5"
      ],
      "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": "38e7ae55a99391ade1c01c7c296caa7360a50860",
      "tree": "0c80ba47c52b822f190b1f7231774861b974e611",
      "parents": [
        "2faa969719be17dee75554110ac19a41c1cb04b3"
      ],
      "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": "2faa969719be17dee75554110ac19a41c1cb04b3",
      "tree": "24b7c4938082f851b314f91fd3728deabb722e80",
      "parents": [
        "82c0bed968af122c6cc29d92f411a92af258f2fe",
        "a5b107251337aed041cc400b2efa3ac382c74407"
      ],
      "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": "f3f895cc6cf53f97ef582c56f28f849ccbb3275d",
      "tree": "fbc09aa37b4ff44470380779072d4fd4d2483985",
      "parents": [
        "3ea1127154218b93879f6a7501a4bbd7412a47ab"
      ],
      "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": "a5b107251337aed041cc400b2efa3ac382c74407",
      "tree": "4391c1e95803bf031a85820d80661a3f91daf20f",
      "parents": [
        "f77d01afd2c22b53106789c2c1ad682a2717f700",
        "3ea1127154218b93879f6a7501a4bbd7412a47ab"
      ],
      "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": "f77d01afd2c22b53106789c2c1ad682a2717f700",
      "tree": "6995f280c1ee1df564bce50df80bec2244c2521d",
      "parents": [
        "90240767d2af1e6344bb5b629b33ca5521ee7dd3"
      ],
      "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": "6594bea429640a937aa682154e74c1bfcfd6a15e",
      "tree": "ea4bd1150d1bfa48856e9409676150ff2e425910",
      "parents": [
        "90240767d2af1e6344bb5b629b33ca5521ee7dd3"
      ],
      "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": "90240767d2af1e6344bb5b629b33ca5521ee7dd3",
      "tree": "86cb33c717ed3904d083654af19d7e756f88a1ce",
      "parents": [
        "833d3168089ec6f686e118e4d8a04a534d496bd3"
      ],
      "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": "833d3168089ec6f686e118e4d8a04a534d496bd3",
      "tree": "4fcd39091dd2b25b019a7fbce1897431d905d55e",
      "parents": [
        "d0a176c6a4729f24b57436e9e3cf862d3d677e23"
      ],
      "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": "d0a176c6a4729f24b57436e9e3cf862d3d677e23",
      "tree": "ca2e475822bff76f66482224bf5f26985ce66278",
      "parents": [
        "c217c0ffbd7280bb233c072b805d61fed571b462"
      ],
      "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": "4a62a2faa334d888da49e252060c6b4baee787ee",
      "tree": "29f5713275974c12cfd3565ac1ae6c78a2350dbb",
      "parents": [
        "9c8dc28cbb69bb9664c22d1711a525eb8d636ec2"
      ],
      "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": "9c8dc28cbb69bb9664c22d1711a525eb8d636ec2",
      "tree": "d667c09da9c8cb831d0755a1a6e4ac500332bacd",
      "parents": [
        "2dccff0dca7ca774d11af5c46499f542912f39d0"
      ],
      "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": "2dccff0dca7ca774d11af5c46499f542912f39d0",
      "tree": "0d67d40e8b4703d33a499123d9202d82f022ec0b",
      "parents": [
        "56b4f7d80e300088dc6a401a0c2db2ad055bc6fb"
      ],
      "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": "d780d3c57621d9092de63d103cbb8e9f46d3f029",
      "tree": "1ed9adb5de052c54220f4fedd11cd7ef65dedde1",
      "parents": [
        "61e0ba96a7e479954c37f707399c2eac7fbf3589"
      ],
      "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": "130c9a43b3aad6a4efc6f48065f931234f5b5a84",
      "tree": "5b5c806f7f449d2cf6c2075ac892007b23e45294",
      "parents": [
        "037e6f2215caa5496a6ca93fed4e095a8e99d3e9"
      ],
      "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": "1d1b2b1b8227dec437b98e836b1d08afc85862ed",
      "tree": "a114d02fd80869c586a7b0ee59b64c15725e1481",
      "parents": [
        "59dd0aed279a9f8b67f1b1f36b9cfb1a3cf71134"
      ],
      "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": "f41c5192dbf8b91cd12dd7699783aaffecebcc0a",
      "tree": "7817bf9693db513e9e01518a61f462cfaa05a212",
      "parents": [
        "85b26c8e76978752c5272e9bf428507e50f0e009"
      ],
      "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": "85b26c8e76978752c5272e9bf428507e50f0e009",
      "tree": "41313bdd8431bc44dfc7c8629d631a85bb718d5e",
      "parents": [
        "a828b7efe1104436bddb71e68e43e9cbe43f22b8"
      ],
      "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": "a828b7efe1104436bddb71e68e43e9cbe43f22b8",
      "tree": "68ad7bc8566dce3023f556a108c1f7f8b85939bd",
      "parents": [
        "d92f8a61b06513031700d9965dd0a04cb756399f"
      ],
      "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": "d92f8a61b06513031700d9965dd0a04cb756399f",
      "tree": "e080fd6b68f9debb31c8aa7718cc555fa44f7705",
      "parents": [
        "a660903adfbabcc52460e1ae57b87cacfec1f9a1"
      ],
      "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": "a660903adfbabcc52460e1ae57b87cacfec1f9a1",
      "tree": "cb0722b063d592eb07045f2b6743f191417acada",
      "parents": [
        "51ddecd0aa014ac036e3935714d13490461dd1d2"
      ],
      "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": "51ddecd0aa014ac036e3935714d13490461dd1d2",
      "tree": "5f327f2eddc36eb8c984a3353068b720d7818345",
      "parents": [
        "16778cd13fb7a35e6b8b1d99bf00225ab25d6711"
      ],
      "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": "16778cd13fb7a35e6b8b1d99bf00225ab25d6711",
      "tree": "482c3a44a9897c8cf62548e563c2c7aecf197301",
      "parents": [
        "9d21dc717c3a927514b471e72e39fd24e97eaa01"
      ],
      "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": "9d21dc717c3a927514b471e72e39fd24e97eaa01",
      "tree": "6bb34e821a6e622e156f0e0f611adb1badb19c82",
      "parents": [
        "abfdb807b73002b2f10c0e5cd308e00f77986839"
      ],
      "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": "abfdb807b73002b2f10c0e5cd308e00f77986839",
      "tree": "39b8cfc8e1f952054f45ab2845f830196c52c0b6",
      "parents": [
        "ed7b83bd2916dfaf509772d67ab6744342600645"
      ],
      "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": "ed7b83bd2916dfaf509772d67ab6744342600645",
      "tree": "8e664ace117b487e759845b446fbf8aa86610cee",
      "parents": [
        "c4b980757a0b498de4584757532f8c5ec5475cad"
      ],
      "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": "c4b980757a0b498de4584757532f8c5ec5475cad",
      "tree": "1a6688e5cca8a224a142eb779015a3426b6b12f6",
      "parents": [
        "15fdcdbc65092e7bdd398788f2e3c85d1f8ec4aa"
      ],
      "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": "15fdcdbc65092e7bdd398788f2e3c85d1f8ec4aa",
      "tree": "51935e95f61d8ecaf99679b76c1e0517382545ea",
      "parents": [
        "48df09f075c086346254866525b677ac7c69a893"
      ],
      "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": "48df09f075c086346254866525b677ac7c69a893",
      "tree": "e35047e6919d18f1bf48e2cdade52270d9114abd",
      "parents": [
        "ad6dbd82ca664b682f898076bc2e8839bbdb846e"
      ],
      "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": "ad6dbd82ca664b682f898076bc2e8839bbdb846e",
      "tree": "e48e56b18f5034b5b5559cfec9b1c43049cbfa7f",
      "parents": [
        "79a2e8025d4d1a85e003e4ce3ce29ac0d815db41"
      ],
      "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": "79a2e8025d4d1a85e003e4ce3ce29ac0d815db41",
      "tree": "990dda8f901bd40faf79f76f356c5cbad27966f7",
      "parents": [
        "ed9cd4f806ca489fb23a299aa18f2d947250c079",
        "0cc3c917c619a8f4f60d8166dfcba7b687105982"
      ],
      "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": "02b59521e1cf980a44403bbad84241c71da1f4d5",
      "tree": "d172fee126ab76d57f65120e51fc57953a10aab1",
      "parents": [
        "f80c2bec6d8030a45e16b0951250c71681f259ee"
      ],
      "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": "ed9cd4f806ca489fb23a299aa18f2d947250c079",
      "tree": "d58d1f6fb5b633281236f2e006d642c0e12beb31",
      "parents": [
        "f80c2bec6d8030a45e16b0951250c71681f259ee"
      ],
      "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": "92f1422ed8232a9330311d3c272d23fea8b2f694",
      "tree": "dd05118981982ec99b6da842c6b93d6198354ea0",
      "parents": [
        "0dd7abd55a099fd35146e6b196c9beeecfa42e93"
      ],
      "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": "d6dc5059256412e00fce3cf13ac5613333444120",
      "tree": "0e6d3c65a5e834e0d9dfc88f55f22d8ad0b1bf2e",
      "parents": [
        "09dd0c09d7ae0437a399bd5880d7c5fdc5b18d58"
      ],
      "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": "09dd0c09d7ae0437a399bd5880d7c5fdc5b18d58",
      "tree": "1e6041b069a23f9b63ad0dc5758b4a8cc1d16940",
      "parents": [
        "87ef01a9f7e96a32f78f030cc3dc66db11522d05"
      ],
      "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": "ff5a108680f8586d928e52d69653c2d0f3f0b967",
      "tree": "22ec2f1955e0573ac0723709c7bf66f7a5fbfec8",
      "parents": [
        "fdd62ec7b422b2b0aa9bfad99d32d9352fe698f3"
      ],
      "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": "fdd62ec7b422b2b0aa9bfad99d32d9352fe698f3",
      "tree": "53b38553153fd6520414a6aec867b4a630f067ee",
      "parents": [
        "4b6d944e0106774f6165e25edd51705ab60deed1"
      ],
      "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": "48426b63bd4123ed6f63a38f3e4e2b401cd5c188",
      "tree": "a77b5b59e837c9d4598ec9373499620127c71398",
      "parents": [
        "2ff2db54bb7000cf536f43970e4b56ad7450a42d"
      ],
      "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": "2ff2db54bb7000cf536f43970e4b56ad7450a42d",
      "tree": "d601e48bd5708f10c2bb344f5a5486af9b3a426f",
      "parents": [
        "f70b9afebb8d0470257bb7ca2450f3d2235b1a9e"
      ],
      "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": "39097195176dc08814d8b299b5863f5fb8aabf0c",
      "tree": "78c255d05ca516a46234aaa432b3d00e42b9dc18",
      "parents": [
        "c012017f1ec7c85d651f00cee42739093ec20406"
      ],
      "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"
    }
  ],
  "next": "95d81c77f6b457cd5108f03a0dc2acccea47ea86"
}
