)]}'
{
  "log": [
    {
      "commit": "e07fc2c6e7b9816242a264e8d6ac92a1f4a2615b",
      "tree": "3852eb186820a4e64648bbc01ed703e98e3ac808",
      "parents": [
        "e8f8a2dd4897eb039eee90fda19bfb72f51db3a1"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Sun May 31 17:26:25 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 11 17:26:59 2026 -0700"
      },
      "message": "rust/bt-bap-unicast: Implement discovery logic in client\n\n- Implement discover method in BapUnicastClient to read PACS and ASCS.\n- Use AudioStreamControlServiceClient::create for ASCS discovery.\n- Read PAC records from PACS service.\n- Update unit tests in manager.rs to set up fake PACS and ASCS services with characteristics.\n\nTest: unit tests passed\nBug: 433288675\nChange-Id: I6be5a966bbb34378499ee5e3165bf2fd6a6a6964\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3063\n"
    },
    {
      "commit": "e8f8a2dd4897eb039eee90fda19bfb72f51db3a1",
      "tree": "ecd465855804a6bd9cc9706800ac3a029e503f79",
      "parents": [
        "21553d0540ada1a579f0c5b67b3b1508116f67d8"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Sun May 31 17:17:39 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 10 15:21:30 2026 -0700"
      },
      "message": "rust/bt-bap-unicast: Implement discovery skeleton and mapping\n\n- Create src/mapping.rs with skeleton mapping logic and tests.\n- Update BapUnicastClient to include discover method returning dummy mapping.\n- Update BapUnicastManager::add_peer to return the mapping.\n- Derive Hash for Configuration and CodecCapabilitySetting to allow them as HashMap keys.\n- Declare mapping module in lib.rs.\n\nTest: unit tests passed\nBug: 433288675\nChange-Id: I7f281de4cf050f8c9630fa453274c2796a6a6964\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3062\n"
    },
    {
      "commit": "21553d0540ada1a579f0c5b67b3b1508116f67d8",
      "tree": "d81eb435cbede9a332298dc91c029ef59b551991",
      "parents": [
        "279b20fb9754809188eb02484b527dd902a59630"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Sun May 31 17:15:10 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 10 14:39:15 2026 -0700"
      },
      "message": "rust/bt-bap-unicast: Make manager and client generic over GattTypes\n\n- Update BapUnicastClient and BapUnicastManager to be generic over bt_gatt::GattTypes.\n- Update add_peer to accept T::Client.\n- Add bt-gatt with test-utils feature to dev-dependencies in Cargo.toml.\n- Update unit tests to use FakeClient and FakeTypes.\n\nTest: unit tests passed\nBug: 433288675\nChange-Id: I66742aaaa697f03a37f735bc0e70f1266a6a6964\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3061\n"
    },
    {
      "commit": "279b20fb9754809188eb02484b527dd902a59630",
      "tree": "048a84634d633b48ef40423e029cd7783f4c3204",
      "parents": [
        "dfccf0fbfe092b1fd7a31c42e173c173ff8234da"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Tue Aug 11 20:25:50 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 10 13:12:27 2026 -0700"
      },
      "message": "rust/bt-broadcast-assistant: Add crate documentation and TODO roadmap\n\nAdd README.md and TODO.md for the bt-broadcast-assistant crate to\ndocument architecture, usage examples, and tracking roadmap.\n\n - Add README.md with overview, architecture diagram, and usage example.\n - Add TODO.md outlining implementation phases.\n - Remove stale TODO comment in types.rs regarding PA train endpoint.\n\nTest: cargo check -p bt-broadcast-assistant\nChange-Id: I12f1d9550a7679967ed592000ed239a6649620e7\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3620\n"
    },
    {
      "commit": "dfccf0fbfe092b1fd7a31c42e173c173ff8234da",
      "tree": "1073aa2beab655566ade0212f9e5c950614fe3d7",
      "parents": [
        "641dd16e4e8d893fdfa38eb4c3805d9005b530b6"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Sat May 30 22:15:19 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 10 12:01:49 2026 -0700"
      },
      "message": "rust/bt-bap-unicast: Initialize crate and implement foundation\n\n- Create Cargo.toml with dependencies.\n- Define core types (Configuration, CodecCapabilitySetting, Error).\n- Implement BapUnicastManager and BapUnicastClient skeletons.\n- Add unit tests for types and manager.\n\nTest: unit tests included and passed\nBug: 433288675\nChange-Id: If06724488b828098af037964a91068246a6a6964\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3060\n"
    },
    {
      "commit": "641dd16e4e8d893fdfa38eb4c3805d9005b530b6",
      "tree": "5d3cd97d8be3d54c2a855f68c614a7f603690098",
      "parents": [
        "7d73f00874d5471de0c6cdfd9021da82317c2332"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu May 28 12:39:52 2026 -0400"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 10 11:48:53 2026 -0700"
      },
      "message": "bt-gatt: Add ConnectedIsochronousTypes and refactor traits\n\nChange-Id: I3d533ada59cc4f97136af07fd0db40c86a6a6964\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3000\n"
    },
    {
      "commit": "7d73f00874d5471de0c6cdfd9021da82317c2332",
      "tree": "f37ecbac3297f79eaf8c051c4a6c1b9ae24c818a",
      "parents": [
        "8b3c4a036c9bf6687a6c9b37675d7f6af0770559"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Thu Sep 03 19:46:35 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 09 15:24:44 2026 -0700"
      },
      "message": "rust/bt-mcs: Split server into separate mods\n\nMove the Server event, as well as helper machinery into a separate\nmodule.\n\nMove characteristic definitions and local state handling / supporting\nstate types into a separate module.\n\nTests remain colocated with the functionality they are covering.\n\nBug: 540400364\nTest: cargo test -p bt-mcs, ./presubmit.sh\nChange-Id: I66f70b6e5c1557fc7e0e925ad3d9623b3239f9fe\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3860\n"
    },
    {
      "commit": "8b3c4a036c9bf6687a6c9b37675d7f6af0770559",
      "tree": "16d3bc14b744b60d6660f444d9bd82bd3736c24a",
      "parents": [
        "7b40a119a835e9c87ad0e1732effa23bb7345071"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Tue Sep 08 21:52:52 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Sep 08 15:18:03 2026 -0700"
      },
      "message": "rust/bt-mcs: Migrate off try_recv and pin futures-channel\n\nPin futures-channel \u003d \"\u003d0.3.31\" to match the version vendored and\npinned by Fuchsia.\n\n`UnboundedReceiver::try_recv` does not exist in 0.3.31.\n\nBecause Cargo.lock is gitignored in this\nrepository, local and CI builds resolved newer versions (0.3.34) from\ncrates.io, masking the compilation failure that occurs when vendored\nin Fuchsia.\n\nBug: 540400364\nTest: cargo test -p bt-mcs, ./presubmit.sh\nChange-Id: Ibf55456fcbd991c98c9729053d7cccaf8cf63c17\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3920\n"
    },
    {
      "commit": "7b40a119a835e9c87ad0e1732effa23bb7345071",
      "tree": "5e14d96d95dddc344789f265092d7f828af3b8fd",
      "parents": [
        "9922fc481789e0f638b788761cbd75970e6b7936"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Mon Aug 24 16:27:54 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 04 14:33:02 2026 -0700"
      },
      "message": "rust/bt-mcs: Handle GATT write requests and control point commands\n\nImplement GATT write request processing and asynchronous Media Control\nPoint command execution for the Media Control Service.\n\nDefine an event that is yielded to upper layers. Events can be handled\nand responded to which generate the required GATT notification.\n\nHandle Media Control Point writes by checking opcode support and player\nactivity state, emitting immediate notifications for fast rejections.\nFor supported opcodes, provide a `ControlPointResponder` to allow the\napplication to complete the operation asynchronously.\n\nBug: 540400364\nTest: cargo test -p bt-mcs, ./presubmit.sh\nChange-Id: If4545955dce9873dfdf84f889898cb944c8f0e1c\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3740\n"
    },
    {
      "commit": "9922fc481789e0f638b788761cbd75970e6b7936",
      "tree": "2a523bcdd754725169b1ba069c47a3abdd72ef81",
      "parents": [
        "1ba17dfe92a66eb8e84d642cfe11e1ef9833f16d"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Mon Aug 31 23:45:16 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 04 14:28:45 2026 -0700"
      },
      "message": "rust/bt-mcs: Support GATT reads on optional characteristics\n\nAdd builder methods to McsServerBuilder to enable optional non-OTS\nfeatures on the MCS/GMCS server.\n\nDynamically generate the GATT service definition based on the enabled\ncharacteristics.\n\nDispatch incoming read requests for configured characteristics, and\nreturn InvalidHandle for unconfigured optional handles.\n\nBug: b/540400364\nTest: ./presubmit.sh\nChange-Id: Ib614e74ed23ad3dd47dea02dee93628c5df6a798\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3840\n"
    },
    {
      "commit": "1ba17dfe92a66eb8e84d642cfe11e1ef9833f16d",
      "tree": "6f623ae7f781eac13613a684db455bc0a3a67357",
      "parents": [
        "26babd7734ad2f5cf997a89daa56abb7caeef167"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Fri Aug 21 21:36:43 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Sep 04 14:23:12 2026 -0700"
      },
      "message": "rust/bt-mcs: Handle GATT read requests for mandatory characteristics\n\nImplement GATT read request handling for the mandatory characteristics\ndefined in the MCS spec.\n\nMaintain a local `McsLocalState` holding mandatory characteristic values\ninitialized to spec-defined defaults. Some of these may be specified by\nthe builder.\n\nProcess GATT read requests on the MCS Server by responding with\nappropriate byte representations, handling long-read offsets, and\nreturning `GattError::ReadNotPermitted` or `GattError::InvalidOffset`\nwhere appropriate.\n\nBug: 540400364\nTest: cargo test -p bt-mcs, ./presubmit.sh\nChange-Id: Ic4b6c989b0e82850a6e521f57a13abc1b7ee644f\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3720\n"
    },
    {
      "commit": "26babd7734ad2f5cf997a89daa56abb7caeef167",
      "tree": "8404b758ddcce5cd41ebc43c98167a9cd8b48887",
      "parents": [
        "e4bb26180c68ce27f379a6627951e45969c9ce56"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Thu Aug 13 17:30:08 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 31 15:51:01 2026 -0700"
      },
      "message": "rust/bt-mcs: Add McsServer and publish GATT service\n\nImplement `McsServer` and `LocalServiceState` state machine managing\nthe asynchronous GATT publication lifecycle for Media Control Service\n(MCS) and Generic Media Control Service (GMCS).\n\nAdd `McsServerBuilder::build` and `McsServer::publish` methods to\nsupport registering the service in the GATT database.\n\nBug: 540400364\nTest: cargo test -p bt-mcs\nChange-Id: I20c1a742f714fe80f57f22e5bca16175c9b45ee7\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3680\n"
    },
    {
      "commit": "e4bb26180c68ce27f379a6627951e45969c9ce56",
      "tree": "71e589cee294ec75bc4eabd688ff3cb6c70fc3dd",
      "parents": [
        "e6c76b46030916ab819644d45782510e0262fd73"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Mon Aug 24 21:38:30 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 31 13:17:29 2026 -0700"
      },
      "message": "rust/bt-gatt: Refactor CharacteristicProperties to be zero-allocation\n\nUse a static slice of CharacteristicProperty instead of Vec to avoid\nallocation. Update all callsites to use this.\n\nWhile here, define convenience types for common sets of properties.\n\nTest: ./presubmit.sh\n\nChange-Id: Ic6eb4d3e6413d7d9b3d03cf7a461c93e7a275cf7\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3760\n"
    },
    {
      "commit": "e6c76b46030916ab819644d45782510e0262fd73",
      "tree": "de56fb1accd87f7827eb2f6d45243b9b8971ede7",
      "parents": [
        "3a4e8d9bae7ccb7d5684f3330c30c981308eb88e"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Tue Aug 25 17:17:41 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 31 09:14:42 2026 -0700"
      },
      "message": "rust/bt-mcs: Fix supporting type definitions\n\nUpdate type values to match their spec-defined values.\n\nAdd remaining PlayingOrder variants that are defined in MCS v1.0.1.\n\nExpand unit test coverage in types.rs to validate all opcode\nencodings, decodings, parameter handling, error cases, and bitmasks.\n\nBug: 540400364\nTest: ./presubmit.sh\nChange-Id: If0831d7ae030971543515513ba01a04e145d6973\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3780\n"
    },
    {
      "commit": "3a4e8d9bae7ccb7d5684f3330c30c981308eb88e",
      "tree": "745fc67e013ca8f9f77853295bd56b2a22e966aa",
      "parents": [
        "8650f7c86f486c01250e647e49fe323b2b8cb3b9"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Mon Aug 31 15:54:40 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 31 09:10:24 2026 -0700"
      },
      "message": "rust: Pin aes dependency version\n\nPin the aes dependency to \u003d0.9.1 in the root Cargo.toml to match the\nFuchsia third_party crate version.\n\nThis prevents cargo from resolving to aes 0.9.3 during clean builds,\nwhich requires Rust 1.89 and fails on the current hermetic toolchain.\n\nTest: ./presubmit.sh\nChange-Id: If31f68b2b33653b53e791d5db4245cbfb5590033\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3800\n"
    },
    {
      "commit": "8650f7c86f486c01250e647e49fe323b2b8cb3b9",
      "tree": "1341f18b5a58a50c78a92d5f092db8d578d52401",
      "parents": [
        "8e383344a67e55eeb72b875aa84166c847f516c2"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Wed Aug 12 18:49:06 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 24 14:04:17 2026 -0700"
      },
      "message": "rust/bt-mcs: Add McsServerBuilder and GATT service definition\n\nImplement `McsServerBuilder` for configuring and constructing the GATT\n`ServiceDefinition` for Generic Media Control Service (GMCS) and Media\nControl Service (MCS). Both services are largely the same and can be\nconfigured.\n\nRegister all 13 mandatory characteristics as defined in MCS v1.0.1\nSection 3.\n\nBug: 540400364\nTest: cargo test -p bt-mcs\nChange-Id: I3c7b4b3c405f3d52ab7a3937081a6b3981c9749b\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3660\n"
    },
    {
      "commit": "8e383344a67e55eeb72b875aa84166c847f516c2",
      "tree": "5c5e3026146d2741d28268063d1779464ca1ab26",
      "parents": [
        "4d85e5484a2894539d62f28910473a6fa46d60c2"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Fri Aug 07 01:24:34 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 20 15:53:28 2026 -0700"
      },
      "message": "rust/bt-mcs: Add initial type definitions\n\nAdd the initial package definition for the bt-mcs crate, introducing\nUUID constants, error types, state enums, bitmask flags, and wire\ncodecs for the Media Control Service (MCS v1.0.1) and Generic Media\nControl Service (GMCS v1.0.1).\n\nInclude the bitflags crate in the toplevel project repository to be used\nby the MCS types.\n\nDefine a crate-specific Error type for clients interacting with the MCS\nlibrary.\n\nBug: 540400364\nTest: cargo test --package bt-mcs, ./presubmit.sh\nChange-Id: Ia44a18f06abfeaf2b944fddb31b25872dc64b9c9\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3520\n"
    },
    {
      "commit": "4d85e5484a2894539d62f28910473a6fa46d60c2",
      "tree": "7acd55fd87201eb83d2b4e0a6f5b7390e6cadd74",
      "parents": [
        "427eedcd91535272b0e6d11484256757f4023d71"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Tue Jul 28 22:13:48 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 20 13:38:30 2026 -0700"
      },
      "message": "rust/bt-set-coordinator: Implement CoordinatedSet and RSI\n\nImplement the CoordinatedSet struct and the Resolvable Set\nIdentifier (RSI) resolution algorithm (sih). This enables\nthe Set Coordinator to identify set members from advertising data during\nscanning without needing to initiate a BLE connection.\n\nBug: 540068272\nTest: cargo test\nChange-Id: I09cfefab7135dc4225b8e21aa0132c2d6c4da772\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3360\n"
    },
    {
      "commit": "427eedcd91535272b0e6d11484256757f4023d71",
      "tree": "268df426bf340102fa2c0d969a92627eebe45a8b",
      "parents": [
        "05e2d4011c84c8d03cee5888b65893f315f240e3"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Mon Aug 10 17:27:00 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 20 09:03:59 2026 -0700"
      },
      "message": "rust/bt-common: Migrate to strongly typed Address\n\nDefine Address as a strongly typed struct wrapping `[u8; 6]` with\nconvenience helpers and constants to make interactions cleaner and\nsafer.\n\nUpdate crates that currently use Address with the modified version.\n\nUpdate bt-bass to use strongly typed Address instead of using raw bytes.\n\nBug: 542348813\nTest: ./presubmit.sh\nChange-Id: Ie1048a177100196edfeb14252d04bc076df39107\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3560\n"
    },
    {
      "commit": "05e2d4011c84c8d03cee5888b65893f315f240e3",
      "tree": "c38d204a139d85f3ccff97d6cf013c8f820acaf7",
      "parents": [
        "ce19d4fd5d9bfc1f081c32f3e96e34800d5ac8c6"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Mon Jul 27 21:23:14 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 19 14:48:40 2026 -0700"
      },
      "message": "rust/bt-bass: Handle state updates and send GATT notifications\n\nAdd public APIs to add, update, and clear Broadcast Receive State\ncharacteristics. These will be used in response to any `ServerEvents`\ngenerated when the remote Broadcast Assistant requests an operation.\n\nDispatch GATT notifications to subscribed peers when characteristic\nstate is updated.\n\nBug: 534436439\nTest: cargo test, ./presubmit.sh\n\nChange-Id: I6a28b1077383b7d8ec5213f33b83067fe9c6437e\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3220\n"
    },
    {
      "commit": "ce19d4fd5d9bfc1f081c32f3e96e34800d5ac8c6",
      "tree": "af889d80ec5846b28e6bcb34a815433358fce239",
      "parents": [
        "f59178dc0cdf45caa2fc8ebc08da1ed16a969077"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Wed Aug 19 20:00:12 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 19 13:34:50 2026 -0700"
      },
      "message": "rust: Update thiserror to match fuchsia\n\nTest: cargo check\nChange-Id: If9a6be8ffe573c718e82080e9c29bea36a6a6964\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3700\n"
    },
    {
      "commit": "f59178dc0cdf45caa2fc8ebc08da1ed16a969077",
      "tree": "4618140db5451275768fc7c56889068dd9a94849",
      "parents": [
        "48f3424e20731ecf44ac83d7d28a682c5eac481d"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Sun May 31 06:58:54 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 17 15:39:26 2026 -0700"
      },
      "message": "rust/bt-ascs: Add debug command-line tool for client\n\nAdd a new debug tool to interactively test and debug the ASCS client\nimplementation. This provides a convenient way to manually trigger all\nclient-side operations and inspect the state of remote ASEs.\n\n - Implement a command-line interface in `src/debug.rs`.\n - Provide commands for all client operations (e.g., `config-codec`,\n   `enable`, `release`).\n - Add unit tests for the new argument parsing logic.\n\nBug: 431814103\nTest: cargo test -p bt-ascs\nChange-Id: I3f0dd46b2d668545c4f216e0c156c4f4507d4db6\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2520\n"
    },
    {
      "commit": "48f3424e20731ecf44ac83d7d28a682c5eac481d",
      "tree": "1cf9da99d7c4caf3f65f77946e8acf299aa4bb8e",
      "parents": [
        "7ac2e53476b030bf61b5ac0bd7fd4d35327471e9"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Sun May 31 06:32:01 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 14 18:49:20 2026 -0700"
      },
      "message": "rust/bt-ascs: Implement Release operation\n\nThis change implements the client-side \"Release\" operation as defined\nin ASCS v1.0.1, Section 5.8. This allows a client to release all\nresources associated with one or more ASEs.\n\n - Added the `release` method to the `AudioStreamControlServiceClient`.\n - Implemented the encoding logic for the `Release` control operation.\n - Added unit tests to verify the success path and failure due to\n   invalid ASE state.\n\nTest: cargo test -p bt-ascs\nBug: b/431814103\nChange-Id: I0cef17323e1d0b2c9cfd16a0d978bb086b81144e\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2483\n"
    },
    {
      "commit": "7ac2e53476b030bf61b5ac0bd7fd4d35327471e9",
      "tree": "63d08ca102bdf19dfd17511a400be58cc3dc0474",
      "parents": [
        "aa88b2152499d9825b99b158ae6f2a94f360f51b"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed Aug 12 21:26:44 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 13 11:20:04 2026 -0700"
      },
      "message": "rust/bt-gatt: Support offset and truncation in FakePeerService read\n\nTest: cargo test\nChange-Id: Ia79c0d06484c0fa6c56f6388591f04abd9b9bc41\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3640\n"
    },
    {
      "commit": "aa88b2152499d9825b99b158ae6f2a94f360f51b",
      "tree": "fb9138681d97d19dbfa75711669d0dee1a111627",
      "parents": [
        "4450a382c2d0dd680289a9cdef890a7a220f45f2"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Mon Jul 27 21:57:11 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 12 14:30:03 2026 -0700"
      },
      "message": "rust/bt-csis: Implement initial client and characteristic discovery\n\nImplement the `CoordinatedSetIdentificationServiceClient` with\nRead-on-Create logic as per CSIS v1.1.\n\n- Add granular discovery helpers encapsulating find, read, and decode\n- Use higher-level `ServiceCharacteristic::read` API\n- Add unit tests covering success and failure modes\n- Update spec references to CSIS v1.1\n- Remove unused type skeletons to adhere to YAGNI rule\n\nBug: 534436497\nTest: cargo test\nChange-Id: Id438d0a1baf718a343c2bed898da2bc4198ae55b\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3240\n"
    },
    {
      "commit": "4450a382c2d0dd680289a9cdef890a7a220f45f2",
      "tree": "3a9712aca4c17ef363d500ef376ee70c9dd6d2e4",
      "parents": [
        "816e047cb524e4ead91fde68a4b7b33c7612cb12"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Thu Aug 06 17:45:23 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 07 11:23:02 2026 -0700"
      },
      "message": "rust/bt-bap: Use BroadcastCode type\n\nMigrate all callsites in bt-bass and bt-broadcast-assistant from raw\n[u8; 16] byte arrays to the strongly typed BroadcastCode struct for\nconsistency and type safety.\n\nBug: 539983871\nTest: cargo test, ./presubmit.sh\nChange-Id: I954bd6da90c71f9e12141d58af4d5f9430bfdd68\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3480\n"
    },
    {
      "commit": "816e047cb524e4ead91fde68a4b7b33c7612cb12",
      "tree": "88ed5ad4da40749c51d121d333da4d37188ad9b0",
      "parents": [
        "147f1e58e7ec9302e02ed0c63fe1fd3bfe9dbf09"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Thu Jul 23 20:53:39 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri Aug 07 10:55:58 2026 -0700"
      },
      "message": "rust/bt-bass: Implement Stream for BASS Server\n\nAdd a Stream implementation for emitting relevant BASS events. Upper\nlayer clients can consume these events and take action for the various\ncontrol point operations.\n\nHandle GATT read requests on the Receive State Characteristic.\n\nHandle GATT write requests on the Control Point Characteristic.\n\nRefactor SourceID and other state management into a separate struct for\nclearer separation of concerns.\n\nBug: 534436439\nTest: cargo test, ./presubmit.sh\n\nChange-Id: Id5f14161f9aa9ef600b3fa518b70c182d1701606\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3180\n"
    },
    {
      "commit": "147f1e58e7ec9302e02ed0c63fe1fd3bfe9dbf09",
      "tree": "94c6ec8e63ef7bc6d74d53f1f57468944b216988",
      "parents": [
        "51f83360569303fc30e992501f0fd450fdc6523d"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Sun May 31 04:37:57 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 06 18:50:19 2026 -0700"
      },
      "message": "rust/bt-ascs: Add the Update Metadata operation\n\nThis adds the `update_metadata` method to the ASCS client, which allows\na client to update the metadata for one or more ASEs.\n\n - Add `UpdateMetadata` to `AseControlOperation`\n - Implement encoding and decoding for the operation\n - Add a unit test for the new operation\n\nTest: cargo test -p bt-ascs\nBug: b/431814103\n\nChange-Id: Ic898bdbc862a735423729d4525bf83af19784256\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2482\n"
    },
    {
      "commit": "51f83360569303fc30e992501f0fd450fdc6523d",
      "tree": "7a0df3d738b293321780691986133ea490cddf0d",
      "parents": [
        "f6b7391ff28a64d245150df0dc7fcd99a2163278"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Sun May 31 04:08:30 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 06 12:14:21 2026 -0700"
      },
      "message": "rust/bt-ascs: Implement Receiver Stop Ready operation\n\nThis change implements the client-side \"Receiver Stop Ready\" operation\nas defined in ASCS v1.0.1, Section 5.6.\n\n - Add the `receiver_stop_ready` method to `AudioStreamEndpointHandle`.\n - Update `AseControlOperation` to handle encoding and state transitions.\n - Add unit tests for success and various failure scenarios.\n\nTest: cargo test -p bt-ascs\nBug: b/431814103\n\nChange-Id: I5c5482b6271d869a70f04671a122e2f86d91430c\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2481\n"
    },
    {
      "commit": "f6b7391ff28a64d245150df0dc7fcd99a2163278",
      "tree": "d09a641b922d7a889ba52a0c3ca6df210fb59bc1",
      "parents": [
        "f746eeadab28a9c968005dc4877e37ba63614bef"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Tue Aug 04 16:40:19 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 06 11:09:12 2026 -0700"
      },
      "message": "rust/bt-broadcast-assistant: Use BroadcastSourceKey instead of raw id\n\nUse the strongly-typed BroadcastSourceKey to track periodic\nadvertising futures, sync report streams, and active synchronization\nstates in EventStream.\n\nFixed: 542348813\nTest: cargo test\nChange-Id: Ic415f3a3c0798760ff9c5f4d396bcd8702872fb5\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3420\n"
    },
    {
      "commit": "f746eeadab28a9c968005dc4877e37ba63614bef",
      "tree": "9fd1b258c3b69fc144d3147903c0b0c99f4d1fe4",
      "parents": [
        "a92b04fe4cd645f0e97c5aee83c7ed8d56fd6ad8"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Sun May 31 03:00:55 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 06 11:08:22 2026 -0700"
      },
      "message": "rust/bt-ascs: Implement Disable operation\n\nThis change implements the client-side \"Disable\" operation as defined\nin ASCS v1.0.1, Section 5.5.\n\n - The `disable` method was added to the `AudioStreamEndpointHandle`.\n - The implementation follows the established pattern of using the\n   `perform_operation` helper method.\n - Unit tests have been added to verify the new functionality.\n\nTest: cargo test -p bt-ascs\nBug: b/431814103\n\nChange-Id: Ibbb39c2a8caa39cdd3805fd90983e1965eb46708\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2480\n"
    },
    {
      "commit": "a92b04fe4cd645f0e97c5aee83c7ed8d56fd6ad8",
      "tree": "d4785fcf40355b0e752939bcc3d824ae67ce900f",
      "parents": [
        "8225fb6cea5d7d6c5678ae248f3d5b2747c75ce8"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Thu Aug 06 17:06:53 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Aug 06 10:13:31 2026 -0700"
      },
      "message": "*: Update crate versions to match Fuchsia\n\nTest: cargo check\nChange-Id: I0ce0ad032cd3a2c98ba783e835638610d49bfd6a\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3460\n"
    },
    {
      "commit": "8225fb6cea5d7d6c5678ae248f3d5b2747c75ce8",
      "tree": "25ac1a5092762be25ace6c8456fe09b2fe7d0cc0",
      "parents": [
        "6dd4ae84abb08a7206f389d89e05b21303f1034e"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Mon Jul 27 23:27:12 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 05 15:21:45 2026 -0700"
      },
      "message": "rust/bt-gatt: Add ResolvableSetIdentifier to AdvertisingDatum\n\nAdd the `ResolvableSetIdentifier` variant to support parsing the 6-byte\nRSI AD type. This enables the CSIP Set Coordinator to identify set\nmembers during scanning without connecting.\n\nTest: cargo check\nChange-Id: I0fd2c01e620fa86907d9b942311545b36dce65b2\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3260\n"
    },
    {
      "commit": "6dd4ae84abb08a7206f389d89e05b21303f1034e",
      "tree": "6456c70227ae5e97068bdf3564b28045ec0c36c4",
      "parents": [
        "66c7f0d9423891cc119f4d36e2e8261213a66b63"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Tue Jul 28 17:18:37 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 05 15:16:25 2026 -0700"
      },
      "message": "rust/bt-common: Encapsulate AdvertisingSetId and validate bounds\n\nEncapsulate the internal AdvertisingSetId u8 value and enforce valid\nSID bounds (0x00..\u003d0x0F) per Core Spec v5.3 Vol 6, Part B, Section 2.3.4\nand BASS v1.0.1 Section 3.1.1.4 Table 3.5.\n\nBug: 539983871\nTest: cargo test\nChange-Id: I2cf2073f4dbcf4910bbc154a6a044bc5f9db1adc\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3300\n"
    },
    {
      "commit": "66c7f0d9423891cc119f4d36e2e8261213a66b63",
      "tree": "7d6d3928572d047a2e6384e25a84dbe9620423c9",
      "parents": [
        "1334d848af35501f8afbaa55c82b7650b2fe648d"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Sun May 31 00:58:50 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Aug 05 15:04:11 2026 -0700"
      },
      "message": "rust/bt-ascs: Implement Receiver Start Ready operation\n\nThis change implements the client-side \"Receiver Start Ready\" operation\nas defined in ASCS v1.0.1, Section 5.4.\n\nThis also includes a major refactoring of the ASE control operations in\nthe `AudioStreamEndpointHandle` to use a common `perform_operation`\nhelper method. This reduces code duplication and improves\nmaintainability.\n\n - The `configure_codec`, `configure_qos`, and `enable` operations were\n   updated to use this new helper.\n - The `AseControlOperation` enum was improved by renaming `is_valid_state`\n   to `is_valid_operation` and `next_state` to `expected_next_state` to\n   better reflect their purpose.\n\nTest: cargo test -p bt-ascs\nBug: b/431814103\n\nChange-Id: I916d9553eb529d6940635bcc14098e948f9a0cad\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2460\n"
    },
    {
      "commit": "1334d848af35501f8afbaa55c82b7650b2fe648d",
      "tree": "af2ed5c8d0ebed35184714e03c8a1e2e3fc730cd",
      "parents": [
        "4a7496bddf8aebdabb1bfb73a115c3a98557e2e1"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Tue Jul 28 21:19:57 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Aug 04 09:30:38 2026 -0700"
      },
      "message": "rust/bt-bass: Apply BIS_Sync to new subgroups\n\nProcess bis_map after metadata_map in modify_broadcast_source so that\nBIS_Sync settings for newly added subgroups are applied rather than\nleft at NO_PREFERENCE.\n\nBug: 539983871\nTest: cargo test\nChange-Id: Iea912a103ade5bac8ed8d2f31eb7de486b93cc7b\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3341\n"
    },
    {
      "commit": "4a7496bddf8aebdabb1bfb73a115c3a98557e2e1",
      "tree": "bc092873c329a93f23da402db72a9620bf97efa3",
      "parents": [
        "749b732c77fc910abec3d10975b5792bc183bc92"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Tue Jul 28 17:31:14 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Aug 03 17:56:50 2026 -0700"
      },
      "message": "bt-bass: Standardize error type for RemoteScanStoppedOperation decode\n\nAlign RemoteScanStoppedOperation::decode to return\n`UnexpectedDataLength` instead of `BufferTooSmall` when the buffer is\nmalformed. The former is used for these situations, and the latter is\nused for encoding errors due to truncated input buffers.\n\nBug: 539983871\nTest: cargo test\n\nChange-Id: I94e20bdced0ed8a0dd9540e587dc3d7f695094df\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3320\n"
    },
    {
      "commit": "749b732c77fc910abec3d10975b5792bc183bc92",
      "tree": "43a6858893bb23cc5d686acb0666facc362eab42",
      "parents": [
        "19cac8e499be951963749c86ff70e350d4279af7"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Mon Jul 27 22:01:39 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jul 30 12:57:18 2026 -0700"
      },
      "message": "agent: Update specs downloader and document commit style\n\n- Make downloader.py dynamic to find latest spec versions automatically\n- Remove leading whitespaces from empty lines in downloader.py\n- Add commit message guidelines to GEMINI.md\n\nTest: Verified downloader script execution and file formatting\nChange-Id: I687ca9fb55bebae97b0a679e1dbc1101a4bc6a43\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3241\n"
    },
    {
      "commit": "19cac8e499be951963749c86ff70e350d4279af7",
      "tree": "e31d4fa0df8cf251749d359c592452e28e95b3ae",
      "parents": [
        "fd0756c82c6a4ceeef2566af08907b20aea76442"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Wed Jul 22 16:24:21 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 29 13:34:32 2026 -0700"
      },
      "message": "rust/bt-bass: Initial implementation of BASS server\n\nAdd initial scaffolding for the BASS GATT Server.\n\nIntroduce a BASS ServerBuilder to create a valid server with\ncharacteristics.\n\nDefine characteristics for the Service, Control Point, and Broadcast\nReceive State.\n\nTest: cargo test -p bt-bass, ./presubmit.sh\nBug: b/534436439\n\nChange-Id: Ie5e4bd965aba680b294e02a42304096907a83e98\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3160\n"
    },
    {
      "commit": "fd0756c82c6a4ceeef2566af08907b20aea76442",
      "tree": "a7b5b048e486f2e52d2e066f7b9a43592b0a3091",
      "parents": [
        "bf10103609a53f57f03711aa8c93a7508fb4a634"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Tue Jul 28 16:50:41 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Tue Jul 28 15:24:46 2026 -0700"
      },
      "message": "rust/bt-bass: Fix BisSync synchronization for NO_PREFERENCE\n\nReset BisSync to 0 when starting from NO_PREFERENCE before applying the\nbitmask so that single-index synchronization is set correctly.\n\nBug: 534436439\nTest: cargo test\n\nChange-Id: If8586b619a1da5efc688ea0fb0eab565d9c08566\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3280\n"
    },
    {
      "commit": "bf10103609a53f57f03711aa8c93a7508fb4a634",
      "tree": "397eeaf50c352739e13bd199d2e15acb6eddb088",
      "parents": [
        "10d41a5f05c3cd74161d485bd8eca2b4327d9652"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Sun May 31 00:11:23 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Jul 16 12:03:17 2026 -0700"
      },
      "message": "rust/bt-ascs: Implement Enable operation\n\nThis change implements the \"Enable\" operation for the ASCS client.\n\nThe implementation includes:\n - A new `enable` method on the `AudioStreamEndpointHandle`.\n - Unit tests for success and failure scenarios.\n - A new unit test for the `Enable` decoding logic.\n\nTest: cargo test -p bt-ascs\nBug: b/431814103\n\nChange-Id: I19f47179aaffaf529c63791f338a8d4a1e6bcb5e\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2420\n"
    },
    {
      "commit": "10d41a5f05c3cd74161d485bd8eca2b4327d9652",
      "tree": "725cb23fb805afe268e7fcb662944710b8713fc1",
      "parents": [
        "8d4e7c2e7f2a14e9fa25e7cb820e45bae85175b0"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Sun May 31 00:02:46 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Jul 15 15:31:12 2026 -0700"
      },
      "message": "rust/bt-ascs: Implement Config QoS operation\n\nThis change implements the \"Config QoS\" operation for the ASCS client.\n\nThe implementation includes:\n - Concurrent handling of state transitions for improved performance\n   when configuring multiple ASEs.\n - Comprehensive unit tests for success and failure scenarios.\n - A new unit test for the  decoding logic.\n\nTest: cargo test -p bt-ascs\nBug: b/431814103\n\nChange-Id: Ia636539c56861cb6b4095f238011ef1af3fa37de\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2400\n"
    },
    {
      "commit": "8d4e7c2e7f2a14e9fa25e7cb820e45bae85175b0",
      "tree": "25e645c43caf196d3022211010dd73b7e2ac66e8",
      "parents": [
        "3c34fe9d0c8583d8124638e7d4eea4df99f2f02c"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Sat May 30 19:34:49 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jul 06 13:16:35 2026 -0700"
      },
      "message": "rust/bt-ascs: Implement Configure Codec operation\n\nImplement config codec operation for ASCS client.\n - Create `AudioStreamEndpointHandle` struct so clients of the library\n   can perform a ASE control operation on a set of audio stream endpoints\n - To reduce work on clients, ensure the `configure_codec` method\n   returns the result from the server after the control operation is\n   requested\n\nTest: cargo test -p bt-ascs\nBug: b/431814103\n\nChange-Id: I961354cd3d0ba69f2fe099a88039009301c743dc\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2320\n"
    },
    {
      "commit": "3c34fe9d0c8583d8124638e7d4eea4df99f2f02c",
      "tree": "c63f27bb7f0ba44d9d457b096c8d6e1ec053fbec",
      "parents": [
        "7658a15d274e7989bee9ffe9234198d1f460eb99"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Sat May 30 18:38:54 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jun 01 15:01:57 2026 -0700"
      },
      "message": "rust/bt-ascs: Refactor common types and implement basic client\n\nRefactor common types that are used for both ASCS client and server.\nAlso do a basic implementation of ASCS client.\n\nTest: cargo test\nChange-Id: I1e71f43ec66ea1727f99a589d38a92e8b9bf763c\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2269\n"
    },
    {
      "commit": "7658a15d274e7989bee9ffe9234198d1f460eb99",
      "tree": "c991318bae80501ec430943666d61cd4831b1766",
      "parents": [
        "e4590f845f9a40deeab583b752c8272b52c89ad3"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Thu May 21 02:49:27 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jun 01 14:36:39 2026 -0700"
      },
      "message": "rust/bt-broadcast-assistant: Parse broadcast name from scan results\n\nStore broadcast name metadata discovered during central scanning\ninto BroadcastSource records.\n\nThis enables assistant utilities and user interfaces to present\nhuman-readable broadcast names to users when scanning for public\nbroadcast audio streams, directly matching Public Broadcast Profile\nspecifications.\n\nBug: b/366310724\nTest: cargo test\nChange-Id: I015f00552950d609f21e461f5da8fb85b6485919\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2960\n"
    },
    {
      "commit": "e4590f845f9a40deeab583b752c8272b52c89ad3",
      "tree": "f6f3903f4e091e9dcdefd7246501a82bb95105aa",
      "parents": [
        "9e1a75e3a0df74f1399c203a95e1b1abe7036739"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Sat May 23 22:20:43 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Jun 01 13:50:25 2026 -0700"
      },
      "message": "bt/bt-broadcast-assistant: Support multi-broadcast and PA scanning\n\n- Implement PA scanning in EventStream using bt-gatt\u0027s PA traits to\n  BASE endpoints\n- Refactor registry cache to key by (PeerId, AdvertisingSetId) to\n  prevent collisions and natively support multi-broadcast sources.\n\nBug: b/433285146\nChange-Id: I7020bea1f25311347cbafc6ab2174d3e2e9b7e4a\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2980\n"
    },
    {
      "commit": "9e1a75e3a0df74f1399c203a95e1b1abe7036739",
      "tree": "a67428225a2654c8258068f049796b0270547935",
      "parents": [
        "d3e860aea3910aea83d1d277c4a665946d0d5767"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Mar 21 09:06:48 2024 -0400"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Sat May 30 08:44:14 2026 -0700"
      },
      "message": "rust/bt-ascs: CIS establish/release handling\n\nChange-Id: Ia57027b152a515f2bf7567791ffbf40d3a7f2785\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/1900\n"
    },
    {
      "commit": "d3e860aea3910aea83d1d277c4a665946d0d5767",
      "tree": "c5efc1770e8a565d2c55daafe58fb4393986e01e",
      "parents": [
        "4db5d27893b31fbb8a7a2ddd5f5550362fbd10ec"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Tue Mar 12 11:46:37 2024 -0400"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 29 21:55:16 2026 -0700"
      },
      "message": "rust/bt-ascs: Implement remaining operations\n\nAdd operation handling for:\n - QoS Configure\n - Enable\n - Disable\n - Receiver Start Ready\n - Release\n - Receiver Stop Ready\n - Released\n\nBug: b/309015034\nChange-Id: I747b6081bc4c0508dde2603bf70874c1ed73b2d1\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/1760\n"
    },
    {
      "commit": "4db5d27893b31fbb8a7a2ddd5f5550362fbd10ec",
      "tree": "51ffc93c0eee0ef4fbb9e3f76c6d05be02813775",
      "parents": [
        "071c906c404244914ff7c489ac697e9db9d0ba11"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri May 29 19:34:00 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Fri May 29 13:24:34 2026 -0700"
      },
      "message": "rust: Use LazyLock over lazy_static and update dependencies\n\nLazyLock is a built-in std way to do lazy statics. Remove import of\nlazy_static and use LazyLock instead since Fuchsia has deprecated import\nof lazy_static.\n\nUpdate other dependencies to versions that are used in Fuchsia.\n\nTest: cargo test\nChange-Id: Ib8ecbb54b8b60793469d33bdbf3f7f781e147160\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/3040\n"
    },
    {
      "commit": "071c906c404244914ff7c489ac697e9db9d0ba11",
      "tree": "1f8913ba11914187dcc70da0f62f7605b876ff40",
      "parents": [
        "848dcf2276df859b68e9cdded0128ae402230aa8"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Sat Mar 09 18:06:16 2024 -0500"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu May 28 21:27:40 2026 -0700"
      },
      "message": "rust/bt-ascs: Implement ConfigureCodec\n\nImplement ConfigureCodec and the machinery to handle ServiceEvents and\nresponses:\n - Add AseControlOperationFut and a queue of futures to poll\n - Update AseControlOperation to always produce an operation from a\n   ControlPoint write (add Error operation)\n - Generate Events from Operations initiated by a peer\n - Update AudioStreamEndpoints based on responses\n - Send notifications of Control Point and Endpoints when operation is\n   complete\n\nBug: b/309015034\nTest: updated / enabled, cargo test\nChange-Id: I90c974d52229f180ee6489d328787f468c762acb\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/1740\n"
    },
    {
      "commit": "848dcf2276df859b68e9cdded0128ae402230aa8",
      "tree": "f5d610478e9e962ee503d80194eea7f074d798c4",
      "parents": [
        "b9615bfab8e70ba6053d309c30db2907b02c3c84"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Tue Apr 16 23:19:23 2024 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu May 28 12:59:03 2026 -0700"
      },
      "message": "rust/bt-pacs: Implement notification for available audio contexts\n\nAvailable audio contexts characteristic should support notify property:\n  - Add a method on PACS server to allow the clients of the library to\n    update the available audio contexts.\n  - Notify the change through the GATT local service.\n\nBug: b/309015071\nTest: cargo test\nChange-Id: Ib0b41f152dcb8148410ac7275cd36d153aec08a0\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2020\n"
    },
    {
      "commit": "b9615bfab8e70ba6053d309c30db2907b02c3c84",
      "tree": "f501042c3389428ae7ed6cf059adf8b2734f6ddd",
      "parents": [
        "d103a3c0a1a4ee865551a104d54623b304bfd2e0"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Thu Sep 04 18:16:15 2025 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 27 17:32:30 2026 -0700"
      },
      "message": "rust/bt-{broadcast-assistant,bass}: Fix bugs from UPF\n\n- Eagerly process scan results for Broadcast Sources in Broadcast\n  Assistant EventStream so that all available advertisements are processed\n- Eagerly process characteristic notifications from BASS server and\n  improve robustness of BASS EventStream\n- Fix passcode encoding to match spec\n- Improve debug/test experience by printing Peer ID and Broadcast ID in\n  hex\n- Remove unnecessary Option around BIG-BIS sync map\n\nTest: cargo test\nFixes: b/443062360, b/443063033, b/443062386\nChange-Id: I80b284eb90b034fefb6d5cdb160a2086b46be532\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2800\n"
    },
    {
      "commit": "d103a3c0a1a4ee865551a104d54623b304bfd2e0",
      "tree": "9fcac972fa0b4a6e7b939de2bea1c059acda7d41",
      "parents": [
        "42bc62d05a2aa0c7f23c75a15cde7cd243c4e2e9"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Tue May 19 21:57:11 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 20 15:33:50 2026 -0700"
      },
      "message": "agents: Add contribution guide skill\n\nDefine a new contribution guide skill for autonomous agents.\nThis ensures future automated agent workflows strictly follow the\ncommit formatting rules defined in docs/commit_messages.md when\nsubmitting changes.\n\nChange-Id: Ia86297d0a465256e352efd82fec6177f18148df6\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2940\n"
    },
    {
      "commit": "42bc62d05a2aa0c7f23c75a15cde7cd243c4e2e9",
      "tree": "6cafc7599a2a1534682fd2331bafb74a3300879a",
      "parents": [
        "b804042c65c3a0c5b7e03d94a5bd9acfec1aa5f0"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed May 13 19:11:36 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 20 15:33:37 2026 -0700"
      },
      "message": "rust/bt-{gatt, broadcast-assistant}: Add broadcast name and PA interval\n\nSupport LE Audio broadcast metadata in central scanning and assistant\nevent records to enable broadcast source discovery.\n\nBug: b/366310724\nTest: cargo test\nChange-Id: I3c3c06b2df776464c37927816091d325cceaa326\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2920\n"
    },
    {
      "commit": "b804042c65c3a0c5b7e03d94a5bd9acfec1aa5f0",
      "tree": "936803783fe11b8d311b095db5041d0b02ba2698",
      "parents": [
        "f0543ccfa816e5b4ccb963aa5bcd33ef4057188d"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed May 06 22:02:08 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 13 12:17:51 2026 -0700"
      },
      "message": "agents: Add skill for reading LE audio profiles specifications\n\nChange-Id: I0eb7ee7b3b04dea6ebfd38844790bde31e64ec5e\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2901\n"
    },
    {
      "commit": "f0543ccfa816e5b4ccb963aa5bcd33ef4057188d",
      "tree": "5a7985327cfbcb8fd5e2a292a9bd89cb5482c58d",
      "parents": [
        "3677436bd18e90bfe94f2d773c271aa462d4904f"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed May 06 21:16:55 2026 +0000"
      },
      "committer": {
        "name": "CQ Bot Account",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed May 13 11:41:31 2026 -0700"
      },
      "message": "agents: Add GEMINI.md file and Jetski skill for core specification reader\n\nChange-Id: Id8922f417ae012958ad9e795114d1467df5fdcc8\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2900\n"
    },
    {
      "commit": "3677436bd18e90bfe94f2d773c271aa462d4904f",
      "tree": "b5e25143c927712894ab1f54dba5db6a2959a6b5",
      "parents": [
        "df787e914b53310d02ceae606b8b10dc7ef3e6ff"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed Sep 03 17:07:38 2025 +0000"
      },
      "committer": {
        "name": "Commit-Queue",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Thu Sep 04 09:14:24 2025 -0700"
      },
      "message": "*: Install rust and cargo when running presubmit.sh\n\nUpdate the rustfmt version to match downstream.\nFormat existing code with `cargo fmt` to pass presubmit.\n\nBug: b/439013538\nChange-Id: Iabb97123b6929378e54c568bc37450d15fef73a1\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2781\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\nCommit-Queue: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "df787e914b53310d02ceae606b8b10dc7ef3e6ff",
      "tree": "1da77a4102a5485eeb61103894df25dceef394f5",
      "parents": [
        "796c94f6ed06c987874cb47dff0244907933e120"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed Sep 03 17:18:57 2025 +0000"
      },
      "committer": {
        "name": "Commit-Queue",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 03 15:03:45 2025 -0700"
      },
      "message": "*: Format code\n\nRun `cargo fmt` to format files\n\nChange-Id: If7515617a159ad2a3dbf16f49f577ea2f6d347c8\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2780\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\nReviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\nCommit-Queue: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "796c94f6ed06c987874cb47dff0244907933e120",
      "tree": "e1a844fc15e30e6c19c2b81ca346666cdd97661c",
      "parents": [
        "f2eb5ef54b30a8a274a528ed29afc1a654a3700e"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Mon Aug 25 21:17:47 2025 +0000"
      },
      "committer": {
        "name": "Commit-Queue",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 03 10:04:55 2025 -0700"
      },
      "message": "rust/bt-broadcast-assistant: Improve debug commands and internal APIs\n\nParse debug arguments using FromStr instead of requiring raw enum values.\nImprove internal types for clarity.\n\nChange-Id: I05b1380e59d544716cd0ec63cd64cdb8cce2c3da\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2640\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\nBluetooth-Auto-Submit: Dayeong Lee \u003cdayeonglee@google.com\u003e\nCommit-Queue: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "f2eb5ef54b30a8a274a528ed29afc1a654a3700e",
      "tree": "8736cc5b977a91865c2485d3521f8ea1286867ec",
      "parents": [
        "f2b23cd076aa05110baa3280f4000ddbb505d5b9"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Fri Mar 08 19:27:06 2024 -0500"
      },
      "committer": {
        "name": "Commit-Queue",
        "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Wed Sep 03 09:57:36 2025 -0700"
      },
      "message": "rust/bt-ascs: Initial implementaiton\n\nAudio Stream Control Service crate, including initial decoding of\ncontrol point operaitons and initially empty Events from the service.\n\nTest: added unit tests, cargo test\nChange-Id: I1945b5e306783a6b514d6da8ba5dda66fcf7b8f0\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/1722\nCommit-Queue: Marie Janssen \u003cjamuraa@google.com\u003e\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "f2b23cd076aa05110baa3280f4000ddbb505d5b9",
      "tree": "c840184b04657e7f8c183f9ca3b9d26d81429e61",
      "parents": [
        "a2977cabca72117ea2a627cf472e71d426c3e5e5"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Tue Sep 02 21:55:02 2025 -0400"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Tue Sep 02 23:00:46 2025 -0700"
      },
      "message": "rust/bt-pacs: Expose AudioContexts\n\nNew ServerBuilder needs the client to provide available\nand supported contexts to start.  Add them to the public API.\n\nTest: cargo build\nBug: b/309977153\nChange-Id: Ic23162506b80d78837b7ab9930f202c6ec8ee475\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2761\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "a2977cabca72117ea2a627cf472e71d426c3e5e5",
      "tree": "b088da02a295278adf11d4bbcef2a4864788ce2a",
      "parents": [
        "04609714c19c8b35b5bdf5444ee4ed497df5803b"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Tue Apr 09 18:05:40 2024 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Aug 29 18:14:43 2025 -0700"
      },
      "message": "rust/bt-pacs: Initial server implementation\n\nPublished Audio Service server implementation that can be initialized\nwith all the mandatory characteristics with mandatory properties. Read\nand write functionalities are implemented.\n\nChange-Id: I4d10298dd505f0dd543802a6b414f819229134e5\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2000\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\n"
    },
    {
      "commit": "04609714c19c8b35b5bdf5444ee4ed497df5803b",
      "tree": "cc0e8323e6789eee056fd8d2b608c75220d3961d",
      "parents": [
        "9fd2eac2fe85783f6786189e2a518c23327c2844"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Aug 29 17:06:05 2025 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Aug 29 14:27:59 2025 -0700"
      },
      "message": "*: Add presubmit script\n\nAdds a `presubmit.sh` script to the repository root to automate\nCI/CD checks. The script ensures code quality by running a series\nof checks in the `rust/` directory.\n\nUsing `set -eux`, the script is configured to exit immediately if\nany of the following steps fail:\n - Build the project with `cargo build`\n - Check code formatting with `cargo fmt -- --check`\n - Run the test suite with `cargo test`\n\nBug: b/439013538\nTest: Ran the script locally\nChange-Id: I0344c0e494bda49e0b09778f5cfdd0d3e4c01f26\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2700\nReviewed-by: Rob Mohr \u003cmohrr@google.com\u003e\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\n"
    },
    {
      "commit": "9fd2eac2fe85783f6786189e2a518c23327c2844",
      "tree": "98028016290d4ea80d45f18ee66e658bcb3c7305",
      "parents": [
        "f39760ae0d23a1fda6e5dc0c3498a2f30dcf5e90"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Aug 29 17:09:52 2025 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Aug 29 12:50:28 2025 -0700"
      },
      "message": "rust/bt-vcs: Fix formatting\n\nFix formatting of bt-vcs library using `cargo fmt`.\n\nChange-Id: If399678bbe72459b4045277bee0b9214069c97ff\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2720\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "f39760ae0d23a1fda6e5dc0c3498a2f30dcf5e90",
      "tree": "f500e628b3682d9521e9b764d90cd5d3b9586ab4",
      "parents": [
        "b46bea51d890af090a934a20237520035ad768f1"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Aug 28 15:22:05 2025 -0400"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Aug 28 12:51:49 2025 -0700"
      },
      "message": "rust: Bump versions\n\nChange-Id: Ied6a7432232f0b05a8519a200ff64255da86c27d\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2660\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "b46bea51d890af090a934a20237520035ad768f1",
      "tree": "3e47c09fec1f79f29338ff2910f044b9090485d1",
      "parents": [
        "24b9adcc8afae3f7abfd5ca02661e90719bd9e75"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Wed Nov 29 17:09:42 2023 -0500"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Aug 28 10:35:29 2025 -0700"
      },
      "message": "rust/bt-vcs: Add bt-vcs crate\n\nAdd types and client for Volume Control Service.\n\nBug: b/314698517\nTest: added tests, cargo test\n\nChange-Id: I8518dbd5e79d0226d952130976c5d1bcb69485d2\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/1481\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "24b9adcc8afae3f7abfd5ca02661e90719bd9e75",
      "tree": "acb4b7579a61c7ebb6ca92331d7dfed276444124",
      "parents": [
        "45baf7fb492e4e5ebf6885786051d3f8c0c7dd95"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Mon Aug 18 22:39:41 2025 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Tue Aug 19 11:27:13 2025 -0700"
      },
      "message": "rust: Update external dependencies\n\nUpdates several external dependencies in the workspace `Cargo.toml` to align\nwith versions used in Fuchsia.\n\n - num: 0.4.0 -\u003e 0.4.3 (adds \"rand\" feature)\n - lazy_static: 1.4 -\u003e 1.5\n - thiserror: 2.0.11 -\u003e 2.0.12\n\nChange-Id: Ifba81cf198414393c5c566e35a848b674126a3d0\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2620\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "45baf7fb492e4e5ebf6885786051d3f8c0c7dd95",
      "tree": "de9ac93b929e59e4d3b5ee6a35c92383d037fd5e",
      "parents": [
        "7d2e300588e2d6c609d33390a1d333fa512e13c6"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Aug 01 20:23:15 2025 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Aug 15 13:11:14 2025 -0700"
      },
      "message": "rust/bt-gatt: Add periodic advertising sync API\n\nAdds a new API to the `Central` trait for synchronizing to periodic\nadvertising trains. This is the Rust equivalent of the Periodic\nAdvertisement Scanning FIDL API.\n\n- Adds `sync_to_periodic_advertising` to the `Central` trait\n- Adds a `periodic_advertising` module with necessary types\n- Adds a `PeriodicAdvertisingTypes` trait for a clean API\n- Updates tests and fixes other crates affected by the changes\n\nBug: b/433283601\nTest: cargo build \u0026\u0026 cargo test\nChange-Id: I2c70c352a5f703b50f5036a2d6aa446bc6786380\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2500\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\n"
    },
    {
      "commit": "7d2e300588e2d6c609d33390a1d333fa512e13c6",
      "tree": "ae281e000d3c9fd40afc77255033321d8fd85649",
      "parents": [
        "183ecc082443d1ac8dad9fe64e784c2743382171"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Aug 15 03:16:13 2025 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Aug 15 10:27:26 2025 -0700"
      },
      "message": "rust/bt-broadcast-assistant: Fix build error\n\nCommit 183ecc082443d1ac8dad9fe64e784c2743382171 was rebased off of an\nolder version of the repo before\nea7e38d0a2aa3e2e0a43c3d02a86363e6eb0c9ff was merged into the tree. There\nwas a change in `add_broadcast_source` method parameters that was missed\nbecause of the untimely rebase.\nFix the build error for debug tool.\n\nBug: 425444321\nChange-Id: I532692e73d6b6076e2d39d0ddd4ab0d6d29ab331\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2560\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\n"
    },
    {
      "commit": "183ecc082443d1ac8dad9fe64e784c2743382171",
      "tree": "dca8ef87dce43bcdb9475fa47ffde686dcf82cc2",
      "parents": [
        "78c3f4a76f7e6bc43443c73acb6e49935e13c03d"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed Apr 03 00:08:05 2024 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Thu Aug 14 10:30:20 2025 -0700"
      },
      "message": "rust/bt-broadcast-assistant: Add support for command line tool\n\nImplement Debug and CommandRunner traits to support easier\nintegration with command line tools.\n\nChange-Id: I53510a9860fcf15d743fe5ac36623acb6534ad9e\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/1940\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\n"
    },
    {
      "commit": "78c3f4a76f7e6bc43443c73acb6e49935e13c03d",
      "tree": "b950f3912cbd8b1534c64553761fef18da6d6b2b",
      "parents": [
        "ea7e38d0a2aa3e2e0a43c3d02a86363e6eb0c9ff"
      ],
      "author": {
        "name": "Peter Johnston",
        "email": "peterjohnston@google.com",
        "time": "Wed Aug 13 15:32:26 2025 -0700"
      },
      "committer": {
        "name": "Peter Johnston",
        "email": "peterjohnston@google.com",
        "time": "Thu Aug 14 09:35:03 2025 -0700"
      },
      "message": "rust: Bump futures dependency\n\nUpdate futures to v0.3.31.\n\nChange-Id: I31cbfa50f0bf054caaa9efe9d1e0f6e9cdaebe6a\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2540\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\n"
    },
    {
      "commit": "ea7e38d0a2aa3e2e0a43c3d02a86363e6eb0c9ff",
      "tree": "9f1ea550545aeea1081254594143510a1c52f6ea",
      "parents": [
        "a350b874d0309d59a37e0e7f400cf80a41ca7703"
      ],
      "author": {
        "name": "Megan Batty",
        "email": "mgnb@google.com",
        "time": "Mon Jul 28 12:19:01 2025 -0600"
      },
      "committer": {
        "name": "Megan Batty",
        "email": "mgnb@google.com",
        "time": "Wed Aug 06 22:31:44 2025 -0700"
      },
      "message": "rust/bt-gatt: Add module for PII-sensitive ops\n\nAdds a trait for obtaining the bluetooth address of a peerid into\na new module for operations that involve privacy-sensitive\ninformation.\n\nAlso makes that trait an argument for the broadcast assistant\u0027s\n`add_broadcast_source` method, so that the address can be filled in.\n\nFixed: 416319216\nChange-Id: I81da037194a04536be2dc7dfdb98ce0bee100fbb\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2440\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\n"
    },
    {
      "commit": "a350b874d0309d59a37e0e7f400cf80a41ca7703",
      "tree": "0d6fd61d4a63b7873f86c00e4623cf31dce0a25b",
      "parents": [
        "c88c57d26787871904541c1beb7881f6e4b18b66"
      ],
      "author": {
        "name": "Megan Batty",
        "email": "mgnb@google.com",
        "time": "Mon May 05 11:44:40 2025 -0600"
      },
      "committer": {
        "name": "Megan Batty",
        "email": "mgnb@google.com",
        "time": "Mon May 05 12:45:27 2025 -0700"
      },
      "message": "rust/*: Fix warnings and errors\n\nThere were a couple of warnings about unused variables in `bt-battery`\nand errors in `bt-common`.\n\nTest: cargo build, cargo test\nChange-Id: I768d6418945bd0019197865772fe80e0d2aa95cf\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2360\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "c88c57d26787871904541c1beb7881f6e4b18b66",
      "tree": "b907ec69136dfdf43f512365132a6cd979ca491b",
      "parents": [
        "471d75d6e081387349cdc7d4da86e1ceefe8d017"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed Apr 02 14:12:00 2025 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Thu Apr 03 05:48:35 2025 -0700"
      },
      "message": "*: Update top-level readme\n\nFix typo in README file name.\n\nChange-Id: If6eeeef8b1feed1eb3d359f84adb2d043ddd9088\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2300\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "471d75d6e081387349cdc7d4da86e1ceefe8d017",
      "tree": "b5b2d306e3a4ffc3fd00553a6bfd629b70079fa0",
      "parents": [
        "197da3375982184e8c433d1db5eda1ec3f2a0ab4"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Mar 20 16:32:25 2025 -0400"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Mar 20 13:52:29 2025 -0700"
      },
      "message": "rust: Bump crate dependencies\n\nMatch versions that are in third_party in Fuchsia for now.\nUpdate to using log instead of tracing.\n\nTest: build changes only, cargo build\nChange-Id: Idac95d76a379ca994c5f495ba6beaf0ee2def825\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2280\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "197da3375982184e8c433d1db5eda1ec3f2a0ab4",
      "tree": "4e8fcdc9e725bda7d1e1dd94e03d98c6edf6bd38",
      "parents": [
        "f96d0499968de180511a4531693687825d9b157a"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Sun Sep 08 19:32:40 2024 -0400"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Mon Sep 09 15:51:20 2024 +0000"
      },
      "message": "rust: Link LICENSE files\n\nSome rust tools do LICENSE searches in crate roots\ninstead of containing directories, and other tools will\nput workspaced crates into their own directories.\n\nLink the LICENSE to the correct file at every crate root for clarity.\n\nTest: docs only\nChange-Id: I90d9caa3a487aba3654f68d8f8f7c85e7e77e759\nReviewed-on: https://bluetooth-review.googlesource.com/c/bluetooth/+/2140\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "f96d0499968de180511a4531693687825d9b157a",
      "tree": "96ad61239463bfeeabf1346df70fed314e7e6d41",
      "parents": [
        "34b54784ca41db1882cd65a82b3617c900a12d4a"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Jul 18 13:11:25 2024 -0400"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Jul 18 18:24:36 2024 +0000"
      },
      "message": "*: Update top-level readme\n\nAdded links to full stacks published by Google.\nUpdated formatting slightly.\nAdded note about docs/ dir\n\nChange-Id: Iaf62827a2d31f8b57321dec41ef81d4f56af79e0\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/2100\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "34b54784ca41db1882cd65a82b3617c900a12d4a",
      "tree": "2e3607c10ef7c584fb534c3154a19d31391bf3b3",
      "parents": [
        "71e3e674d24b9f8f837154cf9e620306f478e1c3"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Wed May 01 13:23:43 2024 -0400"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Wed May 01 18:27:36 2024 +0000"
      },
      "message": "rust: Add README\n\nProvides an overview of the types of crates and which ones are currently\navailable, as well as some general notes about user data.\n\nTest: documentation only\nChange-Id: Id329e77ec7fae05de8a5679057b9c197b6d26a3e\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/2040\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "71e3e674d24b9f8f837154cf9e620306f478e1c3",
      "tree": "2ec8f31c6c373b124facf91639820e2a5aa9d3b2",
      "parents": [
        "9ec018be02aa436fccbf2105462432f226ffec48"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Thu Apr 18 21:13:59 2024 +0000"
      },
      "committer": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Wed Apr 24 23:05:22 2024 +0000"
      },
      "message": "rust/bt-battery: Subscribe to Battery Level characteristic notifications\n\n- The battery level characteristic is a mandatory characteristic\n  published by the battery service. Support for notifications on\n  this characteristic are optional but commonly provided as it is\n  the main mechanism for receiving \"push\" style updates of the\n  battery level.\n- Subscribe to notifications on the battery level characteristic and\n  provide updates as a stream of battery events.\n\nTest: cargo test\n\nChange-Id: Ic0caa8d8a3ae7425af829f157237a84d69a2f436\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1700\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "9ec018be02aa436fccbf2105462432f226ffec48",
      "tree": "84d8c3eb00252e073f5b0e4fc070363863d3a982",
      "parents": [
        "aacbd8b1c8cac83c756f018003e6bd6791b43666"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Wed Feb 14 23:33:40 2024 +0000"
      },
      "committer": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Mon Apr 22 22:32:55 2024 +0000"
      },
      "message": "rust/bt-battery: Initial commit of the battery client\n\n- Define a `BatteryMonitor` which can be used to scan for compatible LE\npeers that support the BT Battery Service (BAS).\n- Provide a mechanism for connecting to a compatible peer.\n- Read and save the current battery level once a GATT connection is made.\n- Add test utilities for setting up a mock peer battery service.\n\nTest: cargo test\n\nChange-Id: I643af01012c0487e11b5fa09afd49b96616f045c\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1660\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "aacbd8b1c8cac83c756f018003e6bd6791b43666",
      "tree": "7090012bfebbf2335e5bfdf6812fb256bb512389",
      "parents": [
        "f493fc2c8fe988bdc9d07ae45ffe126959a06c17"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Thu Apr 04 21:35:09 2024 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Apr 05 22:24:28 2024 +0000"
      },
      "message": "rust/bt-common: Add LtvValue::encode_all\n\nEncodes multiple LtvValue items.\n\nChange-Id: If675fa08fc2ac3a0e131e2faf13c6c062bf5c59e\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1980\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "f493fc2c8fe988bdc9d07ae45ffe126959a06c17",
      "tree": "fae91365147b7347150ebdec0c16392614ca15cb",
      "parents": [
        "43a6344f869a17483f334ed06f792191c03db6dc"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Fri Mar 08 19:25:05 2024 -0500"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Apr 05 22:24:28 2024 +0000"
      },
      "message": "rust/bt-common: Add Decodable::decode_multiple\n\nDecodes multiple decodable items that are concurrently included in a\nbuffer.\n\nChange-Id: I29cb6f1ef7ba885e5733d5c231061c66103ea047\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1721\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "43a6344f869a17483f334ed06f792191c03db6dc",
      "tree": "c3e27282d648efa3938ac219172aad99bbfc91bc",
      "parents": [
        "79fa91336fcf59b34bf6fede0bd38ad1e46cc869"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Fri Mar 08 19:21:55 2024 -0500"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Apr 05 22:24:28 2024 +0000"
      },
      "message": "rust/bt-common: Type for Ltv decode Errors\n\nAdd core::ltv::Error which is used for decoding types that\nimplement Ltv.\n\nThis new error type produces better error text as well as exposing the\ntype of the items that had problems decoding, which is needed for some\nupcoming ASCS responses.\n\nTest: updated unit tests; cargo test\nChange-Id: Ibe4efae2ae0d1ecffea5a5e6a5fec1b364fd1f8a\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1720\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "79fa91336fcf59b34bf6fede0bd38ad1e46cc869",
      "tree": "57e6e3b24124bfca2b9fcda38d7e8bfc0395ce35",
      "parents": [
        "2832e40839d5cb20ca429eb7b8118579b78e692c"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Mon Nov 27 18:23:31 2023 -0500"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Fri Apr 05 22:20:15 2024 +0000"
      },
      "message": "rust/bt-common: Add interactive debug traits\n\nDefine two debug traits:\n - CommandSet trait allows a set of commands to be provided\n - CommandRunner provides a way to run those commands\n\nIntended to be used for interactive debugging and testing.\nAdd commands for bt-pacs.\n\nAdd FromCharacteristic::try_read, attempting to read and decode data from a\ncharacteristic if it matches the UUID of the type.\n\nBug: fxbug.dev/308483257\n\nChange-Id: I56062f0604a05b94c8579f17b07991cf9b452c08\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1460\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "2832e40839d5cb20ca429eb7b8118579b78e692c",
      "tree": "735bb4e71706bf01b6cf4cce2e3b2164923ae9c1",
      "parents": [
        "1302a339da6174de82bf1d5399a80e9b941f22ce"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed Apr 03 19:00:57 2024 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed Apr 03 22:22:03 2024 +0000"
      },
      "message": "rust/bt-gatt: Fix test\n\nFix test by properly converting single CharacteristicProperty to\nCharacteristicProperties struct.\n\nChange-Id: Id5363ddda379b7e8e8fef74951be4a7284c91925\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1960\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\n"
    },
    {
      "commit": "1302a339da6174de82bf1d5399a80e9b941f22ce",
      "tree": "089f68fd3389380cfecc04d4a94e65621c89d963",
      "parents": [
        "1faae871e2f0d90ee2154d367943c10ca0bb0843"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Feb 08 19:01:36 2024 +0000"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Mon Apr 01 19:04:12 2024 +0000"
      },
      "message": "rust/bt-gatt: Add server interface\n\nAdd API to define services and then:\n - publish them\n - receive connections from peers\n - answer read requests\n - receive write requests\n - send notifications\n\nTest: added fakes and unit tests\nTest: cargo test\nChange-Id: I4b4dcd22750e8dc83ffae357a22cde838df5ba04\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1602\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "1faae871e2f0d90ee2154d367943c10ca0bb0843",
      "tree": "7446ee786dea13529117743ce53d6045ce56f1e6",
      "parents": [
        "1dea1469f5bb73112d8c036b87699e899b5cb7c1"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Sun Mar 17 00:01:55 2024 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Tue Mar 19 15:38:56 2024 +0000"
      },
      "message": "rust/bt-broadcast-assistant: Fix EventStream\n\nMake EventStream have a type parameter that implements\nbt_gatt::GattTypes so that we can be more flexible with the trait bounds\nof GattTypes associated types when we implement and use the on\nplatform-side.\n\nChange-Id: I6a95c05f3471f5d3be9860f56944f5affb72aecc\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1800\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\n"
    },
    {
      "commit": "1dea1469f5bb73112d8c036b87699e899b5cb7c1",
      "tree": "0a2bd3008fa99976ae954cc6e45901357ab5f753",
      "parents": [
        "dfc4eb18752acc4b3c94638704da885e7a7cdf07"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed Dec 06 23:16:28 2023 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed Mar 13 20:52:16 2024 +0000"
      },
      "message": "rust/bt-bap: Define common data types in Basic Audio Profile\n\nDefine common data types that are used and referenced in various\nservices of Basic Audio Profiles for consistency.\n\nChange-Id: Iaeb56f1dbfc937aec6db6f038a1d8f3e0ce0947a\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1560\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "dfc4eb18752acc4b3c94638704da885e7a7cdf07",
      "tree": "ac52a3d63d3709d5494d2e96546f398dabfbed6d",
      "parents": [
        "64419adbcd23355537fdef5a4f34391569d87f5b"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Thu Dec 14 08:06:48 2023 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed Mar 13 20:51:28 2024 +0000"
      },
      "message": "rust/bt-broadcast-assistant: Initial implementation\n\nFunctionalities are:\n - continuously scan and collate information about broadcast sources\n - connect to peers and add/update/remove sources\n\nChange-Id: I0628dd8035bfb6d3c569e16e438b9d221959762b\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1580\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "64419adbcd23355537fdef5a4f34391569d87f5b",
      "tree": "33e7782dc5f7bc65818978434e994d455965bc7e",
      "parents": [
        "04180bd3aa2e553b086d7b28659d7fac99453223"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Fri Feb 16 16:31:23 2024 -0500"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Tue Mar 05 17:45:25 2024 +0000"
      },
      "message": "rust/bt-gatt: Update Error semantics\n\nAdd From\u003c\u0026str\u003e for convenience\nMark as #[non_exhaustive] to minimize API churn\n\nChange-Id: Ife99fb490e5099d36a228fac440b1c6a4add67bd\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1681\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "04180bd3aa2e553b086d7b28659d7fac99453223",
      "tree": "fd4e33e25e1af2710d3899d75a331225efc2be68",
      "parents": [
        "c1ed2405452954935c7b5d644680961c3aaca583"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Tue Nov 14 22:39:12 2023 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Mon Feb 26 19:20:27 2024 +0000"
      },
      "message": "rust/bt-{bass, common}: Implement all operations\n\nDefine types for representing a broadcast source. This makes it easier\nto collect information about a broadcast source when broadcast assistant\nis processing LE central scan results.\nImplement all operations available with the Broadcast Audio Scan Service\nclient:\n - adding/modifying/deleting broadcast sources\n - marking scanning as started/stopped\n\nBug: b/308483171\nChange-Id: I9f3a045e84efaa540c38e6f4753ece2c9c3796ae\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1322\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\n"
    },
    {
      "commit": "c1ed2405452954935c7b5d644680961c3aaca583",
      "tree": "fc7f279233f4952a410f1a18b382babdfe5ff7bd",
      "parents": [
        "16f708316543caef0b6bf61bdab199500cbbd936"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Tue Feb 13 11:56:55 2024 -0500"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Mon Feb 26 12:52:57 2024 +0000"
      },
      "message": "rust: Update deps to match fuchsia\n\nFor easier integraton with fuchsia.git, use it as the lowest acceptable\nversion.\n\nTest: update fuchsia implementaion crate\nChange-Id: Ia3a84d1d9e7de37de09052f28555d2471fa0d174\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1620\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "16f708316543caef0b6bf61bdab199500cbbd936",
      "tree": "3953e8809d12e2d8ab47d8ead671cd249ca476e6",
      "parents": [
        "c499045cec01588d49557458ac5c8b779994c3e7"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Fri Feb 16 16:41:58 2024 -0500"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Wed Feb 21 17:21:10 2024 +0000"
      },
      "message": "*: Move LICENSE, etc to root\n\nChange-Id: I41707806b64b4e2cad73fd5189ea7740c03a7d03\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1680\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "c499045cec01588d49557458ac5c8b779994c3e7",
      "tree": "20ceb0471128180fcae9086511cd544a2791498e",
      "parents": [
        "cc9b309a427aef430ada60979b92de337b59c528"
      ],
      "author": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Wed Feb 14 22:18:06 2024 +0000"
      },
      "committer": {
        "name": "Ani Ramakrishnan",
        "email": "aniramakri@google.com",
        "time": "Wed Feb 21 17:13:55 2024 +0000"
      },
      "message": "docs: Add aniramakri@ to OWNERS\n\nChange-Id: I8b540f760f9ce6a23735221088a6daf50c74c40c\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1640\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\n"
    },
    {
      "commit": "cc9b309a427aef430ada60979b92de337b59c528",
      "tree": "791233a917b5ab1239d279e8f7f58b51741bab2e",
      "parents": [
        "2a19b1243402bdb30af138902fdbf3953c054e2d"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Feb 08 18:40:04 2024 +0000"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Tue Feb 13 15:44:57 2024 +0000"
      },
      "message": "docs: Add docs/commit_messages.md\n\nInitially transcribed loosely with changes from pigweed\n\nChange-Id: I0ae35c1780c59354649c5dfebc492403f1b9bbac\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1601\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "2a19b1243402bdb30af138902fdbf3953c054e2d",
      "tree": "fd7db756a35d84b9ddf18a1004e39d570d38b498",
      "parents": [
        "261e5c902e299d9878e146fdf3a8ded3c495e0b8"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Thu Feb 08 17:09:54 2024 +0000"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Tue Feb 13 15:25:38 2024 +0000"
      },
      "message": "*: Update authors, add CONTRIBUTING.md\n\nUpdate all (c) lines to match correctly.\n\nChange-Id: Ie92e520a2bd815af43b32c4ef7027d196bbfd280\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1600\nReviewed-by: Ani Ramakrishnan \u003caniramakri@google.com\u003e\n"
    },
    {
      "commit": "261e5c902e299d9878e146fdf3a8ded3c495e0b8",
      "tree": "93c039aa501b67b6c8aab6912bd7874aad945254",
      "parents": [
        "74807d995ed65364a96d05c987b24463d0c1e0ee"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Wed Nov 29 14:24:14 2023 -0500"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Fri Feb 02 21:45:35 2024 +0000"
      },
      "message": "[rust][bt-pacs] Parse Metadata\n\nBug: b/308483293\nChange-Id: I4529ae241c2203e37dc7fd5baa3237cb12e9a0e4\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1480\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "74807d995ed65364a96d05c987b24463d0c1e0ee",
      "tree": "18e032087b5368acba6add84ea143536dd4d955d",
      "parents": [
        "9bb3767e80341d7b2754a1d21700bc819e5e801a"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Tue Nov 28 15:22:14 2023 -0500"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Sun Dec 03 08:15:49 2023 +0000"
      },
      "message": "[rust] Migrate to using workspace\n\nUse `cargo build` and `cargo test` at the root dir to test all of the\nrust packages in the membership.  Prefer workspace dependencies over\nsingle-package dependencies.\n\nConsolidate all LICENSE and PATENTS as they apply to all crates in this\ndir.\n\nTest: cargo build \u0026\u0026 cargo test in rust/\nChange-Id: I62e42c0bbd71c0a41db33c98be9bd2ea3530e5ca\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1461\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "9bb3767e80341d7b2754a1d21700bc819e5e801a",
      "tree": "8538e02460657d89cd272f48df6e0a4206a7a667",
      "parents": [
        "b2fb421c5d7a5ac3cf8a7644d4a01eb5b02d705e"
      ],
      "author": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Wed Nov 22 13:05:37 2023 -0500"
      },
      "committer": {
        "name": "Marie Janssen",
        "email": "jamuraa@google.com",
        "time": "Sun Dec 03 08:15:27 2023 +0000"
      },
      "message": "[bt-bass][bt-common] Update Metadata for LtValue\n\nUpdate usage in BASS library as well.\n\nExpand possible ratings to match the actual values allowed\nand add tests.\n\nTest: updated tests, cargo test in bt-bass and bt-common\nChange-Id: Ib4737b37ea4d66dda8000bad2dd85b0008984879\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1420\nReviewed-by: Dayeong Lee \u003cdayeonglee@google.com\u003e\n"
    },
    {
      "commit": "b2fb421c5d7a5ac3cf8a7644d4a01eb5b02d705e",
      "tree": "ce9a3bfaa90a56b1ce0a7ba6cb57113e542f86ab",
      "parents": [
        "1f8ee18817fda34dc201256f6881005158a4caec"
      ],
      "author": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Mon Nov 06 19:31:25 2023 +0000"
      },
      "committer": {
        "name": "Dayeong Lee",
        "email": "dayeonglee@google.com",
        "time": "Wed Nov 29 22:44:13 2023 +0000"
      },
      "message": "[rust][le][bass] BASS client can send events based on GATT notifications\n\nWhen BASS client writes Broadcast Audio Scan Control Point\ncharacteristic to remote BASS server using GATT write, BASS server\nnotifies the client of its internal changes by sending GATT notification\nof Broadcast Receive State characteristic value changes. Based on the\nvalue change, we should notify the upper layer of the sync state and\nencryption status of the broadcast source.\n\nBug: b/308483171\nChange-Id: I13f8712e7e92744879069761a97a28698f760a1e\nReviewed-on: https://bluetooth-review.git.corp.google.com/c/bluetooth/+/1220\nReviewed-by: Marie Janssen \u003cjamuraa@google.com\u003e\n"
    }
  ],
  "next": "1f8ee18817fda34dc201256f6881005158a4caec"
}
