)]}'
{
  "log": [
    {
      "commit": "700f2ab30b2974a5c63163d23a5dd98cef87590c",
      "tree": "c6c2e91d88ed3266010360e1bda3b12488f0e7ff",
      "parents": [
        "4db859667e845b19d8cdfc00504b6fafa2f95912"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Fri Jun 06 12:19:05 2025 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Fri Jun 06 13:25:40 2025 -0700"
      },
      "message": "25Q3 OWNER freeze window\n\nRemove all owner to make sure the Bluetooth prebuilt is aligned with\n25Q3 sources\n\nBug: 422853292\nBug: 315241296\nFlag: EXEMPT owner only\nTest: m .\nChange-Id: Ib2e1d39862efa5bb23eb7b798410673df5518ac6\n"
    },
    {
      "commit": "a26df1459aa59471ce0d86c30bd1ee981f32d481",
      "tree": "b13cb11375b24567f21f78dc74a484b4dfd03ce5",
      "parents": [
        "a622c5b17a29bc52eb3f91e7668dea183d54edb4"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Tue Jun 03 20:07:59 2025 +0000"
      },
      "committer": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Tue Jun 03 13:16:22 2025 -0700"
      },
      "message": "Update rand crate version\n\nUpdate from 0.8.5 to 0.9.1.\n\nBug: 420420630\nTest: m cf_x86_64_only_phone-trunk_staging-eng\n\nFlag: EXEMPT: external library update\nChange-Id: Ief146d5cb9cc45f849b40507eda25c2cd86990b7\n"
    },
    {
      "commit": "3c66e727f4f8b40fc6d2feb5dfee50c21e916258",
      "tree": "b6192e27fb69d6291056da6ec723f73fe958fa34",
      "parents": [
        "9cf18a3b2cf3f40d808918e622a439209f3086ab",
        "379c798b0d22d50e658e5b91ee993fceb5d09775"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed May 28 09:25:00 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 28 09:25:00 2025 -0700"
      },
      "message": "Merge \"Keep using the same version of rand crate\" into main"
    },
    {
      "commit": "23165a63d3e6577e73aa915ec62893881318be64",
      "tree": "25961e8a32ef517d99a6c4620572bc093ba6f437",
      "parents": [
        "754027deb140f2131bb52452752184d0921c80d2",
        "f9eb7c8d9365c14990106f9db03cc659eac8c262"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue May 27 23:32:46 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 27 23:32:46 2025 -0700"
      },
      "message": "Merge \"bugreport: Enable analysis from snoop file instead of full report\" into main"
    },
    {
      "commit": "f9eb7c8d9365c14990106f9db03cc659eac8c262",
      "tree": "f93dd8acd2f2f706043940eeb6435f04c6410696",
      "parents": [
        "2b23a3c809f9e621bb9509d65a77dc1db7a76f41"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue May 27 14:07:05 2025 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue May 27 14:07:05 2025 -0700"
      },
      "message": "bugreport: Enable analysis from snoop file instead of full report\n\nInput files with .log extension will now directly be opened as\nBT snoop files.\n\nBug: 331817295\nTest: ./tools/bugreport/bugreport.py a2dp bt_snoop.log\nFlag: EXEMPT, tool change\nChange-Id: If9f3af05e7bad4f242e1154983300121a687ea71\n"
    },
    {
      "commit": "379c798b0d22d50e658e5b91ee993fceb5d09775",
      "tree": "8a1c8a0941d7e54ba7bf77af3d10ae1c613870ad",
      "parents": [
        "a9d9f8e2cbaa2c005e7b1eb66c8f1573b87c9784"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Tue May 27 11:55:40 2025 +0000"
      },
      "committer": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Tue May 27 04:58:33 2025 -0700"
      },
      "message": "Keep using the same version of rand crate\n\nThis change is no-op, just renaming an existing 3p dep.\n\nRand is being updated to the latest version. In the meantime, point\nexisting users to the soon-to-be previous version.\n\nBug: 420420630\nTest: m cf_x86_64_only_phone-eng\nFlag: EXEMPT: dependency rename, external library\nChange-Id: I402359ecce2adb73f4b86b5e63809715dd07ca11\n"
    },
    {
      "commit": "8ddcdd4d40e2372b35a20026f34ea9fe66ce599e",
      "tree": "eb963718f62a5216a8bd67af7bfa22bf2066b1e5",
      "parents": [
        "c47191baa1974c013a3e3d35cc7543974f2f5e87"
      ],
      "author": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Sun May 25 04:55:36 2025 +0000"
      },
      "committer": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Sun May 25 05:16:00 2025 +0000"
      },
      "message": "Fix ScanningApp `res` directory location\n\nBug: 417855334\nTest: m ScanningApp\nFlag: EXEMPT ScanningApp only\nChange-Id: I8a5ef6bfa77e8023e7e99b7471db45719a36e2ee\n"
    },
    {
      "commit": "e885db0c9aace03264cd7831ce35fdff1cfa883b",
      "tree": "688001ae5e8415f4c5e20720cc143d3142f59f42",
      "parents": [
        "8e9a49a2d6e578161159c3a48c58220f5ffbb134",
        "e946d4441a7c0940f95d88015797e81420b828e2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri May 23 11:43:30 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 23 11:43:30 2025 -0700"
      },
      "message": "Merge \"rootcanal: Fix ISO handling\" into main"
    },
    {
      "commit": "889e489d2024c419bcc0250dd7f166960025f2c3",
      "tree": "d66b594c7984006eb3a286e7bbc9dce569cd816b",
      "parents": [
        "185b27246bc2248edaa2b986ba66aa7880de1248"
      ],
      "author": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Thu May 22 07:27:48 2025 +0000"
      },
      "committer": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Thu May 22 07:27:56 2025 +0000"
      },
      "message": "Make ScanningApp compatible with Gradle/Android Studio\n\nThis allows the work alongside Android.bp in AOSP\nas well as within Android Studio\n\nBug: 417855334\nTest: m ScanningApp\nFlag: EXEMPT ScanningApp only\nChange-Id: Ib5adb4a344df5bc99fe3f19fd6fe0fbcbefc8e63\n"
    },
    {
      "commit": "e946d4441a7c0940f95d88015797e81420b828e2",
      "tree": "c7731c7e5a8db8f115f675862e3554aebc266e69",
      "parents": [
        "eb647bab59dfa8d9a9ab3fd6d5803ef0511edfa2"
      ],
      "author": {
        "name": "Wojciech Pietraszewski",
        "email": "wpietraszewski@google.com",
        "time": "Tue May 20 15:18:00 2025 +0200"
      },
      "committer": {
        "name": "Wojciech Pietraszewski",
        "email": "wpietraszewski@google.com",
        "time": "Wed May 21 17:22:11 2025 +0200"
      },
      "message": "rootcanal: Fix ISO handling\n\nThis adds Number of Completed Packets event to HandleIso in LinkLayerController.\nWithout this patch, it was impossible to have passing results in the PTS tests\nthat required receiving ISO data, such as remote source test scenario in GMAP.\nAdditonally, fixes a minor formatting issue reported by `repo upload`.\n\nBug: 397402797\nTest: mmm packages/modules/Bluetooth\nFlag: TEST_ONLY\nChange-Id: I2da7c3bafa4a0ebaa3162dc22b1d6632ebb4b922\n"
    },
    {
      "commit": "4008c96a9047c5890a194f455deae045a2e65bd9",
      "tree": "400b45334c383b1a697669042fe91b52f81ab5c8",
      "parents": [
        "70b9afb0eb43c0635932170c1babc2ecacb05dea",
        "91fabba226d3f554a8b7ebcbd75d99608b82e597"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue May 20 23:49:42 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 20 23:49:42 2025 -0700"
      },
      "message": "Merge \"RootCanal: Relax the PDL definition of HCI LE Remove Iso Data Path\" into main"
    },
    {
      "commit": "91fabba226d3f554a8b7ebcbd75d99608b82e597",
      "tree": "a4136d697b8f41ee301195d97c277634c51d8f2f",
      "parents": [
        "9226789380cfffc32245de762bd1f3ebdfca872d"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue May 20 08:59:33 2025 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue May 20 09:08:36 2025 -0700"
      },
      "message": "RootCanal: Relax the PDL definition of HCI LE Remove Iso Data Path\n\nBug: 418925989\nFix: 418925989\nTest: m root-canal\nFlag: EXEMPT, tool change\nChange-Id: Ie0c3d16bd1c58482473a047c10df35772db075ab\n"
    },
    {
      "commit": "165400a244fcb24cb2893a3cd6007d4b3e3ee048",
      "tree": "3d39c950cdafff21cd0d8685d875be1a6f923d75",
      "parents": [
        "8a09775922885bf3f54920d312ae0f1ddc8534ad",
        "10cdb39ea65b0f6dd7271378ec97c523e8ad6be7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon May 19 21:02:16 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 19 21:02:16 2025 -0700"
      },
      "message": "Merge \"Move ChannelSoundingTestApp app from android/ to tools/\" into main"
    },
    {
      "commit": "d42eacd9d4f672ccad1bbe2f2189b7d98453609d",
      "tree": "0bd62d80315c296076cadbbb9f11bd72b991d56e",
      "parents": [
        "bdcda465bf8449114f1440f5966aeb2aa3333fdc"
      ],
      "author": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Tue May 20 01:03:05 2025 +0000"
      },
      "committer": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Tue May 20 01:03:29 2025 +0000"
      },
      "message": "Move LeAudioTestApp app from android/ to tools/\n\nBug: 394958283\nTest: m LeAudioTestApp\nFlag: EXEMPT LeAudioTestApp\nChange-Id: Ifac85fdecf95c6c258eb1166951810efd9a69019\n"
    },
    {
      "commit": "10cdb39ea65b0f6dd7271378ec97c523e8ad6be7",
      "tree": "090de388cffd179b5cdcaa3d54b45f7f7b166b45",
      "parents": [
        "bdcda465bf8449114f1440f5966aeb2aa3333fdc"
      ],
      "author": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Tue May 20 01:02:02 2025 +0000"
      },
      "committer": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Tue May 20 01:02:12 2025 +0000"
      },
      "message": "Move ChannelSoundingTestApp app from android/ to tools/\n\nBug: 394958283\nTest: m ChannelSoundingTestApp\nFlag: EXEMPT ChannelSoundingTestApp\nChange-Id: I107733044f7cf3fae8b076c2e7037bc9f4622fa0\n"
    },
    {
      "commit": "ed6f0d57555ddb29ed372a0dd90684b8aa5ec645",
      "tree": "2b4a5d7beb20e236fdda1b55a841d1b2b443ff28",
      "parents": [
        "7ec2c4c0aee398e2bc7e286e2200bb98410f2d37"
      ],
      "author": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Fri May 16 02:12:34 2025 +0000"
      },
      "committer": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Mon May 19 21:53:25 2025 +0000"
      },
      "message": "Add ScanningApp (with RSSI filter option)\n\nBug: 417855334\nTest: m ScanningApp\nFlag: EXEMPT ScanningApp only\nChange-Id: I4ff9685644db6f3cf222c9be5351b42b2fb24cf3\n"
    },
    {
      "commit": "ca5c7bdd4ec39436bbb4774fac3be8ed5011c340",
      "tree": "29723cb4763a96138a42354513b0ebd2a82b4c17",
      "parents": [
        "8d07f98a9ba44f02d43b4cdaab996ac49b1e0bfc",
        "3f84ddb27c76cd339474475c7a1724851198229c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed May 14 09:35:54 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 14 09:35:54 2025 -0700"
      },
      "message": "Merge \"tools: Implement basic asha stream analyzer\" into main"
    },
    {
      "commit": "3f84ddb27c76cd339474475c7a1724851198229c",
      "tree": "d9f3b800d66dcbc9e46932d3f9a370654da4bb8b",
      "parents": [
        "0c1833505cc5d400a0d7da6f46d21d8cd625cb52"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue May 13 16:54:29 2025 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue May 13 17:30:00 2025 -0700"
      },
      "message": "tools: Implement basic asha stream analyzer\n\nBug: 331817295\nTest: ./tools/bugreport.py asha \u003cbugreport\u003e\nFlag: EXEMPT, tool change\nChange-Id: I1d2fd87f8b26e13ffe317736370a8a6874509af6\n"
    },
    {
      "commit": "029d6020ba169777d3f9430ae60cdaaf75b4f68a",
      "tree": "c7ccaf73c331d2252d8c81b1e9c0aad7f6d8c064",
      "parents": [
        "0c1833505cc5d400a0d7da6f46d21d8cd625cb52"
      ],
      "author": {
        "name": "Himanshu Rohilla",
        "email": "rohillah@google.com",
        "time": "Mon May 12 10:43:15 2025 -0700"
      },
      "committer": {
        "name": "Himanshu Rohilla",
        "email": "rohillah@google.com",
        "time": "Mon May 12 10:45:11 2025 -0700"
      },
      "message": "Fixing `size_bytes_` after a successful read iteration\n\n`size_bytes_` will be NULL as the ownership is transferred to\n`pdl::packet::slice size` after the move as its a shared_ptr. As the scope of `slice size` is limited to this block, we can avoid doing a `move`.\n\nBug: 406379764\nTest: m com.google.android.bt\nFlag: EXEMPT minor change\nChange-Id: I856fbf5e36e5eabbc74b696e51687193d65e4472\n"
    },
    {
      "commit": "77912a62e056d0e41db57667cc7bfbd605fd29fc",
      "tree": "399727fbc01d95167a6b320e27a9c0048ebfd30b",
      "parents": [
        "d7df49e34b5152c21f5d9407ac76e58f7102681c"
      ],
      "author": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Thu May 08 15:10:47 2025 -0700"
      },
      "committer": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Thu May 08 20:10:44 2025 -0700"
      },
      "message": "Use ready external/ktfmt instead of embedded in Bluetooth\n\nBug: 394958283\nTest: m com.android.bt\nFlag: EXEMPT refactor no-op\nChange-Id: If963bc0c0466cfbc32aadbb274443f511b74bda1\n"
    },
    {
      "commit": "419b0e49f45d835ae28bde026269cb077e13a7cc",
      "tree": "7a30af042d498b0a0ef6473145f58ced4f53a9a6",
      "parents": [
        "b4f3b791265882468cf1ca30dda9e65be60fc847"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Thu May 08 18:36:14 2025 +0000"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Thu May 08 11:46:14 2025 -0700"
      },
      "message": "RootCanal: Do no fragment RX ACL packets\n\nBug: 279665786\nTest: m root-canal\nTest: atest --host rootcanal_ll_test\nFlag: EXEMPT, tool change\nChange-Id: I9432f0e3d70d95a9ec3d2330d351868c123e0fa2\n"
    },
    {
      "commit": "f1b3105f2fa32e2a9dafd407a68099c740e2cdd3",
      "tree": "c011cf8319bad5e9888279ddd5763698c5394b02",
      "parents": [
        "75ccc4b53b0dbf51c428f365b298b5986ce597c3",
        "a5c433292917381b40204cbed08c6d1281ae61e3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Mon May 05 18:03:26 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 05 18:03:26 2025 -0700"
      },
      "message": "Merge \"tools/bugreport: Fix some misc issues with truncated / invalid streams\" into main"
    },
    {
      "commit": "1634cfe25d93f91bc30c6835feee1cb629142127",
      "tree": "a59a224de7464be32e7949fe9509c3e2e3a706ab",
      "parents": [
        "60dfc19083313189f9441727a07643bc49e8cc7d",
        "7807cb0c5e30d583ab6d42bc9dbf6f301b600f45"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon May 05 13:50:48 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 05 13:50:48 2025 -0700"
      },
      "message": "Merge \"RootCanal: Implement support for the command HCI LE Set Data Length\" into main"
    },
    {
      "commit": "a5c433292917381b40204cbed08c6d1281ae61e3",
      "tree": "cbe2fa762a0055beb5b0f61069aa99004cf25093",
      "parents": [
        "7807cb0c5e30d583ab6d42bc9dbf6f301b600f45"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri May 02 14:01:26 2025 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri May 02 14:35:47 2025 -0700"
      },
      "message": "tools/bugreport: Fix some misc issues with truncated / invalid streams\n\nBug: 331817295\nFlag: EXEMPT, tool change\nTest: ./tools/bugreport/bugreport.py a2dp \u003creport\u003e\nChange-Id: I33ce5401d8402968b8bf02ae673bd48629d5823b\n"
    },
    {
      "commit": "7807cb0c5e30d583ab6d42bc9dbf6f301b600f45",
      "tree": "177dcc397d0c6ac279e8e853825fcd23990a4ad5",
      "parents": [
        "2f5979581db08e48adb78707d0a248149ac5982e"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri May 02 13:51:15 2025 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri May 02 14:35:47 2025 -0700"
      },
      "message": "RootCanal: Implement support for the command HCI LE Set Data Length\n\nPartial support; the data length change is not effected and no\nLE Data Length Change event will be generated. This is still a\nvalid behavior by the Core specification.\n\nBug: 286588829\nFlag: EXEMPT, tool change\nTest: m root-canal\nChange-Id: Ia9dd930c59b23e8b752796cf7e03572be368cbef\n"
    },
    {
      "commit": "2c0d1e2836ef8e3a6b65e8b688b52abe1b08e0e0",
      "tree": "a569086ca207b3ff7997260de957c0dff1cd46d2",
      "parents": [
        "3dc76fe4eb9c9fe6d862fa2b30abf2f8935cc832"
      ],
      "author": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Tue Apr 29 11:30:34 2025 +0000"
      },
      "committer": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Tue Apr 29 23:43:39 2025 +0000"
      },
      "message": "Run ktfmt on all `.kt` files\n\n```\nfind . -type f -name \"*.kt\" -exec ${REPO_ROOT}/external/ktfmt/ktfmt.sh --kotlinlang-style {} \\;\n```\n\nBug: 394958283\nTest: m com.android.bt\nFlag: EXEMPT refactor no-op\nChange-Id: I2cce068aeedaa46f5db587c9eacfb286b53f9a29\n"
    },
    {
      "commit": "905a2a34e811453310ef2281067bab0f228c160c",
      "tree": "c7d544d9d0b08deaa9373f771f8439dc38c10b95",
      "parents": [
        "1e7f3a154e58182f679d654959f54c2d20d5b4ce"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Apr 22 13:52:14 2025 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Apr 22 13:54:28 2025 -0700"
      },
      "message": "tools/bugreport: Add color output to A2DP traces\n\nBug: 331817295\nTest: ./tools/bugreport/bugreport.py a2dp \u003creport\u003e\nFlag: EXEMPT, tool change\nChange-Id: I7af97e25eaa458415db2badb6cce79f87aada31b\n"
    },
    {
      "commit": "af6d180a32e4d339c4417acaf96b6f92244f93ad",
      "tree": "452260c23044c3c3b4b9c315019381474b2cfb1f",
      "parents": [
        "0886838c6401cc4fa17560ee7912391ed650a28c"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Apr 21 10:01:12 2025 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Apr 21 10:01:12 2025 -0700"
      },
      "message": "tools/bugreport: Plot the TX delay\n\nUse NOCP events to compute the TX delay for\nACL data packets on the ACL connection.\n\nBug: 331817295\nTest: ./tools/bugreport.py a2dp \u003creport\u003e\nFlag: EXEMPT, tool change\nChange-Id: Ica76b23286d95ba24193292bd4ecab0b367f3719\n"
    },
    {
      "commit": "0886838c6401cc4fa17560ee7912391ed650a28c",
      "tree": "3be5e02109b6543ea6bb9decc449aef64a35144f",
      "parents": [
        "51c35566ef0ee4baa87caa3053a63a66cdd144bd"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Apr 18 08:51:15 2025 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Apr 18 08:51:15 2025 -0700"
      },
      "message": "tools/bugreport: Handle AVDTP reconfiguration\n\nBug: 331817295\nTest: ./tools/bugreport/bugreport.py a2dp \u003cREPORT\u003e\nFlag: EXEMPT, tool change\nChange-Id: I27096e6f5ec05d992b91159f35a186ae1f84eb53\n"
    },
    {
      "commit": "569607cfb22141dc8cac62899587a664e51deec3",
      "tree": "223b867c110e089eac3686d222c899bab63bcfac",
      "parents": [
        "921aaec06df0b5974d0fbbb40443935b15019270"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Apr 11 10:48:36 2025 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Apr 11 11:04:15 2025 -0700"
      },
      "message": "tools: Implement bugreport analyzer tool\n\nCurrently implements utilities to analyze / extract\nAVDTP and A2DP trafic. Feel free to contribute new\nhelpers :)\n\nBug: 331817295\nTest: ./tools/bugreport.py --help\nFlag: EXEMPT, tool change\nChange-Id: I4afa740543a1f522b3cb3d5e6f1d8fc918eb3415\n"
    },
    {
      "commit": "3c9b327853a099c6a7f7713071624019a9e39e31",
      "tree": "9158133f2864f03416365a7064614851143a1f73",
      "parents": [
        "476954cd52c21b4e85ba2714cbce5c51901c7274"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed Apr 09 21:11:59 2025 +0000"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed Apr 09 21:11:59 2025 +0000"
      },
      "message": "RootCanal: Implement the Intel vendor command DDC Config Read\n\nBug: 409609977\nTest: m root-canal\nFlag: EXEMPT, tool change\nChange-Id: I4b286391df9903161155cd83fb2ea583af235f92\n"
    },
    {
      "commit": "476954cd52c21b4e85ba2714cbce5c51901c7274",
      "tree": "a68f40d4bcf08a6be0d7729d70734fec5d507c42",
      "parents": [
        "d3d61aab9cd30e7a2ad1ab65d125e3b358d1b277"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed Apr 09 21:05:06 2025 +0000"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed Apr 09 21:05:06 2025 +0000"
      },
      "message": "RootCanal: Implement the command HCI Set Min Encryption Key Size\n\nBug: 409609977\nTest: m root-canal\nFlag: EXEMPT, tool change\nChange-Id: I69b0943b81a78e913605bd99dd49add7e010fa43\n"
    },
    {
      "commit": "8676d28c4b8034d130ad1d581f101697561c420a",
      "tree": "5266387ea06a50f297e417e7b67c3f84305c6699",
      "parents": [
        "7138607d8c3062b0dcede1d2b8cbbb68031dc9b5",
        "bea95c8ecc6e6f7f14154015c5bd45bdc520847b"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed Apr 09 11:06:09 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 09 11:06:09 2025 -0700"
      },
      "message": "Merge \"RootCanal: Send LMP_AU_RAND challenge on authentication request\" into main"
    },
    {
      "commit": "bea95c8ecc6e6f7f14154015c5bd45bdc520847b",
      "tree": "4672ef6a88f08f37609ffe88d2b25d8f6f2cf06f",
      "parents": [
        "f5842f9e13b0719bcdec86135a3deeb87cfde284"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Nov 25 18:19:13 2024 -0800"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed Apr 09 16:04:38 2025 +0000"
      },
      "message": "RootCanal: Send LMP_AU_RAND challenge on authentication request\n\nLeft as TODO: in the current implementation;\nsend the challenge from the initiator side, and respond\nwith either LMP_SRES or LMP_NOT_ACCEPTED on the responder\nside depending on the result of a Link Key Request sent\nto the Host.\n\nBug: 380250638\nTest: m root-canal\nTest: cargo -C tools/rootcanal/rust test\nFlag: EXEMPT, tool change\nChange-Id: I136c54569ea49608b19200434573d6cd4fda3a35\n"
    },
    {
      "commit": "9bef1afe4097f7d4df05cc34b1b4fb333b8a238a",
      "tree": "b5d2a201b1baac48afa64e6ded0bfd433c683778",
      "parents": [
        "60c81dffbc0d2cbceeb6ff076bfe3e02a0304f88"
      ],
      "author": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Mon Apr 07 20:09:07 2025 +0000"
      },
      "committer": {
        "name": "Ömer Faruk Yılmaz",
        "email": "ofy@google.com",
        "time": "Mon Apr 07 20:15:33 2025 +0000"
      },
      "message": "Move all Kotlin `companion object` to bottom\n\nThis follows the guidance from\ngo/kotlin-practices/classes#class-declaration-order\nand b/273994056.\n\nBug: 394958283\nTest: m com.android.bt\nFlag: EXEMPT refactor no-op\nChange-Id: I7addf4d581611137dc2df712f86dfba61795d381\n"
    },
    {
      "commit": "f67303a85e4ad2f4d2de15eaefba781114a2ec42",
      "tree": "656fea9d401e32e14e7c27b943832077f609918c",
      "parents": [
        "c8db6b0ab4a40d15bd3d21c82db809ccb4ca7c5c",
        "4c14bf29ea567998d185ecadadee290bbb81a87a"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Tue Mar 25 10:33:46 2025 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 25 10:33:46 2025 -0700"
      },
      "message": "Merge changes I6a1635c4,I6530ce0b into main\n\n* changes:\n  Apply yapf formatting\n  Yapf: no longer require to source before running\n"
    },
    {
      "commit": "4c14bf29ea567998d185ecadadee290bbb81a87a",
      "tree": "58e77433891528e97db2495455478b7d0136b9bd",
      "parents": [
        "a3cd00fc3803205bff89aae819d12eb6ce95ed1f"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Mon Mar 24 16:09:29 2025 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Mon Mar 24 16:36:38 2025 -0700"
      },
      "message": "Apply yapf formatting\n\nBug: 311772251\nTest: m .\nFlag: EXEMPT refactor\nChange-Id: I6a1635c430fbc299f4ae699400c021f9e3c4836a\n"
    },
    {
      "commit": "a3cd00fc3803205bff89aae819d12eb6ce95ed1f",
      "tree": "a6bedbe27ac518ec4ae5a3c94a80966d576bd99e",
      "parents": [
        "f3d3aaea2395ebd521401d7099c03a206292aba0"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Mon Mar 24 16:06:34 2025 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Mon Mar 24 16:36:32 2025 -0700"
      },
      "message": "Yapf: no longer require to source before running\n\nAlso, removed the need to install yapf in order to run it\n\nBug: 311772251\nTest: m .\nTest: Manually upload CL to validate yapf is run correctly\nFlag: EXEMPT hook modification\nChange-Id: I6530ce0bb39a0c686c535e663ea82b5f9aea9fea\n"
    },
    {
      "commit": "fe866cf37a31dfab2e418fad59d4c123c6acaae5",
      "tree": "54df8d77b648063a61150967706b42bad1040170",
      "parents": [
        "8b5d7b436adc59a394db49b6fe623a39a1bb0b26"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Mon Mar 24 11:00:01 2025 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Mon Mar 24 11:02:33 2025 -0700"
      },
      "message": "Revert \"OWNER freeze window\"\n\nThis reverts commit 8b5d7b436adc59a394db49b6fe623a39a1bb0b26.\n\nReason for revert: end of freeze window\n\nBug: 381884217\nFlag: EXEMPT only changing OWNERS\nTest: m .\nChange-Id: I2ca9388929019cfa2ae577d2dc83a26ca7dfaa60\n"
    },
    {
      "commit": "8b5d7b436adc59a394db49b6fe623a39a1bb0b26",
      "tree": "1de736d3920fecffcea1d055a7d745d5a3b137c3",
      "parents": [
        "084f6ced41f860f06e50e316f9e8d2bce1df5388"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Tue Mar 18 10:43:42 2025 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Tue Mar 18 10:43:42 2025 -0700"
      },
      "message": "OWNER freeze window\n\nBug: 381884217\nFlag: EXEMPT only changing OWNERS\nTest: m .\nChange-Id: I9c8322fca831c81a158bac4765f79db00ddb061b\n"
    },
    {
      "commit": "89ecfdda8def418168212c935d6522558cfd3edc",
      "tree": "20d84d124683c143b1c42e711e9e2d72c196782b",
      "parents": [
        "21e8ae7d77e09bed069ca58b5da06f53617b9ff5"
      ],
      "author": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Fri Feb 28 16:34:06 2025 -0800"
      },
      "committer": {
        "name": "Cole Faust",
        "email": "colefaust@google.com",
        "time": "Fri Feb 28 16:34:06 2025 -0800"
      },
      "message": "Cleanup python version properties\n\nNow that python 2 is fully removed, there\u0027s no need for\nversion-specific properties. Remove them.\n\nAlso remove usages of embedded_launcher: true, as that\nis the new default value.\n\nBug: 399954452\nTest: Presubmits\nChange-Id: I2ceacd6e62f611df72956373bc014717bb6d003e\n"
    },
    {
      "commit": "430514b530047c70e8475091409a42d7e1301e54",
      "tree": "7d13a90d58149334f2cf38af5b28e3980f559164",
      "parents": [
        "9dbe9a85ddc8a05b3f4f7128cdc11428912bf073"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Feb 04 16:42:08 2025 -0800"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Feb 14 19:31:11 2025 +0000"
      },
      "message": "RootCanal: Deprecate the beacon_swarm device\n\nBug: 331817295\nTest: m root-canal\nFlag: EXEMPT, tool change\nChange-Id: Id38b79278d6b14c6a607f9e6531869f0384584f7\n"
    },
    {
      "commit": "9dbe9a85ddc8a05b3f4f7128cdc11428912bf073",
      "tree": "43430c5ae80f51140733f44c29b5df877eeebf5e",
      "parents": [
        "d6e9a176ac980e4e61c427dbbd313276a078895e"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Feb 04 16:04:51 2025 -0800"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Feb 14 19:30:42 2025 +0000"
      },
      "message": "RootCanal: Remove ScriptedBeacon from the device boutique\n\nScriptedBeacon is still being used indirectly in the HAL\nimplementation android.hardware.bluetooth@1.1-service.sim\nby internal chromecast/nearby tests but never\nin the root-canal binary.\n\nBug: 331817295\nTest: m root-canal\nTest: m android.hardware.bluetooth@1.1-service.sim\nFlag: EXEMPT, tool change\nChange-Id: I9124eb7dcecbb0e7580be6cde25f410627c26b46\n"
    },
    {
      "commit": "cec40c754562868b80457a84a1c10e2f18b375df",
      "tree": "3adff2e8b07974e6e36e50955f51a77e37f1b431",
      "parents": [
        "e88f79d3916e77c4ce441ff2a7e8dee34a9bc506",
        "918a325fbf88f3e8e10f8adb407b89f729cb3273"
      ],
      "author": {
        "name": "Zi Wang",
        "email": "mrziwang@google.com",
        "time": "Thu Jan 30 12:15:48 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 30 12:15:48 2025 -0800"
      },
      "message": "Merge \"Add platform_testing to rootcanal visibility\" into main"
    },
    {
      "commit": "918a325fbf88f3e8e10f8adb407b89f729cb3273",
      "tree": "5ce5ed269a6a8393df60d5b849adfc380b01f2df",
      "parents": [
        "5c0f57afd1090339f22197c218b5dba69041446c"
      ],
      "author": {
        "name": "mrziwang",
        "email": "mrziwang@google.com",
        "time": "Thu Jan 23 16:31:57 2025 -0800"
      },
      "committer": {
        "name": "Zi Wang",
        "email": "mrziwang@google.com",
        "time": "Wed Jan 29 12:24:32 2025 -0800"
      },
      "message": "Add platform_testing to rootcanal visibility\n\nroot-canal is a dependency of platform_tests, which is going to\nconverted to fully soong-built.\n\nTest: m nothing and CI\nBug: 388850000\nChange-Id: I523d0b121885d2b01dbf61412cbcb85a252444e6\n"
    },
    {
      "commit": "9ce432a98a46a0b9989a644571c216282d9377d5",
      "tree": "14fe4d9080f70bf2be5017d9946777c0a3aa670a",
      "parents": [
        "2e00ab919ab25f60bc02c3e02780634f6c8f6e06",
        "b6245f8beee5e87e66659d54136bc9714826585f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Tue Jan 28 16:29:28 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 28 16:29:28 2025 -0800"
      },
      "message": "Merge changes I258a2a3e,Ibfacbc9d into main\n\n* changes:\n  RootCanal: Update controller_info.py script\n  RootCanal: Add INTEL_BE200 controller preset\n"
    },
    {
      "commit": "b6245f8beee5e87e66659d54136bc9714826585f",
      "tree": "2249e952d11f5f233675b15fdc9b24a4e024393f",
      "parents": [
        "725d60c13f8758d838c195f9025fe9292677ecd1"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Jan 27 17:39:01 2025 -0800"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Jan 28 09:45:22 2025 -0800"
      },
      "message": "RootCanal: Update controller_info.py script\n\nBug: 372977055\nTest: manual invocation\nFlag: EXEMPT, tool change\nChange-Id: I258a2a3eabfe2704a26559e26971f0915d5d1461\n"
    },
    {
      "commit": "725d60c13f8758d838c195f9025fe9292677ecd1",
      "tree": "5df2254c0d4afade3eca4e0787439410e84c34f5",
      "parents": [
        "8bf8784bca5750cb57aa79eb5d4e76ff59c55d33"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Sat Oct 12 00:08:51 2024 +0000"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Jan 28 09:45:22 2025 -0800"
      },
      "message": "RootCanal: Add INTEL_BE200 controller preset\n\nBug: 372977055\nTest: m root-canal\nFlag: EXEMPT, tool change\nChange-Id: Ibfacbc9dcf52c0c98a1572510e0637bef84a16e2\n"
    },
    {
      "commit": "52388826518826849097eb3f398fad036b108885",
      "tree": "948b8ed346ea2433e43a7e1c8bc3641c2fd3bee1",
      "parents": [
        "69dcde5b9e890e1110bf8cab31a18ca05a9d469e",
        "c1cd146ba71f78ab558e254e66e553c631a0f75d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jan 17 14:15:02 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 17 14:15:02 2025 -0800"
      },
      "message": "Merge \"Revert \"RootCanal: Migrate from {fmt} to std::format\"\" into main"
    },
    {
      "commit": "c1cd146ba71f78ab558e254e66e553c631a0f75d",
      "tree": "79249135710fe378435baa70af2c89ab8b39ac7a",
      "parents": [
        "24658260758abbea64dab58331bf3cfbaaf9c989"
      ],
      "author": {
        "name": "Shuo Wang Hsu",
        "email": "shuohsu@google.com",
        "time": "Fri Jan 17 11:26:57 2025 -0800"
      },
      "committer": {
        "name": "Shuo Wang Hsu",
        "email": "shuohsu@google.com",
        "time": "Fri Jan 17 11:38:55 2025 -0800"
      },
      "message": "Revert \"RootCanal: Migrate from {fmt} to std::format\"\n\nThis reverts commit 24658260758abbea64dab58331bf3cfbaaf9c989.\n\nReason for revert: Breaking netsim-dev builds.\n\nBug: 390672541\n\nChange-Id: Ic99b47195ee9979715d47f04c85b174acb4929a4\n"
    },
    {
      "commit": "f16867c95a48c07a078baf42578f54745e90a641",
      "tree": "5d2410afd7f6442c6c60940b27f744790b544f93",
      "parents": [
        "aea5338ab64d4244d7561ef43c03402defa4948b",
        "24658260758abbea64dab58331bf3cfbaaf9c989"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Jan 17 11:12:50 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 17 11:12:50 2025 -0800"
      },
      "message": "Merge \"RootCanal: Migrate from {fmt} to std::format\" into main"
    },
    {
      "commit": "a0004a5dd1a9e6ae8263a8bff995b82f8815c59c",
      "tree": "4563893d904695fb0eb30ab2d13187ab60b8603d",
      "parents": [
        "73b665b1660e8fd8ac685538a84a069bef54dfcc",
        "4702097b062e8cd87074800a54363916a37c1ffd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jan 17 10:04:56 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 17 10:04:56 2025 -0800"
      },
      "message": "Merge \"Resolve compilation error in android.hardware.bluetooth@1.1-service.sim\" into main"
    },
    {
      "commit": "24658260758abbea64dab58331bf3cfbaaf9c989",
      "tree": "e697bd82e0531c774c6cf9d1684bd30de15d6918",
      "parents": [
        "4702097b062e8cd87074800a54363916a37c1ffd"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Nov 22 23:00:23 2024 +0000"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Thu Jan 16 09:52:20 2025 +0000"
      },
      "message": "RootCanal: Migrate from {fmt} to std::format\n\nBug: 378773651\nTest: m root-canal\nChange-Id: I9bd3ed6e875c43ada35d6c77915f98fe4a885e6d\n"
    },
    {
      "commit": "4702097b062e8cd87074800a54363916a37c1ffd",
      "tree": "79249135710fe378435baa70af2c89ab8b39ac7a",
      "parents": [
        "26940a382ce404c4bb532d0202dbd423b4720ebc"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Thu Jan 16 09:48:06 2025 +0000"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Thu Jan 16 09:52:20 2025 +0000"
      },
      "message": "Resolve compilation error in android.hardware.bluetooth@1.1-service.sim\n\nsystem/core/libutils/include/utils/StrongPointer.h:287:14: error: member access into incomplete type \u0027android::hardware::bluetooth::V1_1::sim::BluetoothDeathRecipient\u0027\n  287 |         m_ptr-\u003edecStrong(this);\n      |              ^\n...odules/Bluetooth/tools/rootcanal/hal/bluetooth_hci.h:47:7: note: in instantiation of member function \u0027android::sp\u003candroid::hardware::bluetooth::V1_1::sim::BluetoothDeathRecipient\u003e::~sp\u0027 requested here\n   47 | class BluetoothHci : public IBluetoothHci {\n      |       ^\npackages/modules/Bluetooth/tools/rootcanal/hal/bluetooth_hci.h:37:7: note: forward declaration of \u0027android::hardware::bluetooth::V1_1::sim::BluetoothDeathRecipient\u0027\n   37 | class BluetoothDeathRecipient;\n      |       ^\n\nBug: 331817295\nTest: m android.hardware.bluetooth@1.1-service.sim\nFlag: EXEMPT, tool change\nChange-Id: I457340ed0edd22f3253d74ded3b28ca567263959\n"
    },
    {
      "commit": "67add89955e1d5e64835d74861397eee8cc11143",
      "tree": "a5f586d69196a9143d9c78ad81d28ef7fca96090",
      "parents": [
        "e52da38516e7a580de8b914b4177f1fd63264ef1"
      ],
      "author": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Mon Jan 06 14:15:30 2025 -0800"
      },
      "committer": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Wed Jan 15 17:06:03 2025 -0800"
      },
      "message": "Code changes for Rust 1.83.0\n\nTest: m rust\nBug: 384401387\nChange-Id: I647a63976830e5071cb4dac8c0480a00ecf4d973\n"
    },
    {
      "commit": "ffb692215063126951cff77631c7c7c0cd45b7e8",
      "tree": "23bd255d50892625423c7352b592f006b978ad4e",
      "parents": [
        "a6f7fa1da0e5ca8b6a0f1734bfa089d542f2afba"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Fri Dec 27 12:12:56 2024 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 27 12:12:56 2024 -0800"
      },
      "message": "Revert^2 \"OWNER remove freeze window\"\n\nThis reverts commit a6f7fa1da0e5ca8b6a0f1734bfa089d542f2afba.\n\nReason for revert: Prebuilt as landed\n\nChange-Id: I40a2bd6b29b924f51f9823381485f3adcf249b42\n"
    },
    {
      "commit": "a6f7fa1da0e5ca8b6a0f1734bfa089d542f2afba",
      "tree": "62a41476f0743550233b55a168338ae834afb202",
      "parents": [
        "5616c5a9624baea932bd552ecedd772ceaf9068b"
      ],
      "author": {
        "name": "Thomas Girardier",
        "email": "girardier@google.com",
        "time": "Fri Dec 20 00:51:01 2024 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 20 00:51:01 2024 -0800"
      },
      "message": "Revert \"OWNER remove freeze window\"\n\nThis reverts commit 5616c5a9624baea932bd552ecedd772ceaf9068b.\n\nReason for revert: Freezing Bluetooth during holiday period and transition to Mainline since it is now built from source.\n\nChange-Id: I56fe54154296ef1bcee7e92f77a462036ef8008b\n"
    },
    {
      "commit": "5616c5a9624baea932bd552ecedd772ceaf9068b",
      "tree": "23bd255d50892625423c7352b592f006b978ad4e",
      "parents": [
        "e9b7d1d0b0677462471e43177c46291106309f0b"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Fri Dec 06 11:16:21 2024 -0800"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Fri Dec 06 11:24:42 2024 -0800"
      },
      "message": "OWNER remove freeze window\n\nThis reverts aosp/3387082\n\nBug: 381884217\nFlag: EXEMPT only changing OWNERS\nTest: m .\nChange-Id: I716f0283525750a6fc7cfe85251c1c1b8632f9e6\n"
    },
    {
      "commit": "11956432268896cd88410ee4bf8f0a1523c3fb5c",
      "tree": "28edc6d1ea490b0d6e3a9647dcf628f18d385def",
      "parents": [
        "bf87fac6c41687b09bd64a57c96709415cf07756"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Mon Dec 02 10:15:25 2024 -0800"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Mon Dec 02 10:15:25 2024 -0800"
      },
      "message": "OWNER freeze window\n\nBug: 381884217\nFlag: EXEMPT only changing OWNERS\nTest: m .\nChange-Id: Iff8ed28793141c2463d2c8a251ff454fc25c448e\n"
    },
    {
      "commit": "c5132bb980e9d9858027505c6c98fef694cdd322",
      "tree": "fa2c5bd53fde8769921ab88eb371f8c6a86ba6b3",
      "parents": [
        "3a9f725de1ba8e4f1a2513b4e3c63b07b986885d"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Nov 25 17:01:57 2024 -0800"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Nov 25 18:09:41 2024 -0800"
      },
      "message": "RootCanal: Update build.rs to directly use the pdl_compiler library\n\nBug: 279665786\nTest: cargo -C tools/rootcanal/rust build\nTest: m rootcanal\nFlag: EXEMPT build change\nChange-Id: I20ae4a4678b457cf6a1614ddcf5c56342bea0311\n"
    },
    {
      "commit": "6bc1005efe740833e1ed908b6b5e66544678e933",
      "tree": "3df2314fed8d8688ddb44b493b762622313c071a",
      "parents": [
        "a0f0f3034546e8ee4ee5cc313dbb8147f6e97553"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Oct 28 15:05:54 2024 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Thu Nov 07 23:07:35 2024 +0000"
      },
      "message": "RootCanal: Update to Core version 6.0\n\nBug: 339671227\nTest: atest --host rootcanal_ll_test\nFlag: EXEMPT, tool change\nChange-Id: I5457dd63777ab9a2ca6bee6f69d3343ff86a4ec7\n"
    },
    {
      "commit": "d86585a62f65cd989a9465d1522a7a18139196d2",
      "tree": "8cd0e54d47029c25c7ddafa30670e7a6e3874b02",
      "parents": [
        "9325c3793064f725711d040b1accbfdeaba1057f"
      ],
      "author": {
        "name": "Archie Pusaka",
        "email": "apusaka@chromium.org",
        "time": "Tue Oct 22 17:21:08 2024 +0800"
      },
      "committer": {
        "name": "Archie Pusaka",
        "email": "apusaka@google.com",
        "time": "Wed Oct 23 19:04:04 2024 +0800"
      },
      "message": "RootCanal: Add Authenticated Payload Timeout Expired event\n\nThis already exists on system/pdl/hci/hci_packets.pdl.\n\nBug: 289858128\nTest: m -j\nFlag: EXEMPT, tooling change\nChange-Id: Iaeb06fa41714743c2e65f2efd632cfd5646c91ca\n"
    },
    {
      "commit": "b10bac90572f5d7996728fd78c33857db065f56f",
      "tree": "1157d52741cf60ec90235c63453a490c8ea277a3",
      "parents": [
        "bb69ca6c84044f5b94f8dc736cfb16f51d352d64"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Oct 14 10:45:11 2024 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Oct 14 23:54:16 2024 +0000"
      },
      "message": "RootCanal: Implement the command LE Read Local P-256 Public Key\n\nBug: 354107188\nTest: atest --host rootcanal_ll_test\nFlag: EXEMPT, tool change\nChange-Id: Ic7342ecd7d1de46dadf88c7d2d71c925f97f3904\n"
    },
    {
      "commit": "8916949bbde921050bea8241f4bfb6f1b04ebb79",
      "tree": "7be0f11a77559ab3b021047767c6f9d0574abd6a",
      "parents": [
        "ebc040546335d91d03d700c4597f6e93682271ce"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Oct 11 09:12:46 2024 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Oct 11 09:12:46 2024 -0700"
      },
      "message": "Replace fmt::throw_format_error with fmt::report_error\n\nfmt::throw_format_error is deprecated in favor\nof fmt::report_error. The behaviour is exactly the same.\n\nBug: 331817295\nTest: m com.android.btservices\nFlag: EXEMPT, no logical change\nChange-Id: I6f98eca50e77fbedf9d4284590600f3a07384dc7\n"
    },
    {
      "commit": "4eb2578536c6f103fd7a3e3cceebe6eb7839d723",
      "tree": "f6a2b6d35b8413ebc59134a7ec00993b63ce739e",
      "parents": [
        "5a1e08bb7e435d09ad16c5b32fb70a89341d2279"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Wed Sep 18 16:05:23 2024 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Wed Sep 18 16:05:23 2024 -0700"
      },
      "message": "Actualize owners file\n\nBug: 311772251\nTest: m .\nFlag: Exempt OWNERS\nChange-Id: I060a14ce43035cadc618d0a9217078731cb8ff44\n"
    },
    {
      "commit": "d269a647dac5f8434a5eefd2ccc2dafdb5c0795d",
      "tree": "92285ca4930964dfe43a18014f85cdb4b056ad9f",
      "parents": [
        "dbacea0f8c8d6649196fbbcff99f73d1fe6e80ae"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Sep 04 21:56:25 2024 +0200"
      },
      "committer": {
        "name": "Jakub Pawłowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Sep 11 21:33:58 2024 +0000"
      },
      "message": "Encryption Change V2\n\nBug: 365846652\nBug: 366018699\nTest: mma -j32\nFlag: encryption_change_v2\nChange-Id: I387b0df153e7dcf7d02a460e182ef12523509a42\n"
    },
    {
      "commit": "07c97a31d2720bf01512eceaf82879eef00865b7",
      "tree": "c4c1e0ba6c51499f44e0fe4068b80e1f9ce7b1c5",
      "parents": [
        "6d30a2c43e6dc352cad0c0341ba5e48b486e8488"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed Aug 21 08:06:00 2024 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed Aug 21 08:06:00 2024 -0700"
      },
      "message": "RootCanal: Set the default value of acl_data_packet_length to 1023\n\nBlueZ sets HCI_MAX_FRAME_SIZE to 1028 (1024 + 4) for the user socket.\nIn practice the length check counts the IDC towards the packet length\nand the actual limit is 1023 bytes for the ACL payload.\n\nBug: 326997427\nBug: 356867879\nTest: m com.android.btservices\nFlag: EXEMPT, tool change\nChange-Id: If197a39864a5eda27131aa2f7c58e706ecc4e9dd\n"
    },
    {
      "commit": "923f19dbae710202aa48d9b71105cf3dbde9dfe6",
      "tree": "e4c9df7e4fa5d8a26c0e56fc8e79e95cc966b7d3",
      "parents": [
        "176136b1a9c17a0f3c29d3428df52844267adb67"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Aug 12 17:22:52 2024 +0800"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Aug 12 18:32:30 2024 +0000"
      },
      "message": "Remove unnecessary std::move\n\nMoving a temporary object prevents copy elision, and could reduce\nperformance.\n\nThis fixes -Wpessimizing-move compiler warning.\n\nTest: presubmit\nTest: m droid\nBug: 154270751\nChange-Id: I1dc582a755787f16b8bbe10e01c1f6726137b8cf\n"
    },
    {
      "commit": "96859f9077a82d00636b51a2daa71a38878c3a32",
      "tree": "b77d9aadbbc88ccd243875dfcc27156d976c3079",
      "parents": [
        "3d21a6ac0694593c8b564e143527781b8ac019f1"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Thu Jul 18 11:54:57 2024 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Thu Jul 18 11:54:57 2024 -0700"
      },
      "message": "Remove obsolete owner\n\nalso added myself into tools for the ktfmt \u0026 lint\n\nTest: None\nFlag: Exempt owner only\nBug: 311772251\nChange-Id: If48e75f1b20ca1c519b797a50618ccad527feb97\n"
    },
    {
      "commit": "ce55825cdbb49776838c6c689503cdc71d94b2e6",
      "tree": "b35cb4f738d5c8d295c5554b40d5a91b0a2faf60",
      "parents": [
        "f2a2180ea9208d05baaf7408a97b88e330541928"
      ],
      "author": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Wed Jul 17 10:29:13 2024 +0000"
      },
      "committer": {
        "name": "Sorin Basca",
        "email": "sorinbasca@google.com",
        "time": "Wed Jul 17 10:29:13 2024 +0000"
      },
      "message": "Update ktfmt to use JDK 21\n\nBug: 342332820\nChange-Id: Icaca59872c560b7dc4f1c59ad2b45306902b52d2\nTest: TH\n"
    },
    {
      "commit": "2bf4c772393460d1830fbed203a65197e5999a6c",
      "tree": "a2d42bfe5193ec7a603aa2b540beae56ed6493cf",
      "parents": [
        "ace0cd51f43c3b1f8709ae962899b3f539cb0965"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Sat Jun 22 15:41:53 2024 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Sun Jul 07 10:58:27 2024 -0700"
      },
      "message": "Format: apply clang rules\n\nRestore SpacesBeforeTrailingComments to 2 to match current style\n\nThen run clang-format -i **/**.{c,h,cc,cpp,hpp}\nThen fix a bunch of typo (reported by gerrit)\nThen fix unnecessary multiline string\nThen fix whitespace for disabled clang format (reported by cpplint)\n\nThis is no-op\n\nBug: 311772251\nTest: mmm packages/modules/Bluetooth\nFlag: Exempt Format only\nChange-Id: If135447803a40a2a07d4630ba2195e08ef8d250c\n"
    },
    {
      "commit": "7a03254573757bade72a6e4683c169667eb6a035",
      "tree": "7a4e199d4e481e2a0346cf0dccdd1073aeddaa11",
      "parents": [
        "060a2523ba78d86b358a3ee9fff0275d8534456e"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Thu Jun 20 22:10:19 2024 +0000"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Thu Jun 20 22:10:46 2024 +0000"
      },
      "message": "RootCanal: Reset APCF scanner in LinkLayerController::Reset()\n\nChange-Id: Ic31628760063e72da4d6436d2020f3084249c2ec\nTest: m root-canal\nFlag: EXEMPT, tool change\nBug: 331817295\n"
    },
    {
      "commit": "040535e74d27160583027b1e3c0a0757da6c65e0",
      "tree": "dc87f0eb6d4f4d827eba5e4180748605c2efcc43",
      "parents": [
        "1077361f4ba2ddb4e715559ae0f4fed4f7d822b8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 12 14:44:48 2024 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 12 16:27:51 2024 +0000"
      },
      "message": "libc++fs is part of libc++ now.\n\nBug: janitorial cleanup\nTest: treehugger\nChange-Id: Ie4805bebc3b10612dd94d831c16e61c58f0ea73d\n"
    },
    {
      "commit": "34fc7820300d999a51f180897862b3b6ef1e518b",
      "tree": "9fbe12fc5bdc74554c29f6c2521627e381068095",
      "parents": [
        "e925f1b08283269cbef18e43ca0a987326200f80"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Jun 11 09:44:18 2024 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Jun 11 09:48:52 2024 -0700"
      },
      "message": "RootCanal: Update cmake pdl_gen definition to support rust_legacy / rust output\n\nBug: 331817295\nTest: TreeHugger\nFlag: EXEMPT, build change\nChange-Id: Ia19cea9daf774f83c4e57c73072a32ba1a4af37a\n"
    },
    {
      "commit": "aa04d46f7cb17d39e82f43b674203611458048e3",
      "tree": "45319bfdd6a18582bf04e25118412a0382ee3c3f",
      "parents": [
        "365a0ed8dbf947da6ab58e059f0766706c7ed7c9"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Jun 07 10:04:26 2024 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Jun 07 10:51:49 2024 -0700"
      },
      "message": "RootCanal: Typo in LE Apcf Transport Discovery Data command handling\n\nBug: 345704960\nTest: m root-canal\nFlag: EXEMPT, tool change\nChange-Id: I2a2a628a3f8b41e868d6396a04c851d3d5093ee7\n"
    },
    {
      "commit": "3fbb1149e9c4c5a3f76dda6c16077edb4cfee911",
      "tree": "2b076e350c7730f57ee39bc71ee1cf544f344846",
      "parents": [
        "f910abb35d9f2325d8437a29d1905b003ca4a0f2"
      ],
      "author": {
        "name": "David Duarte",
        "email": "licorne@google.com",
        "time": "Fri May 31 17:28:47 2024 +0000"
      },
      "committer": {
        "name": "David Duarte",
        "email": "licorne@google.com",
        "time": "Mon Jun 03 20:41:58 2024 +0000"
      },
      "message": "Update to pdl 0.3.0\n\nBug: 343968814\nTest: m root-canal\nFlag: TEST_ONLY\nChange-Id: Ie16817255a3960dd8cc4976b078f52feaaded21b\n"
    },
    {
      "commit": "06867de316d738e6a6b859ccc27b6a01dad26cbe",
      "tree": "22b66b7e3bde0c02f4662ebe918d4daed663ae04",
      "parents": [
        "35ddefcd53ad371beac01cd871a887183bf560ee"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed May 22 09:12:06 2024 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed May 22 09:36:18 2024 -0700"
      },
      "message": "RootCanal: Send well formatted Apcf command complete event\n\nThe android stack panics if the LE Apcf Transport Discovery Service\ncommand complete event is shortened, even with an error status code\n\nBug: 336513624\nTest: m root-canal\nFlag: EXEMPT, tool change\nChange-Id: I3a0e7c954ba21d4f89b7dbd7e0b8fa7ae613e337\n"
    },
    {
      "commit": "fdb367f141ecc5b7a95fc86b85dfdee689a9c5c3",
      "tree": "b733a11c07028f36e2405386fd0ed5bd7c3b8742",
      "parents": [
        "5cf3cb81cac577d4f6bdfbd01a0da66160397f11"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Tue May 14 15:22:09 2024 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Tue May 14 15:22:09 2024 -0700"
      },
      "message": "Remove trendy team\n\nBluetooth tree does not support trendy team assignment\n\nTest: None\nBug: 311772251\nFlag: not applicable\nChange-Id: Ia96e43927ab2cacabcf8de2c33ff936d8ee31029\n"
    },
    {
      "commit": "f05dc4e29be04fdc1dcf9c6107c4056478b389c0",
      "tree": "6b854e6125182e39c41755bd16ebf319edff1e58",
      "parents": [
        "a24c88b93279cc186f48d469557535437d48785a"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon May 13 14:48:38 2024 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon May 13 14:49:53 2024 -0700"
      },
      "message": "RootCanal: Do not report an invalid packet for unsupported LE Apcf Transport Discovert Service command\n\nThe host stack is invoking this command even though the\nApcf extended features disables support for it.\n\nBug: 336513624\nTest: m root-canal\nFlag: EXEMPT tool change\nChange-Id: Ic08b9a8de6550d87add838549125add076159063\n"
    },
    {
      "commit": "3a363a0ea9ebecde6c688bd3899765607dd9bade",
      "tree": "2c508d35f91e9cae11058ab41714b37ca2f62167",
      "parents": [
        "b6a30e16aae24d00e68df8e6817ef7cf8398af40"
      ],
      "author": {
        "name": "Chris Wailes",
        "email": "chriswailes@google.com",
        "time": "Thu May 09 15:41:21 2024 -0700"
      },
      "committer": {
        "name": "Myles Watson",
        "email": "mylesgw@google.com",
        "time": "Fri May 10 17:12:25 2024 +0000"
      },
      "message": "Update source for Rust 1.78.0\n\nTest: m rust\nBug: 333887339\nFlag: EXEMPT, toolchain update - no logical change\nChange-Id: I04304e422d042be02408382532b00b8c857f8c3c\n"
    },
    {
      "commit": "c4c087b55798d623e09db0eca9e04ba33cdd4c2d",
      "tree": "31918e8f900594f9794a44aabe32a4f08e3db8ec",
      "parents": [
        "b0eeb67cff2e6edd0b2916b54b8b358dc95c6fd8"
      ],
      "author": {
        "name": "David Duarte",
        "email": "licorne@google.com",
        "time": "Thu Apr 25 21:12:13 2024 +0000"
      },
      "committer": {
        "name": "David Duarte",
        "email": "licorne@google.com",
        "time": "Thu Apr 25 21:12:13 2024 +0000"
      },
      "message": "rootcanal/ec: Use pow for consistency\n\nAlso remove some unneeded references\n\nBug: 335192676\nTest: cargo test lmp::ec\nFlag: EXEMPT, rootcanal\nChange-Id: I88b040a9c6950dfc88370159ecbc58c2f2380be3\n"
    },
    {
      "commit": "50f0dd79bf1c87a3b12dcfb99c311f6b7507c6d9",
      "tree": "b1a68f3ee1de6a8953ec11d0cf7cf310558aef76",
      "parents": [
        "2b0198431d6adc2bd8359707acd5ec3d93853833",
        "f209c86e58d9bf19c10423dfa12ab5204920ebe8"
      ],
      "author": {
        "name": "David Duarte",
        "email": "licorne@google.com",
        "time": "Thu Apr 25 17:53:24 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 25 17:53:24 2024 +0000"
      },
      "message": "Merge \"rootcanal/ec: Use Jacobian Coordinates in Point implementation\" into main"
    },
    {
      "commit": "f209c86e58d9bf19c10423dfa12ab5204920ebe8",
      "tree": "0d8ebf7c98eec443d5df8cc239b6ed652d96fa87",
      "parents": [
        "30bd4820e4875b389c37f995f7e9a38769640ea1"
      ],
      "author": {
        "name": "David Duarte",
        "email": "licorne@google.com",
        "time": "Wed Apr 24 21:12:36 2024 +0000"
      },
      "committer": {
        "name": "David Duarte",
        "email": "licorne@google.com",
        "time": "Wed Apr 24 22:06:35 2024 +0000"
      },
      "message": "rootcanal/ec: Use Jacobian Coordinates in Point implementation\n\nThis allows to speed up multiplication as we don\u0027t need to do\nan expensive mod_inv for each addition but only once when we\nconvert back to affine coordinates.\n\nBefore:\n\nIn debug:\nrunning 2 tests\ntest lmp::ec::tests::p256 ... ok\ntest lmp::ec::tests::p192 ... ok\n\ntest result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 37 filtered out; finished in 2.32s\n\nIn release:\nrunning 2 tests\ntest lmp::ec::tests::p256 ... ok\ntest lmp::ec::tests::p192 ... ok\n\ntest result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 37 filtered out; finished in 0.36s\n\nAfter:\n\nIn debug:\nrunning 2 tests\ntest lmp::ec::tests::p256 ... ok\ntest lmp::ec::tests::p192 ... ok\n\ntest result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 37 filtered out; finished in 0.30s\n\nIn release:\nrunning 2 tests\ntest lmp::ec::tests::p256 ... ok\ntest lmp::ec::tests::p192 ... ok\n\ntest result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 37 filtered out; finished in 0.04s\n\nResulting in a 6x improvement in debug and 7.5x in release\n\nBug: 335192676\nTest: cargo test lmp::ec\nFlag: EXEMPT, rootcanal\nChange-Id: I09f8cfd02515f308dcb7f81e75cfafbf7bc50a5a\n"
    },
    {
      "commit": "fee7487daad7fb9fbbc1bd3844f4ec1d3ab0d28e",
      "tree": "21184d3de60a0d6eb371ffeee9ec7d656dfc02d2",
      "parents": [
        "a114cd0c3e30b61c9a3afbaf1c2f02189850a039",
        "1167e07f9e04ae1c5660921bdbafcc6590fde089"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Apr 24 16:43:45 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 24 16:43:45 2024 +0000"
      },
      "message": "Merge \"RootCanal: Set support for APCF Transport Discovery Service filter to false\" into main"
    },
    {
      "commit": "1167e07f9e04ae1c5660921bdbafcc6590fde089",
      "tree": "e770e971d283508a22b33f603d19e324a61d28b2",
      "parents": [
        "de95de359b888e6518d02eff76d3a706f29a5367"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Apr 23 17:00:51 2024 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Apr 23 17:02:44 2024 -0700"
      },
      "message": "RootCanal: Set support for APCF Transport Discovery Service filter to false\n\nThis bit flag is used to indicate support for the LE APCF\nTransport Discovery Service command, which RootCanal does not\nimplement\n\nBug: 279665786\nBug: 336513624\nTest: m root-canal\nFlag: EXEMPT tool change\nChange-Id: I2f527882a2923f29213b7501d4d3c271d797089a\n"
    },
    {
      "commit": "6c58e308902bd14b37ba4c80b0857cdc9fd77848",
      "tree": "82762dd92dead4dca6c458d2cf9994f66adf9553",
      "parents": [
        "e6036ec819fea186ed7e385025b68e00b7d63038"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Mon Apr 08 11:44:31 2024 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Mon Apr 08 11:44:31 2024 -0700"
      },
      "message": "Update owners files\n\nBug: 311772251\nTest: m . | not needed on owners files\nFlag: Exempt, OWNERS are not flagged\nChange-Id: I2d36ba69b797f071e25132a177ff8259cd79204a\n"
    },
    {
      "commit": "9d36bca23795415d6d976ef16c683334cd5235f4",
      "tree": "d6f8fb86e115bfb4e8fc1a345f6be165432e700a",
      "parents": [
        "ef098768cec2af64f71dec206ab9d85a9e8407cd"
      ],
      "author": {
        "name": "Sal Savage",
        "email": "salsavage@google.com",
        "time": "Mon Apr 01 14:54:33 2024 -0700"
      },
      "committer": {
        "name": "Sal Savage",
        "email": "salsavage@google.com",
        "time": "Mon Apr 01 15:09:24 2024 -0700"
      },
      "message": "Prevent variables with type java.lang.Boolean\n\nBug: 315046089\nFlag: EXEMPT, tooling change\nTest: atest BluetoothLintCheckerTest --host\nChange-Id: Ib62b659ed9011d21f5e5b3550aa3761ef99365c8\n"
    },
    {
      "commit": "ef098768cec2af64f71dec206ab9d85a9e8407cd",
      "tree": "d47baa322799f7a859a53db547ad43906ac43463",
      "parents": [
        "5ef0c449fa60bbba69a13b1b7c923937e5909583"
      ],
      "author": {
        "name": "Sal Savage",
        "email": "salsavage@google.com",
        "time": "Tue Feb 27 14:55:14 2024 -0800"
      },
      "committer": {
        "name": "Sal Savage",
        "email": "salsavage@google.com",
        "time": "Mon Apr 01 14:59:31 2024 -0700"
      },
      "message": "Create an Android Lint rule to find guarded log invocations\n\nThe Bluetooth stack sets a process default log level, which allows the\nAndroid Log framework to properly enforce wheth a log invocation fires\nbased on the set log level for the tag. You do not need to guard\nindividual log invocations anymore.\n\nThis lint rule looks for log lines inside conditionals (if, else if, or\neven else), where the conditionals use variables that appear to be log\nenforcement variables as part of their logic. Errors are generated for\nthose usages. Because this is mostly name based, this is very much best\neffort, and will have to be updated as patterns in the stack evolve.\nThis was able to find all the violations in the stack that existed\nbefore our refactor though.\n\nUsages of Log.isLoggable() in conditionals are reduced to warnings, as\nthere are a few valid usages to prevent expensive log operations in\ncode. In general, we expect these usages to be minimal and hope\ndevelopers will consider altering log statements to avoid usages.\n\nRun this lint rule together with others using `m Bluetooth-lint`.\nResults are available in txt/xml/html format in the build output\nartifacts. See the README for more details.\n\nTag: #feature\nBug: 315046089\nFlag: EXEMPT, tooling change\nTest: atest BluetoothLintCheckerTest --host\nChange-Id: I175f908f97567ed6638af6026f4caf83acd57e60\n"
    },
    {
      "commit": "fec466adbd433e1ffca7349c3eba4833f704c2e5",
      "tree": "995d928e785073b4c501822768bf1a9adf63d37a",
      "parents": [
        "3ca441870a41c6312c1f4ef2e6de683e59fb3a25",
        "3d28fff09d36886ab54a1481e497cefc7e2d513c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Mar 28 22:04:34 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 28 22:04:34 2024 +0000"
      },
      "message": "Merge \"Create an Android Lint rule to prevent creation of log enforcement vars\" into main"
    },
    {
      "commit": "3d28fff09d36886ab54a1481e497cefc7e2d513c",
      "tree": "6c5febc86e472c076b477d0991d61417dc4e3b6a",
      "parents": [
        "e60845e0a73b14b01c9e86323e0cd61fc3568e7b"
      ],
      "author": {
        "name": "Sal Savage",
        "email": "salsavage@google.com",
        "time": "Tue Feb 13 16:04:59 2024 -0800"
      },
      "committer": {
        "name": "Sal Savage",
        "email": "salsavage@google.com",
        "time": "Wed Mar 27 13:23:53 2024 -0700"
      },
      "message": "Create an Android Lint rule to prevent creation of log enforcement vars\n\nThe Bluetooth stack sets a process default log level, which allows the\nLog framework to properly enforce our log level. Creating log\nenforcement variables is unnecessary, as their usage is as well.\n\nTag: #feature\nBug: 315046089\nFlag: EXEMPT, tooling change\nTest: atest BluetoothLintCheckerTest --host\nChange-Id: I4fdd1c4239294bc07f4d49457cd714899e3294d7\n"
    },
    {
      "commit": "11c6e082f521240f980084a043d51f644a0828e1",
      "tree": "492228f6d7320d248c53446402f56fe860933b40",
      "parents": [
        "dbfd8e4d5f4e30ad856c3a9bd9475e1d5ad999bd"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Mar 25 15:47:07 2024 +0000"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed Mar 27 07:52:36 2024 -0700"
      },
      "message": "system: Convert last remaining occurrences of GD logging\n\nTest: m com.android.btservices\nBug: 305066880\nFlag: EXEMPT, mechanical refactor\nChange-Id: Iac3bd56aca234a2d33753a7d0467bfc736b38f54\n"
    },
    {
      "commit": "7d904548219fb9a26bbb57803076b27d46d86290",
      "tree": "11c534b9c2a5c15d97ee4b5b6ddd613b82d84951",
      "parents": [
        "17127f1803e33bd64565201bc3cbbbb032cf0cd1"
      ],
      "author": {
        "name": "David Duarte",
        "email": "licorne@google.com",
        "time": "Fri Mar 22 22:06:08 2024 +0000"
      },
      "committer": {
        "name": "David Duarte",
        "email": "licorne@google.com",
        "time": "Fri Mar 22 22:06:08 2024 +0000"
      },
      "message": "rootcanal/rust: Use export_include_dirs\n\ninclude_dirs is deprecated for rust_ffi modules\n\nBug: 324268843\nChange-Id: Ia5a5f8678aeab790c3b516d4a169a9310efb14ac\nFlag: Exempt, build change\nTest: None\n"
    },
    {
      "commit": "2c544ed400c4bac8ee40d12b5c2df1a3984f5326",
      "tree": "bb87e0358f09b4d951524377170a2b27ddfc68a0",
      "parents": [
        "f35cfe0b2f0a15ceb4df35e3f7ef2b1c19529564"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Thu Mar 21 00:58:50 2024 +0000"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Thu Mar 21 21:59:16 2024 +0000"
      },
      "message": "Remove unused \u003clog/log.h\u003e include directives\n\n\u003clog/log.h\u003e provides the definition of ALOG[VDIWE]\nwhich is now unused except in vendor available\nlibraries\n\nTest: m com.android.btservices\nBug: 305066880\nFlag: EXEMPT, mechanical refactor\nChange-Id: I1347f84067255b67efd68214213bdc89542c97c6\n"
    },
    {
      "commit": "5a4be4ed7689a4017d2d79f5a90e1511340e2407",
      "tree": "4eb01568256581555fb63d09c04f143e031f440a",
      "parents": [
        "ca1f3cfde5b2a337c23ff2dc141e2b13c09b7c68"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Mar 18 11:37:50 2024 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Mar 18 22:21:10 2024 +0000"
      },
      "message": "RootCanal: Report correct Phy type in extended scan response reports\n\nBug: 329259305\nTest: atest rootcanal_ll_test\nFlag: EXEMPT, tool change\nChange-Id: I2cba22644b03c3081496529ca366ac29dc60b59f\n"
    },
    {
      "commit": "ca1f3cfde5b2a337c23ff2dc141e2b13c09b7c68",
      "tree": "f5d9e702c8476909be82016dc7b7d7ae74fac010",
      "parents": [
        "0780e65a1da48d411caf880a6f626230d8d77a07"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Mar 18 11:26:13 2024 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Mar 18 22:21:10 2024 +0000"
      },
      "message": "RootCanal: Make output pcap trace filenames more identifiable\n\nGenerate the files with the pattern:\n  rootcanal_$id_$address(_$n).pcap\n\nWhere\n- $id is the *unique* device identifier\n- $address is the *assigned* device address (reused)\n- $n serves to dedup identical file names\n  (in case rootcanal is restarted)\n\nTest: m root-canal\nBug: 330185630\nFlag: EXEMPT, tool change\nChange-Id: If5dfedc713bd94e521dafcd0237aa853054bad4e\n"
    },
    {
      "commit": "bf720f9668d88b876a192bdc98e4256acfe8d066",
      "tree": "e86668b12a149465f5fdd7f2b26bdf0d47f8aca6",
      "parents": [
        "c8958243639902b1ce47f6ae891e8bdfa4d96a1c"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Mar 15 09:15:13 2024 -0700"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Fri Mar 15 09:15:13 2024 -0700"
      },
      "message": "RootCanal: Remove potential source of flakiness in LL tests\n\nTimings can cause LL.DDI.ADV.BV_11_C to fail because of reordering\nof LL pdus\n\nBug: 323271676\nTest: atest rootcanal_ll_test\nFlag: EXEMPT, tool change\nChange-Id: I0f71bed0e1018231c813e8d6d9c1f46afc13a397\n"
    },
    {
      "commit": "e61bf0f15c413fb82376d6ff168c55598ee281ca",
      "tree": "b3edaf78ff8974a603e3f82d88cef3b9b2325a18",
      "parents": [
        "7a78a729e5fd5e3ebd061bc5c4a87724eaa31900"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Mar 12 16:10:34 2024 +0000"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Mar 12 22:58:06 2024 +0000"
      },
      "message": "RootCanal: Return accurate phy types in extended advertising reports\n\nThe primary phy type used to be hardcoded to LE 1M, and the secondary\nphy to No packets. This change retrieves the phy types from the\nextended advertising pdu.\n\nBug: 329259305\nTest: m root-canal\nTest: atest rootcanal_ll_test\nFlag: EXEMPT, tool change\nChange-Id: I3cabc13087dbb89d059201172317930aa1e62649\n"
    },
    {
      "commit": "d31c4a82bcbf9fa516ce1dbf597ac4e3dba555b0",
      "tree": "4883a176da073a654896496711094d1d170267d8",
      "parents": [
        "5c03a6e61f09c818c7bb2ada2ac448d0bd29f23d"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Mar 04 11:41:05 2024 -0800"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Mon Mar 04 19:56:49 2024 +0000"
      },
      "message": "RootCanal: Prevent abort on unknown APCF opcode\n\nGracefullly handle the unknown opcode by returning\nan error status code, and reporting the command\nto the invalid packet handler.\n\nBug: 323226412\nFlag: EXEMPT, tool change\nTest: m root-canal\nChange-Id: I446d1f2bc51ac3161ad645c3e6e5ed469f04b2f8\n"
    },
    {
      "commit": "4719bb390396c30484d764ae5127a996b17e85e5",
      "tree": "c922a90735877374c3a27b78b368a66d10f36d6a",
      "parents": [
        "fcafdfd9c633048a6523ea546be6aae906e6da58",
        "084589ff8d0b64617776b63a3fadd23cbf14da67"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed Feb 28 16:29:08 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 28 16:29:08 2024 +0000"
      },
      "message": "Merge \"RootCanal: Improve handling of packet parsing errors\" into main"
    },
    {
      "commit": "084589ff8d0b64617776b63a3fadd23cbf14da67",
      "tree": "a391faa9d4e08162fa2d6f682ea7e5f22038d143",
      "parents": [
        "e5d2e67744d2de6726ad8dd60bb3ad0ac4c3f495"
      ],
      "author": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Tue Feb 27 17:27:15 2024 +0000"
      },
      "committer": {
        "name": "Henri Chataing",
        "email": "henrichataing@google.com",
        "time": "Wed Feb 28 01:39:29 2024 +0000"
      },
      "message": "RootCanal: Improve handling of packet parsing errors\n\nPreviously simply crashed with ASSERT when an invalid packet\nwas received. This was problematic for a couple reasons:\n - ASSERT is not always enabled, i.e. some code could be\n   executed with invalid packets as input\n - in the android emulator context it is not desirable to\n   crash the emulator when receiving an invalid packet\n\nInstead, this patch uses the following handling code when\na parsing error is found\n - report the packet through the invalid packet handler\n  (same as generating a bug report with a triggered ASSERT)\n - send a Hardware Error event to the Host to signal invalid\n   behavior\n - if in debug mode trigger ASSERT, else ignore the packet\n\nBug: 323226412\nTest: m root-canal\nFlag: EXEMPT, tool change\nChange-Id: Ibcb89b0fc7f405e3646cfd249a3fad88a668302b\n"
    }
  ],
  "next": "d4358d1b41a73723c18dbf322e64a7497a017fef"
}
