)]}'
{
  "log": [
    {
      "commit": "037458a5bac2968eb0415c408d68c013d177ea3e",
      "tree": "cb1df0787e3d88fc1ac8626aa221ca5f9c8c8dde",
      "parents": [
        "1498f9c615395de17e11204b962d7d925e5f222d"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 04 15:46:20 2014 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 04 15:46:23 2014 -0700"
      },
      "message": "Catch incompatible API regressions.\n\nIgnore deprecation, synchronized, and throws definitions.  Look\nthrough full inheritance hierarchy to catch refactored classes like\nBaseBundle.\n\nChange-Id: I10ab0b4a0ef64e7508f38d0c223f08711293d643\n"
    },
    {
      "commit": "1498f9c615395de17e11204b962d7d925e5f222d",
      "tree": "4af7942b39cb4e074a08c669c7b9b2c78d8f816d",
      "parents": [
        "ca27d452c14f8a275cf2b7d0e59080690e0dc5c1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 04 12:45:33 2014 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Sep 04 12:45:36 2014 -0700"
      },
      "message": "Add blame to API lint, some exemptions.\n\nNow offers to parse the output of git blame, and includes the last\nperson to modify that API for each reported failure.\n\nAdd more exemptions, and check for boolean setFoo() method inside a\nseparate Builder inner class.\n\nChange-Id: Id32dcbd5edf17d2360e4f782110bc1c445f7936e\n"
    },
    {
      "commit": "294f0de15b510afc06a436bf7cd45d99512c71d3",
      "tree": "252b698a2bb89a21dbe1a3c667e3d79b69b67644",
      "parents": [
        "af0fe973b3ad9b54702abcfed46ce12d4801780e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 29 17:41:43 2014 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Aug 29 17:41:49 2014 -0700"
      },
      "message": "More API lint checks.\n\nWhen offering a helper Service, etc, all platform provided methods\nshould be marked final.  Otherwise, if available for developer to\noverride, they should follow onFoo() style naming.\n\nCatch anyone returning concrete collections types, and look for\noverlapping flags.\n\nChange-Id: I29d95f3dff78a4da968a46f10be89eada509648c\n"
    },
    {
      "commit": "932a07cefea64e858fc999da4be577b10b59fd9f",
      "tree": "41074ff4cfdeab8091042cbcbf73738334c45135",
      "parents": [
        "8190f4885b3eb34231877003a583116a0e82826e"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 28 16:16:02 2014 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 28 16:16:07 2014 -0700"
      },
      "message": "Teach API lint about package layering!\n\nNow it can identify layering violations, like when something deep in\nandroid.os depends on android.app.\n\nChange-Id: I94606c642195b3ed7558ff6979ed4a181cd85fa2\n"
    },
    {
      "commit": "8190f4885b3eb34231877003a583116a0e82826e",
      "tree": "68155fb436b97ff913ae8aa52731ca905ab6db73",
      "parents": [
        "5b836f29a3f56f9d13b6004417330c41ec0c18ae"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 28 12:24:07 2014 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 28 15:31:35 2014 -0700"
      },
      "message": "Lint tool for current.txt.\n\nDetects common public API mistakes, making it easy to quickly scan\nacross all changes in a new API level.\n\nBuilds in-memory representation of the current API, then runs various\ndetectors over the classes.  It collects failures, and can ignore\nknown failures from a previous API level.\n\nExample usage:\n\n$ python frameworks/base/tools/apilint/apilint.py \\\n    frameworks/base/api/current.txt \\\n    prebuilts/sdk/api/21.txt\n\nChange-Id: Ie1f88894baf9f79e4b11e78c47f848ea5e25fc25\n"
    }
  ]
}
