)]}'
{
  "log": [
    {
      "commit": "9d12725cad91a4074f01a5eb66fd2f3e6978f590",
      "tree": "73d185d7c812393fff0a6c79d281c13d372f4cce",
      "parents": [
        "097381382bb49547b847c90e0471694d84ce68f6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 13 10:54:49 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 13 10:54:49 2018 -0700"
      },
      "message": "cutils: move hashmap to \u003cpthread.h\u003e.\n\nBug: N/A\nTest: builds\nChange-Id: I16a470265a17ea5bd47ef76ec234907cf7ec3e4f\n"
    },
    {
      "commit": "721e3ebf552b6041fa2228b5fdebc442975db1fa",
      "tree": "c8f53a174622bbe04be96bd22fe511d475e7b609",
      "parents": [
        "1db3789252342c5bfd34d889792866c3b4357b0c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 11 14:26:40 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 11 14:27:32 2018 -0700"
      },
      "message": "libcutils: remove some unused API.\n\nBug: N/A\nTest: builds\nChange-Id: Iabe42353a708afde2611b5c642775849e2e45baa\n"
    },
    {
      "commit": "23b98f492b51b76039bf47a96246841b73925be7",
      "tree": "5935492581b4038efe418d34547434a540f1b206",
      "parents": [
        "751f2fa535f96442ad55e130b78a312c183a1317"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 08 13:00:06 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue May 08 13:00:06 2018 -0700"
      },
      "message": "Remove more bogus \u003cstdbool.h\u003e #includes from C++.\n\nBug: N/A\nTest: builds\nChange-Id: I794cd28667c6c65b38940d8f443315ad116b7ac3\n"
    },
    {
      "commit": "8e9aeb9053695a14539653093937158d15385ca6",
      "tree": "b02f7ad2149812eea2cb2802b7f238856b66619c",
      "parents": [
        "6707ef139d9786887649e3e3c2e3e251a95dc96d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 10 10:22:07 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 10 13:18:10 2017 -0800"
      },
      "message": "Move libcutils source to C++.\n\nJust the minimial changes to get this to actually build, because otherwise\nwe always bog down trying to rewrite everything (when the real answer\nis usually \"stop using libcutils, it\u0027s awful\").\n\nThis doesn\u0027t move a handful of files: two are basically just BSD libc\nsource, a couple have outstanding code reviews, and one can be deleted\n(but I\u0027ll do that in a separate change).\n\nI\u0027m also skipping the presubmit hooks because otherwise clang-format\nwants to reformat everything. I\u0027ll follow up with that...\n\nBug: N/A\nTest: builds\nChange-Id: I06403f465b67c8e493bad466dd76b1151eed5993\n"
    },
    {
      "commit": "7390478f194a1655bc919664928217d811ae4c68",
      "tree": "19d219c5e27c051baa018d5dbadeab4a1b55be2e",
      "parents": [
        "0ac29519ac75a72a4ecacffc819eff9adf5b1b70"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Aug 26 10:40:00 2015 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Aug 26 10:40:00 2015 -0700"
      },
      "message": "libcutils: cleanups for -fsanitize\u003dinteger\n\nHash functions rely on overflow behavior, so whitelist them.\n\nATRACE_TAG_NOT_READY: use an unsigned constant when shifting bits.\nOtherwise, the value overflows on shift. The users of this constant\nassign it to a uint64_t variable.\n\nChange-Id: I21c437ce2083525e906c3ead3259ec34a1ef4b66\n"
    },
    {
      "commit": "4fab9ac04e444f8ad057e67006320ca25381948e",
      "tree": "66e909ccd2adb164bf3820116dfee49eaf5d2196",
      "parents": [
        "bdaaec1ba0a7cf832ad7fe475a7c541ed9973e52"
      ],
      "author": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Thu Mar 24 11:12:00 2011 -0700"
      },
      "committer": {
        "name": "Dima Zavin",
        "email": "dima@android.com",
        "time": "Tue Apr 19 15:16:18 2011 -0700"
      },
      "message": "libcutils: hashmap: save next pointer in forEach before calling callback\n\nIf the callback passed to forEach tries to remove the element it was passed,\nthere\u0027s a use-after-free of the entry pointer in forEach.\n\nChange-Id: Ia364b4775c9c55780b23f683b30cbff511b7f944\nSigned-off-by: Dima Zavin \u003cdima@android.com\u003e\n"
    },
    {
      "commit": "dd7bc3319deb2b77c5d07a51b7d6cd7e11b5beb0",
      "tree": "2ba8d1a0846d69b18f623515e8d9b5d9fe38b590",
      "parents": [
        "e54eebbf1a908d65ee8cf80bab62821c05666d70"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:32:55 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:32:55 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "e54eebbf1a908d65ee8cf80bab62821c05666d70",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a1e1c1b106423de09bc918502e7a51d4ffe5a4ae"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:29:04 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:29:04 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "4f6e8d7a00cbeda1e70cc15be9c4af1018bdad53",
      "tree": "54fd1b2695a591d2306d41264df67c53077b752c",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
