)]}'
{
  "log": [
    {
      "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": "d923b813adf079320f90208dbb949a72a9a67d78",
      "tree": "b3304a777c31481cb6a8a47390479f6281f12dc5",
      "parents": [
        "71b21f6153026089c8e000e42b20af03e0b715b6"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Dec 18 12:59:04 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Dec 18 12:59:04 2014 -0800"
      },
      "message": "finished support for ManyToMany with through relations in REST API\n"
    },
    {
      "commit": "71b21f6153026089c8e000e42b20af03e0b715b6",
      "tree": "a6e217285b4d1239ab3aaa0cbda5402ba3ca1f7c",
      "parents": [
        "6a7a17cf0cc10aa1239cbc062f9cf0609a49b84a"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Dec 17 18:22:33 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Dec 17 18:22:33 2014 -0800"
      },
      "message": "support for through relations in REST API, WIP\n"
    },
    {
      "commit": "015e13df7ef91592039372eeabafb246e79db763",
      "tree": "9901ef3f69af23a99f435a719019f4a80a9bc802",
      "parents": [
        "77195463f9b4fec9c2d14ea48b89181adcafebe8"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Dec 15 16:12:43 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Dec 15 16:12:43 2014 -0800"
      },
      "message": "fix one half of ManyToMany relations stored in wrong obj\n"
    },
    {
      "commit": "77195463f9b4fec9c2d14ea48b89181adcafebe8",
      "tree": "41c1536729108ebef21f26d373c388af179b0945",
      "parents": [
        "cf37db2887903db3c08fbda0c3b196cd60f479b7"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Dec 15 16:12:17 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Dec 15 16:12:17 2014 -0800"
      },
      "message": "get rid of hyperlinks in *IDSerializer\n"
    },
    {
      "commit": "96eb3fd4fc8d56eb0faa145f695c9c806e018e7c",
      "tree": "d067d0e9cd721322be1e4f84cea097b91e3fa117",
      "parents": [
        "485051206ea0d27b3cbb09ce2cee584ebcba8037"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Nov 25 00:53:25 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Nov 25 00:53:25 2014 -0800"
      },
      "message": "expose plcorebase.validators to REST API\n"
    },
    {
      "commit": "f29c009ff47d326af595a114f7860f7e15a2e21a",
      "tree": "67309bd1ba0296636f54695b4ed49574c45d47f6",
      "parents": [
        "0f7a1c267184c5380de0f471df2d6515f6cbd982"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Nov 21 11:36:42 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Nov 21 11:36:42 2014 -0800"
      },
      "message": "perm fix\n"
    },
    {
      "commit": "0f7a1c267184c5380de0f471df2d6515f6cbd982",
      "tree": "fbb025e467a7e421534102c507db8c51de8b81a3",
      "parents": [
        "b744f1c57ac3fad2fdbe81cf43e2854992f28c98"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Nov 21 11:36:19 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Nov 21 11:36:19 2014 -0800"
      },
      "message": "get rid of the underscores in slice_deployments and user_deployments in REST API\n"
    },
    {
      "commit": "b744f1c57ac3fad2fdbe81cf43e2854992f28c98",
      "tree": "6e5c8b9082e8a6cf5fc1236d3dc65a8fa096c624",
      "parents": [
        "e802e9c0845d1b7754b65eac9889a1ed9a528192"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Nov 21 11:32:24 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Fri Nov 21 11:32:24 2014 -0800"
      },
      "message": "add humanReadableName to all REST API objects\n"
    },
    {
      "commit": "6ad1790f087391150d3cb5c528b4816b52f63e33",
      "tree": "125ee62ccc439bc5bf02b85fed46f3b4b83a7734",
      "parents": [
        "880590666de20b7f3f5fa5ec9a60a7c93fe91e93"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Nov 12 01:12:28 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Wed Nov 12 01:12:28 2014 -0800"
      },
      "message": "fix create failing for objects that have foreign keys, due to serialization of id problem\n"
    },
    {
      "commit": "4c804d605f8dc395c3e38c5ecb79dcd932eabeee",
      "tree": "854f1ff921c806dc91fedadc0182b7e705aca719",
      "parents": [
        "f556b92d30927d7c187677506c04946255a2992e"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Nov 10 15:59:26 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Nov 10 15:59:26 2014 -0800"
      },
      "message": "perm fix\n"
    },
    {
      "commit": "f556b92d30927d7c187677506c04946255a2992e",
      "tree": "1fdd2850f78d2367340b43057d315e4b4fde62e2",
      "parents": [
        "c9d0dcbb397d225685bd317feae93e67c9d43158"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Nov 10 15:58:58 2014 -0800"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Nov 10 15:58:58 2014 -0800"
      },
      "message": "auto-gen the REST api url list\n"
    },
    {
      "commit": "adcbf7aaac2c7b0c0843679312dda49155933e75",
      "tree": "af27b3562c4e31cf4b087f3a54249d9868ab4208",
      "parents": [
        "4163e2474bf4cc3d7ac47fa9b0a58435de4b9820"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Oct 09 11:09:15 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Oct 09 11:09:15 2014 -0700"
      },
      "message": "merge my REST API changes with Sapan\u0027s\n"
    },
    {
      "commit": "f69dd5cfbc73c29c73e57afc2abef8c4284bb877",
      "tree": "3862c6b94626e6370a521631a03d707f0a06f0f5",
      "parents": [
        "219444939b81f297ea9ab6c777f2dc6483299bd4"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Oct 08 11:34:23 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Oct 08 11:34:23 2014 -0400"
      },
      "message": "Set specific error code\n"
    },
    {
      "commit": "219444939b81f297ea9ab6c777f2dc6483299bd4",
      "tree": "a5349aa730cf726f48295ebf0402ad361bf523ae",
      "parents": [
        "40e1813fba37bf8009bc629ac39f41ae2f6ebd85"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Oct 08 10:34:41 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Oct 08 10:34:41 2014 -0400"
      },
      "message": "Creation was broken - when you create an object, there is no object in\ncontext, so can_update does not work\n"
    },
    {
      "commit": "89a7b7c95301fe65a924e7f5e130cbee1d6b56e7",
      "tree": "b069289f77f8e2c2cd96c3c245332989dd4abd15",
      "parents": [
        "3cb382c71dde5deddad5b41193dd8c5ee9c926bc"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Oct 07 00:10:17 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Tue Oct 07 00:10:17 2014 -0700"
      },
      "message": "support fine-grained permission checks in API\n"
    },
    {
      "commit": "46b58540fe8bb59273c9add6b1cb7fbea2856eaf",
      "tree": "7fb2a3a1097bd537c1248a7fda5a1d2de7d4af38",
      "parents": [
        "db0a110b779b68f11d311fef5e2f6e359ef328a4"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Aug 11 17:26:12 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Mon Aug 11 17:26:12 2014 -0700"
      },
      "message": "add id serializers to genapi, add filtering support to genapi, fix _rel_+\n"
    },
    {
      "commit": "9a27092424dc11c9b4ddd93fd9a0b261946e7426",
      "tree": "30aaa0bf5bde778ad1b3a88298ae53feb911ef66",
      "parents": [
        "1e67bb432532f808ac244f0799bfde56bc559ee8"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jul 03 18:01:30 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jul 03 18:01:30 2014 -0700"
      },
      "message": "add no_hyperlinks option to REST api framework\n"
    },
    {
      "commit": "1e67bb432532f808ac244f0799bfde56bc559ee8",
      "tree": "12f86ed0dd29f7320277d5a8a9f3a204cb74897f",
      "parents": [
        "64fbca7cd04e11224be852151c945c408483ca33"
      ],
      "author": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jul 03 17:58:10 2014 -0700"
      },
      "committer": {
        "name": "Scott Baker",
        "email": "smbaker@gmail.com",
        "time": "Thu Jul 03 17:58:10 2014 -0700"
      },
      "message": "fix modelgen error on upgradeFrom_rel_+\n"
    },
    {
      "commit": "8e672994e36488438962554ce5a3529e34818e9d",
      "tree": "5c773f554961f4a601a5453f1a5f15d100948a19",
      "parents": [
        "e3bbcf622e692f93fcc62ff7be7f49a206249b6c",
        "b5885408f6b047c714c015c5f6a36e1a692e88d7"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jun 11 16:58:58 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jun 11 16:58:58 2014 -0400"
      },
      "message": "Merge branch \u0027apigen\u0027\n"
    },
    {
      "commit": "e3bbcf622e692f93fcc62ff7be7f49a206249b6c",
      "tree": "638899ac1b16c8016a8b4be98aee0814d53abc9d",
      "parents": [
        "eb62ad61ef3ca0b8dd5e641ac8e841eb0f17e8ae",
        "6cdfad4fe681f14bd71d86ab76e8a03a845fea20"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jun 11 13:27:49 2014 -0400"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jun 11 13:27:49 2014 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of ssh://git.planet-lab.org/git/plstackapi\n\nConflicts:\n\tplanetstack/apigen/api.template.py\n"
    },
    {
      "commit": "3d042795da9c3f96111c904e0df47720a5fcfe10",
      "tree": "e4b73678e177ad0b43205a9c1517be2426793615",
      "parents": [
        "534910894514cce492d17b2f91096b388093b5a9"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Mar 17 19:18:37 2014 -0400"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Mon Mar 17 19:18:37 2014 -0400"
      },
      "message": "attach caller to saved objects/models\n"
    },
    {
      "commit": "9525eba82a4da84752afc3188d862c4b531ec794",
      "tree": "44c34abd6691f53e70975c89c1aaaaa88cdc0b37",
      "parents": [
        "8f04ee3d3153ab07ff5f6a1bd4cfb9bda52a20d5"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Feb 05 10:57:21 2014 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Feb 05 10:57:21 2014 -0500"
      },
      "message": "override create, update and destroy view methods to support rbac\n"
    },
    {
      "commit": "8f04ee3d3153ab07ff5f6a1bd4cfb9bda52a20d5",
      "tree": "ec8bb42d177ec899ed968b7ca168add3c6daa88d",
      "parents": [
        "eb8eb311d698107844e19cdf3030275308c1e1dd"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Feb 05 10:27:39 2014 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Wed Feb 05 10:27:39 2014 -0500"
      },
      "message": "fix typo\n"
    },
    {
      "commit": "eb8eb311d698107844e19cdf3030275308c1e1dd",
      "tree": "98d22d9782b6afb1ed71618d8915f712203b03f1",
      "parents": [
        "b7b4f8428b66d8e7c65d795dc975ee277d9da4f0"
      ],
      "author": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Feb 04 20:50:39 2014 -0500"
      },
      "committer": {
        "name": "Tony Mack",
        "email": "tmack@paris.CS.Princeton.EDU",
        "time": "Tue Feb 04 20:50:39 2014 -0500"
      },
      "message": "add rbac to rest api views\n"
    },
    {
      "commit": "b5885408f6b047c714c015c5f6a36e1a692e88d7",
      "tree": "1ae3f2f001bc34eeec98e74808fe5e9e3ec41676",
      "parents": [
        "4efd0d94d67dabd99413c3193ffc6aa172cece53"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jan 29 10:32:09 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jan 29 10:32:09 2014 -0500"
      },
      "message": "Continuing bug fixes\n"
    },
    {
      "commit": "4efd0d94d67dabd99413c3193ffc6aa172cece53",
      "tree": "e39146cc9cd09d2470de7dc183c4f640d46cc37b",
      "parents": [
        "be42fba412dba18792e3c3b1ba3f1f2e04f8ef31"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jan 29 00:20:06 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Wed Jan 29 00:20:06 2014 -0500"
      },
      "message": "Bugfix: Typo\n"
    },
    {
      "commit": "be42fba412dba18792e3c3b1ba3f1f2e04f8ef31",
      "tree": "ab957a4db7f465a6c46704097363878a227e0e4e",
      "parents": [
        "60af03dda1ae8650d8ab795e4bfcb8bf23a2cd30"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 28 23:53:49 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 28 23:53:49 2014 -0500"
      },
      "message": "Bug fixes involving field names.\n"
    },
    {
      "commit": "60af03dda1ae8650d8ab795e4bfcb8bf23a2cd30",
      "tree": "ee4402ce77b9d13a409846d788768f3bac80861a",
      "parents": [
        "cdd90b76a096ce2e1866c09c53319a30701c5a67"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 28 20:12:08 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 28 20:12:08 2014 -0500"
      },
      "message": "Bugfix: Added related objects to set of model fields\n"
    },
    {
      "commit": "cdd90b76a096ce2e1866c09c53319a30701c5a67",
      "tree": "8a7250a443e3aa8a9c2e235386beb8d84b37a9f0",
      "parents": [
        "df2b49ed09b8a3f6734f175ad9d41c953be5bed9"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 28 20:03:13 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 28 20:03:13 2014 -0500"
      },
      "message": "Bug fixes for the API generator\n"
    },
    {
      "commit": "df2b49ed09b8a3f6734f175ad9d41c953be5bed9",
      "tree": "82a71da88221555b7f117f80137d224f0c970c18",
      "parents": [
        "643b70979a1baf6b9da44560768cd35c5aa9e435"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 28 19:41:07 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 28 19:41:07 2014 -0500"
      },
      "message": "Bug fixes\n"
    },
    {
      "commit": "eb62ad61ef3ca0b8dd5e641ac8e841eb0f17e8ae",
      "tree": "bbe5395b7cb22584192248857e8257d7ab0b3b10",
      "parents": [
        "7d018caab5dd607b6050e2ba5611ac631772f67f"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 28 14:29:08 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 28 14:29:08 2014 -0500"
      },
      "message": "Fixed some bugs in many to many and generic properties\n"
    },
    {
      "commit": "3a45f8b272f165b75132c6dddfebda904f4ee000",
      "tree": "f4522e59f1c15de5454e54d50061196e5b221da9",
      "parents": [
        "86db4df938dbec1d34b727fd83ca262c49953210"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 14 21:20:16 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 14 21:20:16 2014 -0500"
      },
      "message": "Added new templates\n"
    },
    {
      "commit": "86db4df938dbec1d34b727fd83ca262c49953210",
      "tree": "123b56c1e265ba9ce754030341d99c68638bdf0c",
      "parents": [
        "e50109212a3bdaf92507be3569af911fbd4ecc1d"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 14 21:18:07 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Tue Jan 14 21:18:07 2014 -0500"
      },
      "message": "First pass on API generator. Not for serious use.\n"
    },
    {
      "commit": "3bbf5ed2faffb4eb4b23df0ba659f1ab82a83549",
      "tree": "b1d4d09a0002b53e9fe1631c72314e942b01d51f",
      "parents": [
        "86568320356093c19a742e1884c7a1b24490cffb"
      ],
      "author": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Jan 13 13:29:12 2014 -0500"
      },
      "committer": {
        "name": "Sapan Bhatia",
        "email": "gwsapan@gmail.com",
        "time": "Mon Jan 13 13:29:12 2014 -0500"
      },
      "message": "First version of api generator\n"
    }
  ]
}
