)]}'
{
  "log": [
    {
      "commit": "066ca1737225fa9bfea38299a64dd57a01ac2aa4",
      "tree": "be190391188c08bc5c1467c110919a502e303465",
      "parents": [
        "ab81538d6b98433bd385068326b3b09a0d71fe34"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Oct 04 10:45:21 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Oct 11 16:57:18 2018 +0100"
      },
      "message": "Remove explicit dependencies on \"core\" libraries\n\nThe dependencies are unnecessary since bouncycastle, okhttp\nand conscrypt are included in the \"standard libraries\".\n\nTest: build\nBug: 113148576\nChange-Id: Ic8d15d911decbdd6391db8c1231b845353586a54\n"
    },
    {
      "commit": "35297c49f611fae7f620d0375cf7ebb72e99f344",
      "tree": "444f8029f11cfcbb944e50771dfcfdf871dc953f",
      "parents": [
        "54d34fe8a7ae744c453341f6b1e0a98a18b54d15"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Oct 02 21:32:36 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Oct 02 21:32:36 2018 +0100"
      },
      "message": "Remove unnecessary dependency on bouncycastle\n\nNothing in this target requires bouncycastle.\nBug: 113148576\nTest: build\n\nChange-Id: I6128fca1eca1c6cefe679721a4cf72729d27d6bb\n"
    },
    {
      "commit": "ab6ec61251786bf6b4d0407db3bc28aeefcb55db",
      "tree": "fbdb5c5bd38879440eac702018dd53c0ed639541",
      "parents": [
        "58c83fa7c8609059f3d66a5860abb302284c2981"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 23 12:57:51 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Feb 28 15:13:23 2018 +0000"
      },
      "message": "frameworks/base: Set LOCAL_SDK_VERSION where possible.\n\nThis change sets LOCAL_SDK_VERSION for all packages where\nthis is possible without breaking the build, and\nLOCAL_PRIVATE_PLATFORM_APIS :\u003d true otherwise.\n\nSetting one of these two will be made required soon, and this\nis a change in preparation for that. Not setting LOCAL_SDK_VERSION\nmakes the app implicitly depend on the bootclasspath, which is\noften not required. This change effectively makes depending on\nprivate apis opt-in rather than opt-out.\n\nTest: make relevant packages\nBug: 73535841\nChange-Id: I4233b9091d9066c4fa69f3d24aaf367ea500f760\n"
    },
    {
      "commit": "b866307f99c35252dcb76e9269bb57d97c3c4b86",
      "tree": "ce8d4edc1cf2edbc48029214dfbde2213a3d9466",
      "parents": [
        "9d25218985ba8ea944b4a51d194744b5a85a1105"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 08 00:02:42 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 08 00:07:17 2017 +0000"
      },
      "message": "Stop statically including legacy-android-test\n\nStatically including legacy-android-test leads to duplicate classes\nwhich causes build time problems (with Proguard) and runtime problems on\nolder SDK versions. This change:\n* Stops statically including legacy-android-test.\n* Adds compile time dependencies on andoid.test.base, android.test.mock\n  and android.test.runner where necessary.\n* Adds \u003cuses-library android:name\u003d\"android.test.runner\"/\u003e to any\n  affected package to ensure that the classes that were included by\n  legacy-android-test are still available at runtime. That also adds a\n  dependency on android.test.base and android.test.mock.\n\nThe following change descriptions were generated automatically and so\nmay be a little repetitive. They are provided to give the reviewer\nenough information to check the comments match what has actually been\nchanged and check the reasoning behind the changes.\n\n* apct-tests/perftests/core/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in CorePerfTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CorePerfTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n* core/tests/ConnectivityManagerTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    ConnectivityManagerTest\u0027s source depends on its classes and because\n    of these changes they are no longer present on the compilation\n    path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in ConnectivityManagerTest\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* core/tests/bandwidthtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    BandwidthTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in BandwidthTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* core/tests/bluetoothtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    BluetoothTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in BluetoothTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* core/tests/hosttests/test-apps/DownloadManagerTestApp/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in DownloadManagerTestApp\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    DownloadManagerTestApp\u0027s source depends on its classes and because\n    of these changes they are no longer present on the compilation\n    path.\n\n* core/tests/hosttests/test-apps/ExternalSharedPerms/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    ExternalSharedPermsTestApp results in duplicate classes which leads\n    to build time and compile time issues.\n\n* core/tests/hosttests/test-apps/ExternalSharedPermsBT/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    ExternalSharedPermsBTTestApp results in duplicate classes which\n    leads to build time and compile time issues.\n\n* core/tests/hosttests/test-apps/ExternalSharedPermsDiffKey/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    ExternalSharedPermsDiffKeyTestApp results in duplicate classes\n    which leads to build time and compile time issues.\n\n* core/tests/hosttests/test-apps/ExternalSharedPermsFL/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    ExternalSharedPermsFLTestApp results in duplicate classes which\n    leads to build time and compile time issues.\n\n* core/tests/notificationtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    NotificationStressTests\u0027s source depends on its classes and because\n    of these changes they are no longer present on the compilation\n    path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in NotificationStressTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* keystore/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in KeystoreTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* media/mca/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CameraEffectsTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in CameraEffectsTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* media/tests/MediaFrameworkTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    mediaframeworktest\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in mediaframeworktest\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* nfc-extras/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in NfcExtrasTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* packages/CarrierDefaultApp/tests/unit/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CarrierDefaultAppUnitTests\u0027s source depends on its classes and\n    because of these changes they are no longer present on the\n    compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    CarrierDefaultAppUnitTests results in duplicate classes which leads\n    to build time and compile time issues.\n\n* packages/ExtServices/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    ExtServicesUnitTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in ExtServicesUnitTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* packages/MtpDocumentsProvider/tests/Android.mk\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because MtpDocumentsProviderTests\u0027s source\n    depends on their classes and because of these changes they are no\n    longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    MtpDocumentsProviderTests results in duplicate classes which leads\n    to build time and compile time issues.\n\n* packages/SettingsLib/tests/integ/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    SettingsLibTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SettingsLibTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* packages/SettingsProvider/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SettingsProvider\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* packages/SettingsProvider/AndroidManifest.xml\n    Add uses-library for android.test.runner because otherwise this\n    change would change the set of files available to SettingsProvider\n    at runtime.\n\n* packages/Shell/tests/Android.mk\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because ShellTests\u0027s source depends on their\n    classes and because of these changes they are no longer present on\n    the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in ShellTests results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* packages/SystemUI/shared/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SystemUISharedLibTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* packages/SystemUI/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SystemUITests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    SystemUITests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n* packages/WAPPushManager/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    WAPPushManagerTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in WAPPushManagerTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* sax/tests/saxtests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworksSaxTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in FrameworksSaxTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* tests/BrowserPowerTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    BrowserPowerTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in BrowserPowerTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* tests/CanvasCompare/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CanvasCompare\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in CanvasCompare results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/CoreTests/android/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    CoreTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in CoreTests results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/DataIdleTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    DataIdleTest\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in DataIdleTest results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/FrameworkPerf/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworkPerf\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in FrameworkPerf results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/HierarchyViewerTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    HierarchyViewerTest\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in HierarchyViewerTest\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* tests/ImfTest/tests/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    ImfTestTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in ImfTestTests results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/Internal/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in InternalTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/MemoryUsage/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    MemoryUsage\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in MemoryUsage results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n* tests/NetworkSecurityConfigTest/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    NetworkSecurityConfigTests\u0027s source depends on its classes and\n    because of these changes they are no longer present on the\n    compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    NetworkSecurityConfigTests results in duplicate classes which leads\n    to build time and compile time issues.\n\n* tests/SoundTriggerTests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SoundTriggerTests\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    SoundTriggerTests\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n* tests/SurfaceComposition/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in SurfaceComposition\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n    Added \u0027android.test.runner.stubs\u0027 to LOCAL_JAVA_LIBRARIES because\n    SurfaceComposition\u0027s source depends on its classes and because of\n    these changes they are no longer present on the compilation path.\n\n* tests/TtsTests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in TtsTests results in\n    duplicate classes which leads to build time and compile time\n    issues.\n\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    TtsTests\u0027s source depends on its classes and because of these\n    changes they are no longer present on the compilation path.\n\n* tests/WindowAnimationJank/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in WindowAnimationJank\n    results in duplicate classes which leads to build time and compile\n    time issues.\n\n* tests/permission/Android.mk\n    Added \u0027android.test.base\u0027 to LOCAL_JAVA_LIBRARIES because\n    FrameworkPermissionTests\u0027s source depends on its classes and\n    because of these changes they are no longer present on the\n    compilation path.\n\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in\n    FrameworkPermissionTests results in duplicate classes which leads\n    to build time and compile time issues.\n\n* tests/testables/tests/Android.mk\n    Removed legacy-android-test from LOCAL_STATIC_JAVA_LIBRARIES\n    because statically including the classes in TestablesTests results\n    in duplicate classes which leads to build time and compile time\n    issues.\n\n    Added \u0027android.test.base\u0027 and \u0027android.test.mock\u0027 to\n    LOCAL_JAVA_LIBRARIES because TestablesTests\u0027s source depends on\n    their classes and because of these changes they are no longer\n    present on the compilation path.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Iacfc939c97415314366ed61c5f3b7aa1a40f0ec9\n"
    },
    {
      "commit": "5ac2ea1b4d6dbaca045acd4ae9f82bb27089d5f2",
      "tree": "cf5c58e54c768498257b6263b9c22501a3167f3a",
      "parents": [
        "02cca1e0714ca607d794e0482fab0e8d3e922477"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Wed Oct 18 10:35:04 2017 -0700"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Wed Oct 18 12:30:30 2017 -0700"
      },
      "message": "Make priv apps not trust user added CAs by default\n\nPrivileged applications provide core system functionality and as such a\nMiTM in one can put the entire system at risk. These applications should\nnot be trusting user added CAs by default.\n\nBug: 65406503\nTest: runtest --path framework/base/tests/NetworkSecurityConfigTest\nChange-Id: I033258fe1c66ad245d172899df52e9cd02e9ca75\n"
    },
    {
      "commit": "11e45075221680dcc25e3da1d3c32710e5a98603",
      "tree": "2d4a651dd127a2e0dcc67c503ebe08c5cb8ca47f",
      "parents": [
        "c5d458930ca4f69cf2d976ffd65a8679328de62c"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Jan 25 13:24:21 2017 -0800"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Jan 30 14:47:30 2017 -0800"
      },
      "message": "Define targetSandboxVersion\n\nThe new attribute allows both ephemeral and non-ephemeral apps to\nopt into a new, tighter security model.\n\nTest: Manual; built app w/ targetSandboxVersion and verified the security domain\nChange-Id: I8fcaf84e25f0519b438ba51302f79790e680e025\n"
    },
    {
      "commit": "8aeb59ebcd50a510d024dc082fa17b192074c63d",
      "tree": "b7f3e92f4eebc63df03fd63d35b0eafc18ccc81c",
      "parents": [
        "57b8eb3da0c4692ac4f39a9c73aa090af475d14a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 10 12:08:23 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jan 18 16:39:34 2017 +0000"
      },
      "message": "Prepare for removal of legacy-test from default targets\n\nIn preparation for removing junit classes from the Android API\nthe legacy-test target will be removed from the\nTARGET_DEFAULT_JAVA_LIBRARIES. This change adds explicit\ndependencies on junit and/or legacy-android-test to ensure that\nmodules will compile properly once it is removed.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I13e88297731253420e4e5f5291d503f13a39a156\n"
    },
    {
      "commit": "b8feba10f4fc86a2bc31f56a1757632f0292f38f",
      "tree": "483a859351d1431d82628c86e95f65eac5c96127",
      "parents": [
        "5026cabbe17645bfd978a1d724153bd449b89811"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Tue Dec 06 10:26:29 2016 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Wed Dec 07 13:17:41 2016 -0800"
      },
      "message": "Default to not allowing cleartext traffic for ephemeral apps\n\nTest: NetworkSecurityPolicy.isCleartextTraffic permitted returns the\nexpected defaults.\nChange-Id: I7d6577f8461bbf1f44eb21b4d813dba1746449fa\n"
    },
    {
      "commit": "bf9a82a6433701aa2f02761f3a7c425ffef4fa09",
      "tree": "ccf4acc0a984848ac438104d20014a036e6cc2e9",
      "parents": [
        "822de0d90cb4d76d5a8bd655f3c9a94f9bc25d7a"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Fri Mar 25 10:12:19 2016 -0700"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Fri Mar 25 14:48:44 2016 -0700"
      },
      "message": "Add handleTrustStorageUpdate\n\nThis pruns all the stored trusted issuers so that changes to the system\nor user CA store are detected. Currently this is only exposed as a\nTestApi, but it can be hooked up to the trusted storage change event\nin a future commit.\n\nBug: 27526668\nChange-Id: Ic426254babab9a3177c968bc05b45e95eaac1fdd\n"
    },
    {
      "commit": "7cc736da82b814b383daaa59609372917fd004cd",
      "tree": "abe8a3963e9fb282f53562cadd85823d44ad55d3",
      "parents": [
        "7c891700995276c9f6952d0e1f2a2c1882d66f3d"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Wed Mar 23 14:59:14 2016 -0700"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Wed Mar 23 15:28:41 2016 -0700"
      },
      "message": "Properly handle whitespace in domain entries\n\nDomain entries can contain whitespace (or newlines) which should be\nignored to avoid unexpectedly failing to match a domain.\n\nBug: 27816377\nChange-Id: I3691aa4abd409e7be97ad0cf1eb0195725e1b0ab\n"
    },
    {
      "commit": "567f6f24747c80b4ab362a22985576c4f8a418fd",
      "tree": "348247aeb61bc3d44bb0fff9a0503aab657c99ee",
      "parents": [
        "1ce163fe34ae05218d723acafc4dd47bd55cc8da"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Mon Feb 29 14:02:32 2016 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Tue Mar 01 12:42:54 2016 -0800"
      },
      "message": "Allow debug-overrides to be specified in an extra resource\n\nAn application can specify its debug-overrides in an extra resource with\nthe same name suffixed with \"_debug\" (e.g. res/xml/security_config.xml and\nres/xml/security_config_debug.xml).\n\nBy specifying the debug-overrides in an extra file release builds can\nstrip out the file (and any certificate resources that the\ndebug-overrides depend on) to prevent including testing configuration\ninformation in the release build of an application.\n\nBug: 27418003\nChange-Id: Ibfebc376360ca474fc0f9f2fd565faa0cffd9549\n"
    },
    {
      "commit": "32d2a1024f75f7e917f2aca18d34322a46d36bcb",
      "tree": "380523f9dbb4b5f6bbd2cc2fc7cb45635535e0d9",
      "parents": [
        "d78bf970ca8b7a48bf26651016c034b5e319456c"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Tue Feb 23 16:01:55 2016 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Wed Feb 24 10:36:27 2016 -0800"
      },
      "message": "Dont trust the user added CA store by default for apps targeting N\n\nAndroid\u0027s security model is such that the applications data is secure by\ndefault unless the application specifically grants access to it.\nApplication data in transit should have similar security properties.\n\nBug: 27301579\nChange-Id: I72f106aefecccd6edfcc1d3ae10131ad2f69a559\n"
    },
    {
      "commit": "aa6c3c3e252252b80c3900bd4c1ff27d37265c6d",
      "tree": "143c86a6fc3d42adef1b666505651fa7e9fa1043",
      "parents": [
        "47359e813d28570acb789463403bd9df123aaca6"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Fri Dec 18 13:43:28 2015 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Wed Jan 13 15:19:45 2016 -0800"
      },
      "message": "Support TrustedCertificateStore.findAllIssuers\n\nChange-Id: I176ec42c9907e50ee218e4fb352b530ca797be46\n"
    },
    {
      "commit": "49ce7dc2baa9ee867fc7b78301c65fab2168a9b2",
      "tree": "8331e3acccafd87d8236b93ee0271a66525b3ff5",
      "parents": [
        "cfed01af4bea6ff9025c31fbe3ed973f47529484",
        "dd586a46c9ce5f9790ae097f491b088300603452"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Mon Dec 14 19:30:44 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 14 19:30:44 2015 +0000"
      },
      "message": "Merge \"Check for null hostnames in RootTrustManager\""
    },
    {
      "commit": "dd586a46c9ce5f9790ae097f491b088300603452",
      "tree": "cefe97f62997a073963487d04650be77fcc0a0f3",
      "parents": [
        "9613157d5efd09be07a0074a0122dd69265ca70f"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Thu Dec 10 18:32:40 2015 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Thu Dec 10 18:32:40 2015 -0800"
      },
      "message": "Check for null hostnames in RootTrustManager\n\nEven if the hostname aware method is called if the hostname is null then\nthe destination is unknown and the configuration can be ambiguous.\n\nChange-Id: I7cacbd57a42604933fdc882371f143dc0a20902d\n"
    },
    {
      "commit": "fa9beebb83abe38fa04c14dc628bc5c1b4b068cd",
      "tree": "fffd0dd39998f8d115bc0f60fb431ac193929225",
      "parents": [
        "6fea66116c79ecb5232a1c7ae66ae2a6e62c1c12"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Wed Nov 25 13:12:55 2015 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Tue Dec 01 12:19:39 2015 -0800"
      },
      "message": "Expose findByIssuerAndSignature\n\nThis will be used to create a custom conscrypt TrustedCertificateStore\nto avoid loading all of the trusted certificates into memory in a\nkeystore.\n\nChange-Id: Iaf54b691393ecadae6c7ff56b8adc6a2a2923d29\n"
    },
    {
      "commit": "d3af9620817220d737fdb532c1ae1032bdd65e11",
      "tree": "abf147a0d643303681a7110bcb78b279e886b256",
      "parents": [
        "7d72975c5b3e6f18710f078199e7a9e3f9376c60"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Mon Nov 16 10:48:20 2015 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Mon Nov 30 17:20:00 2015 -0800"
      },
      "message": "Expose findTrustAnchorBySubjectAndPublicKey\n\nThis allows for faster lookups of TrustAnchors when checking pin\noverrides without needing to iterate over all certificates.\n\nCurrently only the system and user trusted certificate store are\noptimized to avoid reading the entire source before doing the trust\nanchor lookup, improvements to the resource source will come in a later\ncommit.\n\nThis also refactors System/UserCertificateSource to avoid code\nduplication.\n\nChange-Id: Ice00c5e047140f3d102306937556b761faaf0d0e\n"
    },
    {
      "commit": "5a1078f40dd511901c33ccf78be6e2d5081d6637",
      "tree": "b9d5ab60194a061c0aed6f07d34bfa1dff18525b",
      "parents": [
        "08d36202daeb3e668911c9902edb61b6894f822e"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Tue Nov 10 12:26:18 2015 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Wed Nov 11 10:54:54 2015 -0800"
      },
      "message": "Add NetworkSecurityConfigProvider\n\nChange-Id: I321e3ca94cc2a8d5e0e5d82a83b255ff5b8a71d2\n"
    },
    {
      "commit": "08d36202daeb3e668911c9902edb61b6894f822e",
      "tree": "72dee75fd1be13ff12ecbde62647d9e376b72f16",
      "parents": [
        "749501e88e5fa6bdc6594a9db5c232e31bdda867"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Mon Nov 09 13:38:51 2015 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Tue Nov 10 12:40:00 2015 -0800"
      },
      "message": "Add support for debug-overrides configuration\n\nDebug overrides are only used if the application is debuggable in\norder to help local debugging and development by trusting additional\nCAs. In a non-debuggable version of the application the debug-overrides\nare ignored.\n\nTrust anchors in the debug override configuration have two key\ndifferences from those in base-config and domain-config:\n1) trust anchors in the debug-overrides are trusted for all connections\nin addition to any trust anchors included in the relevant base/domain\nconfigs.\n2) By default trust anchors in the debug config override pins, as their\npurpose is for connecting to non-standard servers for debugging and\ntesting and those servers should not be pinned in the production\nconfiguration.\n\nChange-Id: I15ee98eae182be0ffaa49b06bc5e1c6c3d22baee\n"
    },
    {
      "commit": "bd173c28fcded629da722c6669f1b6478cdcd94f",
      "tree": "24524a2b7140b729912e123e835f7eaf185c64a4",
      "parents": [
        "5f96702f582050c1598136ed2a748f76b981c94e"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Fri Nov 06 23:02:37 2015 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Sat Nov 07 13:31:04 2015 -0800"
      },
      "message": "Support nested domain-config elements\n\nNested domain-config inherit unset parameters from the domain-config\nthey are nested in. This helps avoid copy and pasted configs that are\nalmost the same except a few minor differences for a domain with\nslightly different requirements.\n\nFor example: Consider a domain-config for example.com that, among other\nsettings, does not enforce hsts. Now if you want the rules for\nexample.com to apply to secure.example.com except that hsts _is_\nenforced you can make a nested domain-config for secure.example.com\nunder example.com that sets hstsEnforced\u003d\"true\" and nothing else.\n\nChange-Id: I9e33f7e62127fd7f4f15c3560fff2f2626477bd4\n"
    },
    {
      "commit": "5f96702f582050c1598136ed2a748f76b981c94e",
      "tree": "95bff660c4abcc6b7057372e254acfbb2ea52d89",
      "parents": [
        "1347cb81f402c628f3346ea350a5862749901d59"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Wed Nov 04 23:55:29 2015 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Fri Nov 06 22:24:01 2015 -0800"
      },
      "message": "Add xml source for network security configuration\n\nXmlConfigSource parses an ApplicationConfig from an xml resource.\nCurrently this supports app-wide default configuration via the\nbase-config element, per domain via the domain-config element and\ninheritance of unset properties at parse time.\n\nInheritance of unset properties is currently only:\ndomain-config -\u003e base-config -\u003e platform default configuration\nWhere the most specific value is used.\nFor example: If the base-config specifies trust anchors, all connections\nwill use those anchors except for connections to a domain which has a\ndomain-config that specifies trust anchors, in which case the\ndomain-config\u0027s trust anchors will be used. If the domain-config or\nbase-config don\u0027t set trust anchors, or don\u0027t exist, then the platform\ndefault trust anchors will be used.\n\nNested domain-config entries, debug-overrides, and thorough\ndocumentation of the xml format will follow in later commits.\n\nChange-Id: I1232ff1e8079a81b340bc12e142f0889f6947aa0\n"
    },
    {
      "commit": "80a73f5939364a07d8e83d3a90de6dc789e1b334",
      "tree": "c1f10b56247dbb43e7df15ee56fdf772b88796a5",
      "parents": [
        "6bc1e3966c4890ee3d47b5e527b800f2700ed627"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Wed Nov 04 23:36:07 2015 -0800"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Thu Nov 05 12:50:30 2015 -0800"
      },
      "message": "Use a builder for NetworkSecurityConfig\n\nThe builder supports all the standard builder set* methods as well as\nsetting a parent builder to use when values are not set (recursively).\nThis allows us to have a level of inheretence in configurations without\ncomplicating the lookup and trust checking logic by doing inheretence\nwhen building the configs.\n\nChange-Id: I054af83451e52761227479eadf9cb9803437505f\n"
    },
    {
      "commit": "6bc1e3966c4890ee3d47b5e527b800f2700ed627",
      "tree": "4a4d5e03e7cca93d342bb6ea6fc7fdfef75587dd",
      "parents": [
        "5d562d4d2fe5697468e5b93b183ed8ea42e115a2"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Fri Oct 23 15:33:56 2015 -0700"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Wed Nov 04 14:31:18 2015 -0800"
      },
      "message": "Add initial network security config implementation\n\nInitial implementation of a unified application wide static\nnetwork security configuration.\n\nThis currently encompases:\n* Trust decisions such as what trust anchors to use as well as static\n  certificate pinning.\n* Policy on what to do with cleartext traffic.\n\nIn order to prevent issues due to interplay of various components in an\napplication and their potentially different security requirements\nconfiguration can be specified at a per-domain granularity in addition\nto application wide defaults.\n\nThis change contains the internal data structures and trust management\ncode, hooking these up in application startup will come in a future\ncommit.\n\nChange-Id: I53ce5ba510a4221d58839e61713262a8f4c6699c\n"
    }
  ]
}
