)]}'
{
  "log": [
    {
      "commit": "f39b0856fef005c734c40959f07f711b94c0c4f6",
      "tree": "553d6335e5816e0a9f680a7165c8ad972de85564",
      "parents": [
        "3779d6da40fc90b989b343c1b0d5b22611226b43"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 16:28:22 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 09 16:42:15 2020 -0800"
      },
      "message": "Consistent \u003ctermios.h\u003e behavior on all API levels.\n\nBug: https://issuetracker.google.com/146886722 (where the difference was noticed)\nBug: http://b/69816452 (most recent fixes)\nTest: treehugger\nChange-Id: I487399c44f63ba276ccde74bf0c4a01e4cd4f4bf\n"
    },
    {
      "commit": "95c6cd753f028b1afc0c6a800a3dd6bd85a5a6a0",
      "tree": "3d785e53e88c0b5864a8129c7b13e31f5d0e9caf",
      "parents": [
        "508d270886e90fac23ce51f81864d009307f13ae"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 20 13:26:14 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 20 13:26:14 2019 -0800"
      },
      "message": "Stop using the __ANDROID_API_x__ constants.\n\nHistorically we\u0027ve made a few mistakes where they haven\u0027t matched the\nright number. And most non-Googlers are much more familiar with the\nnumbers, so it seems to make sense to rely more on them. Especially in\nheader files, which we actually expect real people to have to read from\ntime to time.\n\nTest: treehugger\nChange-Id: I0d4a97454ee108de1d32f21df285315c5488d886\n"
    },
    {
      "commit": "462e90cf4dde9a0e512749b735ea1441e27ed8c5",
      "tree": "9b8f2f3a9430814c5670c319b8b1a8722b978aac",
      "parents": [
        "3fd45bba4857fdbf320b6e89d2ae0569d9463bf5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 21 16:10:48 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 23 11:03:17 2018 -0700"
      },
      "message": "Start documenting libc.\n\nBug: N/A\nTest: N/A\nChange-Id: I17345cb72a5ffc3af1688cf5874589cfb1e1fea0\n"
    },
    {
      "commit": "ff26a16c1de7be696719e9001f0707b7c55b52cf",
      "tree": "1f2667df4a1ed2dd79cb53a6231cb88d3d9ade13",
      "parents": [
        "9af9120091ceb96641d7c6c645fabad96db4bc0d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 17 22:34:21 2017 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 18 00:00:38 2017 +0000"
      },
      "message": "Re-submit \"Name function arguments in libc headers for Studio.\"\n\nThis reverts commit 9af9120091ceb96641d7c6c645fabad96db4bc0d (a revert\nof 079bff4fa52b0c3c76057451cc9cdecf1827fce0), now the versioner bug is\nfixed.\n\nBug: http://b/64613623 # header bug\nBug: http://b/64802958 # versioner bug\nChange-Id: I1cb9d7832d4b3aecdc57a9285e2291443e59d02d\n"
    },
    {
      "commit": "9af9120091ceb96641d7c6c645fabad96db4bc0d",
      "tree": "0ac35e33169ae9b07c075a3c623148d2e974d14f",
      "parents": [
        "079bff4fa52b0c3c76057451cc9cdecf1827fce0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 17 18:29:54 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 17 18:29:54 2017 +0000"
      },
      "message": "Revert \"Name function arguments in libc headers for Studio.\"\n\nThis reverts commit 079bff4fa52b0c3c76057451cc9cdecf1827fce0.\n\nBroke builds with SANITIZE_HOST\u003daddress with an asan failure in versioner.\n\nChange-Id: I22b113fd5405589d1a25e5e137c450aaba1ade5f\n"
    },
    {
      "commit": "079bff4fa52b0c3c76057451cc9cdecf1827fce0",
      "tree": "1f2667df4a1ed2dd79cb53a6231cb88d3d9ade13",
      "parents": [
        "67e7bf137e00a6c9ef79396e40be6b1705a2758c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 16 16:30:54 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 16 16:30:54 2017 -0700"
      },
      "message": "Name function arguments in libc headers for Studio.\n\nSecond batch of headers...\n\nBug: http://b/64613623\nTest: builds\nChange-Id: I8eef043dbf32afee8ff814e9d005f46aee8fa21f\n"
    },
    {
      "commit": "4473e34acbd9b8f97f04dd52ac7ccd856370e6d1",
      "tree": "2e05afe679d27eaad883e9c2a3bfd11fd2c74f33",
      "parents": [
        "45715b2a88c8daf5a721ce9b28391120f5507764"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Feb 23 11:09:32 2017 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Feb 23 11:09:32 2017 -0800"
      },
      "message": "Add legacy inlines for more termios stuff.\n\nTest: make checkbuild # with my versioner-in-build patches\nBug: https://github.com/android-ndk/ndk/issues/302\nChange-Id: Ib00b5dadf23592d101486b4f2188285ec03c9e2a\n"
    },
    {
      "commit": "5bc78c8bcd0c1e634c04029309ede3ec05f2d424",
      "tree": "ba41f009cdf5fb27c766b4efe05c4cbb566d2a85",
      "parents": [
        "8945d5e43a25737f3f888a90742cc918b1124a05"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 16 11:35:43 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 16 16:55:42 2016 -0800"
      },
      "message": "Add and use constants for the Android API levels.\n\nTest: bionic tests still pass\nChange-Id: If1b619cfc9db1d3f5d91f14f2ace71058dca0c4a\n"
    },
    {
      "commit": "b6a4a4c0cc76004459f87cecb260d202b5ba5512",
      "tree": "7b8e17a2ed737c178caa4c418917ab57f2afb8f9",
      "parents": [
        "f9128bc7d4fff2f50705d92c4fd06e998b63f442"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jul 26 16:34:40 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Aug 02 14:32:42 2016 -0700"
      },
      "message": "Add version information for legacy inlines.\n\nBug: http://b/30170081\nChange-Id: Ib5962ea3037dd692a98b6691d263871549aac8af\n"
    },
    {
      "commit": "8778d64d5c78a42d5389767adcf232bfe323e0f8",
      "tree": "15a50d1c7c9f60256f6ad2df007fc74999063b47",
      "parents": [
        "12ba7e51d9c4f6d8c1fa5627f638b291520a7025"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jul 22 15:26:36 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jul 22 15:52:55 2016 -0700"
      },
      "message": "Remove __BIONIC_LEGACY_INLINE.\n\nDon\u0027t use the same declaration to declare both static and non-static\nfunctions, to make life easier for versioner.\n\n(Also, remove __BIONIC_LEGACY_INLINE from two functions in termios.h\nthat weren\u0027t actually legacy inlines.)\n\nBug: http://b/30170081\nChange-Id: Ibb73377d77a2b4cee016289b7c46a01452e45fae\n"
    },
    {
      "commit": "14adff1cfa06a3d4d3281a9bf7848b556d84c20d",
      "tree": "ce1fb2867f69e49f57d0bbe8a9099b09beda0c19",
      "parents": [
        "5a3d5cac642f9e58b2c510eab23789fb4fc3a753"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 12:00:55 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 16:39:50 2016 -0700"
      },
      "message": "Add versioning information to symbols.\n\nBug: http://b/28178111\nChange-Id: I46bf95accd819f4521afb1173d8badcc5e9df31c\n"
    },
    {
      "commit": "b8e1b705d187886decb5970f791358f928f93d75",
      "tree": "28f12472ef5f3119340975edc1010c52452b084c",
      "parents": [
        "99739d4280e11f3a63d23059349a0cf98c41f5c4"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 13 17:18:20 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 15 13:06:08 2016 -0700"
      },
      "message": "Make the legacy inline headers compile standalone.\n\nIt\u0027s useful to have the legacy inlines compile by themselves, both to\nmake header unification easier, and to ensure that the inline versions\nmatch the regular declarations. Notably, this wasn\u0027t true for\nsigismember, which took a const sigset_t* in the regular header, and\nsigset_t* in the inline version.\n\nBug: http://b/28178111\nChange-Id: Id8a3b7dcb1bfa61eed93c9fb50d3192744f8bef5\n"
    },
    {
      "commit": "466dbe444446da0a8729ae9ac7294f54276e29d7",
      "tree": "6930e91366bb16c0b12197dbf9efd18b458d2eaf",
      "parents": [
        "3780aba6352affc7d2dcdad0737cb4254448fcae"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Jan 28 18:16:08 2015 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 29 17:30:40 2015 -0800"
      },
      "message": "Put back inline definitions if using an old API.\n\nAll these inlines were turned in to out of line definitions in L.\nThis brings us a step closer to being able to just use the current\nbionic headers for the NDK, rather than having many old versions of\nthem.\n\nChange-Id: Ie010bc727d78d3742abc577c70f6578db2e68625\n"
    },
    {
      "commit": "8d4b5849f21dc4115ad66944dc11df838b3faa52",
      "tree": "a9d93f0a9a42b93132d6a21643cc46cdedb5e488",
      "parents": [
        "76b4f1a33caef09891114bf37562968ab627059a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 11 16:06:23 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 11 19:13:25 2014 -0700"
      },
      "message": "Clean up our termios implementation.\n\nIt\u0027s safe to fix our constant definitions because we know we never\nhad symbols before, so can\u0027t be passing the bad old constants to the new\nfunctions, or the correct new constants to the old inlines.\n\nChange-Id: I858fc680df39bdd3ba471e867833bdfa71f6224e\n"
    },
    {
      "commit": "954923858b34dbe695d202c5a3076f05f269338a",
      "tree": "e90edc4cc4d2ec303419e563ed8f451fb0d3061c",
      "parents": [
        "6fe901ef38898d9cb6007720940e915f7180fc11"
      ],
      "author": {
        "name": "Vitaly Wool",
        "email": "vitaly.wool@sonyericsson.com",
        "time": "Tue Sep 04 14:11:28 2012 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Tue Sep 04 14:11:28 2012 +0200"
      },
      "message": "termios: add tcdrain\n\nChange-Id: I05c0007f7bcc6ef5295c32f86fafbf1ad31e07fa\n"
    },
    {
      "commit": "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "1767f908af327fa388b1c66883760ad851267013"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "1767f908af327fa388b1c66883760ad851267013",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a799b53f10e5a6fd51fef4436cfb7ec99836a516"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "4e468ed2eb86a2406e14f1eca82072ee501d05fd",
      "tree": "4e05b3c66eef86531e464521a3bf96a1864d4bf5",
      "parents": [
        "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "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"
    }
  ]
}
