)]}'
{
  "log": [
    {
      "commit": "3a97d308dad3ac657c60a094fa61d6b8869ad883",
      "tree": "6c894879df0149456d8d16e9f9a65e6151498660",
      "parents": [
        "02db072528792ab5ebb4ab4757a739b4dbd5617d"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Tue Aug 11 13:32:23 2020 +0100"
      },
      "committer": {
        "name": "Andrei-Valentin Onea",
        "email": "andreionea@google.com",
        "time": "Thu Aug 13 13:42:10 2020 +0000"
      },
      "message": "Rename classes in art hiddenapi tests\n\nUse more inclusive terminology (go/hiddenapi-list-renaming).\n\nBug: 162500436\nTest: art/test/testrunner/testrunner.py --target --64 -t 674-hiddenapi\nTest: art/test/testrunner/testrunner.py --target --64 -t 999-redefine-hiddenapi\nChange-Id: I9a5139b04196187cbb063c9d122047a8fbc455ce\n"
    },
    {
      "commit": "2731eb474f3f1b9c7598bd477ebbbb1aae28d833",
      "tree": "848224dec52ebec3dcdfbfeda9c756e5fb552603",
      "parents": [
        "14464670d7d6a226b768873f25d63f5d025941ff"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Jul 24 12:10:12 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Sun Jul 26 21:08:18 2020 +0000"
      },
      "message": "More inclusive language fixes\n\nBug: 161896447\nBug: 161850439\nBug: 161336379\nTest: art/test.py --host\nChange-Id: I1519e22d40cb28f243dd75b12d455cfa844726fc\n"
    },
    {
      "commit": "e7681823f8259c8c04ce0c361746216606784e69",
      "tree": "8bd248fc6be126d7d4e55bb4072ed24b2851ebbd",
      "parents": [
        "90faceb71e25748172ba6369209f8a2a66735394"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Dec 14 16:25:33 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jan 21 10:22:27 2019 +0000"
      },
      "message": "hiddenapi: Print warnings for @CorePlatformApi violations\n\nWhen accessing a method/field at runtime, determine the context of both\nthe caller and the callee, and add new logic for the case\n\"platform -\u003e core-platform\" which used to be always allowed.\n\nIf the callee is marked with kAccCorePlatformApi, access is allowed.\nIf not, a warning is printed into logcat.\n\nBug: 119068555\nTest: 674-hiddenapi\nChange-Id: I64839596bf6eb06d7a169fd59b18fd82c140ce6e\n"
    },
    {
      "commit": "4525e0b62cc808a49b4cd2c826bb52a768779e72",
      "tree": "aba9be998bb3684dff53b4b56c0568fb7187502e",
      "parents": [
        "a8503d9696f37ff66b23016f3374ecbe59774dc6"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Apr 05 16:57:32 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 10:30:45 2018 +0100"
      },
      "message": "Fix verifier/linker IncompatibleClassChangeError with hidden API\n\nThe verifier and class linker will attempt to find a method with\nthe wrong type if it could not be found with the original type,\ni.e an interface method on a regular class and vice versa.\n\nThis logic did not previously take hidden API restrictions into\naccount and would result in bogus error messages to the user or\ndebug crashes.\n\nBug: 64382372\nBug: 77464273\nTest: art/test.py -r -t 674-hiddenapi\nMerged-In: If8327a70dd73b90249da3d9e505f0c6f89838f8e\nChange-Id: If8327a70dd73b90249da3d9e505f0c6f89838f8e\n(cherry picked from commit 54a99cfcf3d3463404fdf4152523dcc69b8648d7)\n"
    },
    {
      "commit": "5c7e618a14d638109648094ba37bb3843279ad11",
      "tree": "40c163ceb6a90246e360731310169604fd809ab7",
      "parents": [
        "fc66129b478d49f493b8262f81f8813a5f41459e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Mar 21 14:45:15 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Mar 21 14:45:47 2018 +0000"
      },
      "message": "Revert \"Warn on overriding of hidden methods\"\n\nThis reverts commit fc66129b478d49f493b8262f81f8813a5f41459e.\n\nReason for revert: This was also reverted in internal\n\nBug: 64382372\nMerged-In: I69bdc0fb79831b5ce546205fd40a3300d039de71\nChange-Id: Ice53e73eae7313ae6c72369a1b2e984fb978f2ab\n"
    },
    {
      "commit": "fc66129b478d49f493b8262f81f8813a5f41459e",
      "tree": "305594db27eaf39336175f958ee447536d9bf5d9",
      "parents": [
        "8ce3bfaf1da2139a70b67e6b53c0110489801d40"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Mar 14 13:57:27 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Mar 15 12:54:42 2018 +0000"
      },
      "message": "Warn on overriding of hidden methods\n\nWe could prevent apps from overriding hidden methods in the same\nmanner they cannot override a package-private method - by creating\na separate vtable entry for the child method. For now, start by\nprinting a warning when a hidden method is being overridden but do\nnot change the semantics.\n\nBug: 64382372\nTest: art/test.py -r -t 674-hiddenapi\nChange-Id: I9d5bfa6b833a4c0f5aaffa5f82dbe9b1e1f03f1f\n"
    },
    {
      "commit": "8ce3bfaf1da2139a70b67e6b53c0110489801d40",
      "tree": "40c163ceb6a90246e360731310169604fd809ab7",
      "parents": [
        "722093c305de5646759318fdeedc022c08a6723c"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Mar 12 18:01:18 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Mar 15 12:54:27 2018 +0000"
      },
      "message": "Refactor enforcement of hidden API policy when linking\n\nHidden API enforcement when linking was sub-optimal for two reasons:\na) it was based on Class::CanAccessMember and would throw\nIllegalAccessError instead of NoSuchMethodError/NoSuchFieldError, and\nb) no warnings were printed in the code path.\n\nThis patch moves the checks into ClassLinker\u0027s resolution routines and\nuses a code path which prints warning.\n\nBug: 64382372\nTest: art/test.py -r -t 674-hiddenapi\nChange-Id: I8a0fbdca58ce5803c1588b644a3e627a0a9a6504\n"
    },
    {
      "commit": "11b67b201adb173d5f6f1b7a3fd337fda91e200f",
      "tree": "90870c2ec271002ab36cb57484c185076e424f3a",
      "parents": [
        "8714435022757567aa078601f54244b8339bbed1"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jan 18 16:41:40 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 24 14:21:50 2018 +0000"
      },
      "message": "Set up a test for hidden API enforcement\n\nSubmitting the test first for easier review. The expected outcome\nis that all currently class members are discoverable and accessible.\nFuture CLs will implement the enforcement and change the expected\noutcome.\n\nThe test itself has two JARs - parent declares classes and child\ntries to access them using reflection, JNI and static linking.\nThe test driver (\"Main\" class) loads these JARs as follows:\n(a) both with class loaders\n(b) parent in boot class path, child with class loader\n(c) both in boot class path\n\nIn (a), there should be no enforcement as the JAR does not have\nhidden API access flags (would not load otherwise). In situation(b),\nchild should only be allowed to access parent\u0027s public, non-hidden\nmembers. And in (c), parent contains hidden API access flags but\nchild is exempt from access checks.\n\nBug: 64382372\nTest: art/test.py -b -r -t 674-hiddenapi\nChange-Id: I19f5f7c30c0c7913703209817d36006b161c6778\n"
    }
  ]
}
