)]}'
{
  "log": [
    {
      "commit": "729f96089cf66831d911385623ca932e0c245913",
      "tree": "30fada87e1eefb592b39138890f9cf0936d65b79",
      "parents": [
        "322c39a643232643ccd514a8f8dfc9683e3e3f1b"
      ],
      "author": {
        "name": "Bastien Nocera",
        "email": "hadess@hadess.net",
        "time": "Mon Jul 27 11:19:42 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 27 16:58:15 2026 -0400"
      },
      "message": "github: Disable stale bot for triaged bugs\n\nWhen the \"bug\" label is set on an issue, don\u0027t reap it with the stale\nbot, as we\u0027ve triaged the problem and seen a bug.\n"
    },
    {
      "commit": "322c39a643232643ccd514a8f8dfc9683e3e3f1b",
      "tree": "5c1c7e058dccd9022101443228ed499a589d09d5",
      "parents": [
        "89d477bb5494eef0b24e5667be62f854da250a97"
      ],
      "author": {
        "name": "Yang Li",
        "email": "yang.li@amlogic.com",
        "time": "Mon Jul 27 10:10:18 2026 +0800"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 27 16:57:29 2026 -0400"
      },
      "message": "bap: Start BIG sync after receiving BIGInfo\n\nThe current implementation starts BIG sync before receiving a BIGInfo\nreport. According to the Bluetooth Core Specification, BIG sync should\nonly be initiated after BIGInfo has been received.\n\nStarting BIG sync too early may cause unexpected controller behavior.\n\nTrigger BIG sync from the BIGInfo callback, following the same approach\nused by the short PA flow.\n\nFixes: https://github.com/bluez/bluez/issues/2345\n"
    },
    {
      "commit": "89d477bb5494eef0b24e5667be62f854da250a97",
      "tree": "d70104b5048fc65fb1f29911755c5fcf272ae6e4",
      "parents": [
        "1fd9b7de3be4b40186672177c1fbe25bf522012d"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Fri Jul 17 19:05:03 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jul 22 11:48:55 2026 -0400"
      },
      "message": "doc: Document create_context in bluetoothctl-cs.rst\n\nDocument the new create_context parameter introduced in client/cs.c.\n"
    },
    {
      "commit": "1fd9b7de3be4b40186672177c1fbe25bf522012d",
      "tree": "68081cb82b29e13223e6c753f92070cde8b8a985",
      "parents": [
        "442008ec267b6fb1e7841d66ada12428e7f832ec"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Fri Jul 17 19:05:02 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jul 22 11:48:54 2026 -0400"
      },
      "message": "client: Add create_context CS config parameter\n\n- Add the create_context field to the CS config parameter table so\nbluetoothctl can control whether cs.start writes the CS configuration\nto the local Controller only (0x00) or to both local and remote\nControllers via the CS Configuration procedure (0x01), matching the\nCreate_Context field of the LE CS Create Config HCI command\n- Change the license in cs.c and cs.h.\n- Drop RangingInterface support for now,\nas it is still under discussion.\n"
    },
    {
      "commit": "442008ec267b6fb1e7841d66ada12428e7f832ec",
      "tree": "19b21d3b9028c34ee9898362054a4eda5ba73f51",
      "parents": [
        "679b38459c0ff21728a575ab8629189aa18151b7"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Fri Jul 17 19:05:01 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jul 22 11:48:54 2026 -0400"
      },
      "message": "profiles: Add create_context param as part of CS Create Config cmd\n\n- Add the create_context field to the CS Create Config command.\n- Route HCI command-send failures and non-zero-status completion\nevents to CS_STATE_HOLD instead of CS_STATE_STOPPED.\nreserving CS_STATE_STOPPED for the clean/expected\nstop (Procedure Enable Complete with state \u003d\u003d 0x00)\n"
    },
    {
      "commit": "679b38459c0ff21728a575ab8629189aa18151b7",
      "tree": "ce634f708b33145ab5a942a3e1f6a14a72816d42",
      "parents": [
        "f3f03d728542f76599385cf82348ba4f87264dcc"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Fri Jul 17 19:05:00 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jul 22 11:48:53 2026 -0400"
      },
      "message": "shared: Add create_context CS config parameter\n\nAdd create_context in bt_rap_le_cs_config structure\n"
    },
    {
      "commit": "f3f03d728542f76599385cf82348ba4f87264dcc",
      "tree": "8012fd18fd4619cd6debe855365f5d74af67de8a",
      "parents": [
        "9965f36c6318e3a6f9879f5b0d842791a290e3ee"
      ],
      "author": {
        "name": "Chengyi Zhao",
        "email": "zhaochengyi@uniontech.com",
        "time": "Thu Jul 16 18:55:03 2026 +0800"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 20 15:29:23 2026 -0400"
      },
      "message": "policy: Connect profiles for bonded inbound ACL connections\n\nWhen a bonded device initiates an inbound ACL connection (e.g. after\nresume, the remote wins the page race), BlueZ accepts the ACL link\nbut does not establish AVDTP/AVCTP profiles. The remote\u0027s subsequent\nL2CAP connect for PSM 25 fails with \"security block\" because the link\nis not yet encrypted, and the kernel does not retry. The ACL link\nstays up with no audio.\n\nAdd btd_connect_cb callback infrastructure to the adapter core\nmirroring the existing btd_disconnect_cb pattern, invoked from\nconnected_callback so it only fires on new MGMT_EV_DEVICE_CONNECTED\nevents. Register a callback in the policy plugin that starts a\n2-second grace timer for bonded BR/EDR connections. If an audio\nprofile connects naturally within the window the timer is cancelled;\notherwise btd_device_connect_services is called as a fallback, but\nonly if no audio profile is connected yet. The grace timer is also\ncancelled on disconnect to avoid racing with device removal.\n\nOutbound L2CAP is queued by the kernel until encryption completes,\nsurviving the race. The fallback is safe when the host already won\nsince btd_device_connect_services returns -EBUSY if a connection is\nalready in progress.\n"
    },
    {
      "commit": "9965f36c6318e3a6f9879f5b0d842791a290e3ee",
      "tree": "ff4bc64950d460222095a5d2c4cb32c02a540a25",
      "parents": [
        "004e1b5d245e2c3497780ab60b728cd0a9c14cf7"
      ],
      "author": {
        "name": "Philipp Dunkel",
        "email": "pip@pipobscure.com",
        "time": "Fri Jul 17 10:23:47 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 20 15:29:23 2026 -0400"
      },
      "message": "adapter: Infer BR/EDR only at public LE addresses\n\nbtd_adapter_device_found() records BR/EDR support for any LE device\nwhose advertising Flags lack \"BR/EDR Not Supported\" (EIR_BREDR_UNSUP).\nThe address type is not considered:\n\n    if (bdaddr_type !\u003d BDADDR_BREDR \u0026\u0026 eir_data.flags \u0026\u0026\n                    !(eir_data.flags \u0026 EIR_BREDR_UNSUP)) {\n            device_set_bredr_support(dev);\n\nWhen the advertisement uses a random address the device gets a BR/EDR\nbearer whose address is that random address, and start_discovery_cb()\nthen prefers SDP over GATT:\n\n    if (device-\u003ebredr)\n            device_browse_sdp(device, NULL);\n    else\n            device_browse_gatt(device, NULL);\n\nSDP requires a BR/EDR ACL, so bluetoothd pages the random address. A\nrandom address is not a BD_ADDR and cannot be paged, so the attempt\nalways ends in Page Timeout, and the failure tears down the working LE\nlink:\n\n  connect_failed_callback() hci0 5A:B4:98:1F:CC:04 status 4\n  bonding_attempt_complete() hci0 bdaddr 5A:B4:98:1F:CC:04\n      type 0 status 0x4\n  device_bonding_complete() bonding (nil) status 0x04\n  browse_request_cancel()\n  btd_gatt_database_att_disconnected()\n\nNothing requested the connection (\"bonding (nil)\") and the LE link was\nhealthy. Any LE association that outlives the page timeout is killed by\nit; measured on one host, applications get about 4.7 s from connect\nbefore the link disappears, of which GATT discovery already takes 2.3 s.\n\nCurrent phones advertise Flags 0x1a (LE General Discoverable plus\nSimultaneous LE and BR/EDR, with BR/EDR Not Supported clear) from\nresolvable private addresses, so this triggers routinely rather than in\nsome corner case.\n\nThe Flags bits describe what the device supports. They do not promise\nthat the address it is advertising from is a BD_ADDR. A dual-mode device\nuses the same Public Device Address for BR/EDR and LE, so the inference\nis sound only for BDADDR_LE_PUBLIC. Restrict it to that.\n\nThe other two device_set_bredr_support() callers already require the\ndevice to have been seen over BR/EDR (bdaddr_type \u003d\u003d BDADDR_BREDR), so\nthey are unaffected. A device later seen over BR/EDR, or whose RPA is\nresolved to a public identity, still gets BR/EDR support recorded there.\n"
    },
    {
      "commit": "004e1b5d245e2c3497780ab60b728cd0a9c14cf7",
      "tree": "fbd74de114265c4159d8be82cddd6bef151307c9",
      "parents": [
        "e004414a1751d29216ccab976d6c7174ec48d11c"
      ],
      "author": {
        "name": "Pauli Virtanen",
        "email": "pav@iki.fi",
        "time": "Mon Jul 20 17:09:01 2026 +0300"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 20 15:29:23 2026 -0400"
      },
      "message": "test-runner: use virtio for the default kernel console\n\nSerial as console is slow when commands produce large amounts of output,\ne.g. for the -d debug option of the testers.\n\nUse virtio console\u003dhvc0 as the console, requiring\nCONFIG_VIRTIO_CONSOLE\u003dy which is already in tester config.\n\nFor capturing the early boot messages, retain the qemu serial, kernel\nwill switch to hvc0 during boot when the HVC driver initializes.\n\nFor: time tools/test-runner -k ../../linux -- tools/sco-tester -d\nBefore: real 0m32,094s, After: real 0m8,967s\n"
    },
    {
      "commit": "e004414a1751d29216ccab976d6c7174ec48d11c",
      "tree": "78acb1ba6b423343c2db67784a01409d9e4f0edd",
      "parents": [
        "efd216fe280ba5dd38d1b6084f64784bf1328731"
      ],
      "author": {
        "name": "Xiuzhuo Shang",
        "email": "xiuzhuo.shang@oss.qualcomm.com",
        "time": "Wed Jul 15 17:19:36 2026 +0800"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 20 15:29:14 2026 -0400"
      },
      "message": "adapter: restrict delta\u003d0 RSSI to proximity filters\n\nWhen a discovery filter is active (filtered_discovery\u003dtrue), BlueZ\nunconditionally calls device_set_rssi_with_delta(..., delta\u003d0),\ncausing every BLE advertisement to emit a PropertiesChanged(RSSI)\nsignal regardless of whether the RSSI value changed.\n\ndelta\u003d0 is only needed when a client has expressed explicit proximity\ninterest by setting an RSSI or pathloss threshold in its discovery\nfilter. Filters that specify only transport type or UUIDs do not\nrequire per-packet RSSI precision; for those, the standard\nRSSI_THRESHOLD\u003d8 rate-limiting is both correct and desirable.\n\nThe problem is triggered on dual-mode adapters by a transport-only\nfilter (e.g. Transport\u003dle). In merge_discovery_filters(), the\ntransport-specific scan type (SCAN_TYPE_LE\u003d6) does not equal the\nadapter scan type (SCAN_TYPE_DUAL\u003d7), so has_filtered_discovery is\nset, filtered_discovery becomes true, and delta\u003d0 is applied even\nthough no proximity condition was requested. With hundreds of BLE\ndevices advertising simultaneously this generates hundreds of\nunnecessary PropertiesChanged(RSSI) signals per second.\n\nConfirmed on QCS6490 (BlueZ 5.72) with Transport\u003dle filter:\n\n  adapter.c: filtered_discovery\u003d1 (current_discovery_filter\u003dset)\n  device.c:  device_set_rssi_with_delta() rssi\u003d-86 delta_threshold\u003d0\n  device.c:  device_set_rssi_with_delta() rssi\u003d-79 delta_threshold\u003d0\n\nAdd discovery_filter_has_proximity() which walks discovery_list and\nreturns true only when at least one active filter carries a real\nproximity condition (rssi !\u003d DISTANCE_VAL_INVALID or pathloss !\u003d\nDISTANCE_VAL_INVALID). Use this to gate the delta\u003d0 path.\n\nOther filter fields (transport, uuids, duplicate, discoverable)\nexpress capability or content criteria and carry no proximity\nimplication, so they are intentionally excluded from the check.\n"
    },
    {
      "commit": "efd216fe280ba5dd38d1b6084f64784bf1328731",
      "tree": "c4b3ca377f3e670bb828851d51ebc0c2d5285265",
      "parents": [
        "79d1a58208e8a23b3df0003d9452195e0b4105c3"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Thu Jul 16 12:18:42 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Thu Jul 16 12:12:52 2026 -0400"
      },
      "message": "client: Add scripts to start cs Initiator/reflector\n\nThis adds sample bluetoothctl scripts for cs initiator/\nreflector.\n\ncs-initiator.bt sets up and runs a CS measurement as an Initiator\ncs-reflector.bt sets up the device to respond as a Reflector\n"
    },
    {
      "commit": "79d1a58208e8a23b3df0003d9452195e0b4105c3",
      "tree": "d1fc454e16aa26592111b6ec33e192d10afb4bf1",
      "parents": [
        "66d986081360dbd9531432fc378affe9df5912e0"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Sun Jul 12 17:47:43 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Thu Jul 16 12:12:43 2026 -0400"
      },
      "message": "client: Add Channel Sounding shell submenu\n\nAdd a cs bt_shell submenu for controlling\norg.bluez.ChannelSounding1, supporting measurement start/stop,\ndefault-setting configuration, and session status display.\nMaintain reusable validated CS parameters and\ntrack active sessions via D-Bus Active state,\nreplies, and disconnects.\nIntegrate with client/main.c to manage per-adapter\nChannelSounding proxies, device resolution,\nproperty updates, and session cleanup.\n"
    },
    {
      "commit": "66d986081360dbd9531432fc378affe9df5912e0",
      "tree": "85e5996e71fe519fe935faaf8b48db0d68d812eb",
      "parents": [
        "befde3661e03049f2c84288a658433ba1559b357"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Sun Jul 12 17:47:42 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Thu Jul 16 12:12:41 2026 -0400"
      },
      "message": "profiles: Add D-Bus Channel Sounding control APIs\n\nExpose org.bluez.ChannelSounding1 on the device path,\nadding SetDefaultSettings, StartMeasurement, and StopMeasurement methods\nand an Active property to let external clients configure and\ncontrol CS ranging sessions.\n\nReplace hardcoded CS configuration values with configurable HCI accessors\n(bt_rap_{get,set}_cs_config_params, bt_rap_{get,set}_cs_freq_params,\nbt_rap_{get,set}_default_settings_params).\nAdd measurement control APIs (bt_rap_start_measurement,\nbt_rap_stop_measurement) with optional timeout-based auto-stop\nand callbacks for timeout and procedure-state changes,\nallowing DBus Active state to reflect actual controller procedure status.\n"
    },
    {
      "commit": "befde3661e03049f2c84288a658433ba1559b357",
      "tree": "afce5a1e7f939683d2859bd153b0991dfa343d6d",
      "parents": [
        "ae5d5a1e30323b6e73fd529c3c63f9f68fc07000"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Sun Jul 12 17:47:40 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Thu Jul 16 11:14:30 2026 -0400"
      },
      "message": "rap: Add Channel Sounding parameter types and APIs\n\nAdd shared Channel Sounding parameter structures\n(bt_rap_le_cs_config, bt_rap_le_cs_frequency and\nbt_rap_le_cs_default_settings) for exchanging\nCS configuration, frequency, and default settings\nbetween the RAP DBus layer and HCI state machine.\n\nAdd getter/setter APIs for CS config, frequency\nand default settings, add measurement.\n"
    },
    {
      "commit": "ae5d5a1e30323b6e73fd529c3c63f9f68fc07000",
      "tree": "5950b579e0cbde8cb79547dece7dbf2408cf50c2",
      "parents": [
        "30db66dc971bd1cd95d4a7b0eea296367ab65b3b"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jul 15 13:05:58 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jul 15 13:05:58 2026 -0400"
      },
      "message": "monitor: Fix build error\n\nThis fixes the following error:\n\n   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,\n      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n   37 |       __bos (__s), __fmt, __va_arg_pack ());\n      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
    },
    {
      "commit": "30db66dc971bd1cd95d4a7b0eea296367ab65b3b",
      "tree": "869f96ad27e49ff795261de399a0905d792a499a",
      "parents": [
        "b0abe23f58f1ecc44d9d0b6b328be72d2d2113b8"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Wed Jul 15 14:09:57 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jul 15 12:50:53 2026 -0400"
      },
      "message": "doc/bluetoothctl-cs: Add :Uses: fields and document arguments\n\nAdd :Uses: fields to link commands to their corresponding D-Bus API\nmethods, and document command arguments with usage examples\n"
    },
    {
      "commit": "b0abe23f58f1ecc44d9d0b6b328be72d2d2113b8",
      "tree": "81a23e9b2b40523d23fe85bf9622d54e9f8e0dd2",
      "parents": [
        "7482aceece7044e688f20f113263b50c21d69fb6"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Wed Jul 15 14:09:56 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jul 15 12:50:52 2026 -0400"
      },
      "message": "doc/org.bluez.ChannelSounding1:Add Used by reference and Examples\n\nAdd :Used by: field linking to bluetoothctl cs submenu and\nExamples section showing corresponding bluetoothctl cs commands\nfor D-Bus methods\n"
    },
    {
      "commit": "7482aceece7044e688f20f113263b50c21d69fb6",
      "tree": "7618b5ebea469bcce45df939350fa886e44212f7",
      "parents": [
        "1309d5f9305d132bc09705ffa4afa113c6491c2b"
      ],
      "author": {
        "name": "Frédéric Danis",
        "email": "frederic.danis@collabora.com",
        "time": "Wed Jul 15 17:51:44 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jul 15 12:50:51 2026 -0400"
      },
      "message": "profiles/audio: fix UAF on external media service teardown\n\nKeep media_app endpoint/player queues in sync with object lifetime to\navoid stale pointers during proxy removal.\n\nWhen admin allowlist reapply removes audio services, endpoint/player\nobjects may be destroyed through non-proxy paths first.\nLater proxy_removed_cb calls queue_remove_if() and matching by path\ncan dereference freed endpoint/player memory.\n\nFix by:\n- adding media_app back-references in media_endpoint/local_player\n- unlinking from app queues inside media_endpoint_remove or\n  local_player_remove\n- setting ownership when app-registering endpoint/player objects\n\nThis prevents heap-use-after-free in match_endpoint_by_path or\nmatch_player_by_path during service disconnect.\n\nAssisted-by: GPT:GPT-5.3-Codex\n"
    },
    {
      "commit": "1309d5f9305d132bc09705ffa4afa113c6491c2b",
      "tree": "423fd3ba1cb1ab72ae3259966444804c9aef2b5b",
      "parents": [
        "bc49d63210f23e0724e07f3e5838aff05fbaa4aa"
      ],
      "author": {
        "name": "Pauli Virtanen",
        "email": "pav@iki.fi",
        "time": "Sat Jul 11 12:15:26 2026 +0300"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 13 13:34:28 2026 -0400"
      },
      "message": "monitor: fix parsing of ISO packet data header and slen check\n\nCheck PB flag to see whether timestamp and data headers are present.\n\nCheck bounds before accessing data. Bump handle_str length to fit\nmaximum.\n\nByteswap length values, and mask Packet_Status_Flag correctly.  Remove\nSDU length check, as we are not tracking fragmentation.\n\nFixes: https://github.com/bluez/bluez/issues/2292\nAssisted-by: GLM-5.2\n"
    },
    {
      "commit": "bc49d63210f23e0724e07f3e5838aff05fbaa4aa",
      "tree": "8b3a4320ae50980468baef0a24e882c21d0281f9",
      "parents": [
        "7f826d003ee7bc07698ddecf804697d55e7b9c86"
      ],
      "author": {
        "name": "Pauli Virtanen",
        "email": "pav@iki.fi",
        "time": "Sat Jul 11 12:15:25 2026 +0300"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 13 13:34:28 2026 -0400"
      },
      "message": "lib: add iso_data_* macros to hci.h\n\nAdd macros for parsing ISO Data Packet header items.\n"
    },
    {
      "commit": "7f826d003ee7bc07698ddecf804697d55e7b9c86",
      "tree": "a28c660b712104d7a2e47dffd0355861b6afe05b",
      "parents": [
        "1cfe2d8b2cbb8c645439464a217053d3cdc41e5f"
      ],
      "author": {
        "name": "Ferose",
        "email": "ferose2@gmail.com",
        "time": "Sat Jul 11 00:02:30 2026 -0700"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 13 13:34:27 2026 -0400"
      },
      "message": "shared/bap: Fix rejecting re-attach of the same fd\n\nWhen the remote\u0027s STREAMING ASE notification arrives before\niso_connect_cb() fires, the race handler in bap_state()\n(profiles/audio/bap.c) already attaches the io to the stream; the\ncomment there notes \"Order of STREAMING and iso_connect_cb() is\nnondeterministic\". When iso_connect_cb() then calls\nbt_bap_stream_set_io() with the same fd, the guard in\nbap_ucast_set_io() sees an attached, non-connecting io and returns\nfalse. iso_connect_cb() treats that as fatal:\n\n  profiles/audio/bap.c:iso_connect_cb() Unable to set IO\n  profiles/audio/transport.c:bap_state_changed() Unable to get stream IO\n\nand tears down a CIS that btmon shows was established successfully\n(CIS Established status 0, both ISO data paths set up). With a device\nwhose STREAMING notifications consistently win the race, streaming is\nnever possible.\n\nTreat re-attaching the fd that is already attached as a no-op success,\nwithout re-running the per-stream state actions (which would send a\nduplicate Receiver Start Ready to a linked source ASE). Attaching a\ndifferent fd to a non-connecting io remains an error.\n\nFixes: https://github.com/bluez/bluez/issues/2223\n"
    },
    {
      "commit": "1cfe2d8b2cbb8c645439464a217053d3cdc41e5f",
      "tree": "cbe931f2bbba3c3d9f4c0a89b0dbf8a81f6f5e70",
      "parents": [
        "ba08e0f6be0f2ac17de3c0609c64e1d1acaa1563"
      ],
      "author": {
        "name": "Pauli Virtanen",
        "email": "pav@iki.fi",
        "time": "Mon Jul 13 16:50:26 2026 +0300"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 13 13:34:26 2026 -0400"
      },
      "message": "tools/l2cap-tester: fix Set PHY test spurious failures\n\nSetting BT_PHY does not take effect instantaneously as kernel waits for\ncontroller, so checking getsockopt() sometimes fails here. In PHY tests,\nuse retry with timeout to check again later.\n"
    },
    {
      "commit": "ba08e0f6be0f2ac17de3c0609c64e1d1acaa1563",
      "tree": "b3c73932157a1519b11c9f7889cc7e71f4960843",
      "parents": [
        "9353c0ea9f6c1bacff00d9afef0d963796d86bd3"
      ],
      "author": {
        "name": "Pauli Virtanen",
        "email": "pav@iki.fi",
        "time": "Mon Jul 13 16:50:25 2026 +0300"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 13 13:34:25 2026 -0400"
      },
      "message": "tools/6lowpan-tester: add test for VHCI teardown without disable\n\nCheck 6lowpan teardown when controller disappers with active devices.\nAdd test\n\nClient Connect - No Disable\n"
    },
    {
      "commit": "9353c0ea9f6c1bacff00d9afef0d963796d86bd3",
      "tree": "151d44e80488b40358c93d181f8bbe46cda0b8dc",
      "parents": [
        "0f2f53fd04d4eb73801de1f8ca16a40e3b12c034"
      ],
      "author": {
        "name": "Pauli Virtanen",
        "email": "pav@iki.fi",
        "time": "Mon Jul 13 16:50:24 2026 +0300"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 13 13:34:24 2026 -0400"
      },
      "message": "tools/6lowpan-tester: fix race in Client Connect - Disable\n\nIt\u0027s possible client_l2cap_disconnect_cb() is called after 6lowpan\ndisable on connect. Prevent failing test in finish_step() in this case.\n"
    },
    {
      "commit": "0f2f53fd04d4eb73801de1f8ca16a40e3b12c034",
      "tree": "c3cdcabdaaf8456f7bccbc0848ee4ca9035d5c44",
      "parents": [
        "2a3d3b0e6f83516736c3c8191fb9440475171600"
      ],
      "author": {
        "name": "Pauli Virtanen",
        "email": "pav@iki.fi",
        "time": "Mon Jul 13 16:50:23 2026 +0300"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 13 13:34:24 2026 -0400"
      },
      "message": "tools/sco-tester: fix missing clear of io_id in callbacks\n\nFixes issues\n\nGLib-CRITICAL **: Source ID 126 was not found when attempting to remove it\n"
    },
    {
      "commit": "2a3d3b0e6f83516736c3c8191fb9440475171600",
      "tree": "7cbee61b2901316d3266307808f9e6be0b443d16",
      "parents": [
        "b7d71e5067856b0daf2f1f73b3fc95483236610e"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Fri Jul 10 14:47:14 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Fri Jul 10 14:47:14 2026 -0400"
      },
      "message": "monitor: Fix printing subpages bits after all subpages\n\nThis fixes printing the decoded subpage bitfields after all subpages\nrather then after the subpage itself:\n\nbefore:\n\n        Features[1/0][8]:\n        00 03 00 00 00 00 00 00                          ........\n        Features[1/1][8]:\n        00 00 00 00 00 00 00 00                          ........\n        Features[1/2][8]:\n        00 00 00 00 00 00 00 00                          ........\n          Shorter Connection Intervals\n          Shorter Connection Intervals (Host Support)\n\nafter:\n\n        Features[1/0][8]:\n        00 03 00 00 00 00 00 00                          ........\n          Shorter Connection Intervals\n          Shorter Connection Intervals (Host Support)\n"
    },
    {
      "commit": "b7d71e5067856b0daf2f1f73b3fc95483236610e",
      "tree": "2402697a71fde55e7dff5da5821b80319cc13645",
      "parents": [
        "82af2beafc39510e2c4a439bf44faea711d6503f"
      ],
      "author": {
        "name": "Mikhail Gavrilov",
        "email": "mikhail.v.gavrilov@gmail.com",
        "time": "Fri Jul 10 12:28:17 2026 +0500"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Fri Jul 10 11:27:50 2026 -0400"
      },
      "message": "a2dp: Fix loading of remote SEP from cache\n\nCommit 912f5efb0dd9 (\"a2dp: Fix handling of codec capability storage\")\nadded an \u0027i \u003e\u003d 2\u0027 condition to the loop that parses the stored codec\ncapabilities. Since i starts at 0 the loop body never runs, i stays 0,\nand the subsequent \u0027if (i !\u003d size)\u0027 check discards every endpoint found\nin the cache:\n\n  load_remote_sep() Unable to load LastUsed: rseid 6 not found\n\nWith no remote SEP loaded, avdtp_discover() can no longer take the\ncached path and issues AVDTP Discover/Get All Capabilities on every\nreconnect, and a2dp_setup_remote_path() returns NULL so the transport\nends up at /org/bluez/hciX/dev_YY/fd0 instead of .../sepN/fd0.\n\nThe condition was presumably meant to bound the writes into data[128],\nwhich the original commit did not actually fix: caps is read with\n\u0027%512s\u0027 so size / 2 can be up to 256. Validate size up front instead.\n\nFixes: https://github.com/bluez/bluez/issues/2285\n"
    },
    {
      "commit": "82af2beafc39510e2c4a439bf44faea711d6503f",
      "tree": "276419fbae65ed888a8901958765e240cc3cace8",
      "parents": [
        "9e9f0a370c591c126c39225f5f50b88915d11095"
      ],
      "author": {
        "name": "Tom Catshoek",
        "email": "tomcatshoek@zeelandnet.nl",
        "time": "Thu Jul 09 14:27:04 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Thu Jul 09 11:20:04 2026 -0400"
      },
      "message": "adapter: Fix crash on UUID discovery filter match\n\nis_filter_match() looks up each discovery-filter UUID in the queue of\nservices parsed from a device advertisement. When that services list was\nmigrated from a GSList to a struct queue, the queue_find() call kept\nGLib\u0027s g_slist_find_custom() argument order, passing the UUID string\nwhere queue_find() expects a match function and the comparison function\nwhere it expects the match data.\n\nAs a result queue_find() calls the UUID string as if it were a function,\njumping into non-executable heap and crashing bluetoothd with SIGSEGV as\nsoon as an advertisement matches a UUID filter configured via\nSetDiscoveryFilter.\n\nAdd a queue_match_func_t helper and pass the arguments in the correct\norder.\n\nFixes: https://github.com/bluez/bluez/issues/2282\n"
    },
    {
      "commit": "9e9f0a370c591c126c39225f5f50b88915d11095",
      "tree": "d6228df56ce9377b3b7c5c3b83ca274625be4b61",
      "parents": [
        "13b14db95089382701f54a46e6ef0120b69d4a62"
      ],
      "author": {
        "name": "Rahul Samana",
        "email": "rahul.samana@oss.qualcomm.com",
        "time": "Tue Jul 07 12:05:43 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jul 07 14:51:41 2026 -0400"
      },
      "message": "gobex: Fix use-after-free when cancelling SRM PUT transfer\n\nIn SRM mode put_get_data() queues the next packet during encoding of\nthe current one, so transfer-\u003ereq_id and pending_req-\u003eid can diverge.\nWhen g_obex_cancel_transfer() cancels the queued packet from tx_queue,\ncancel_complete() frees the transfer while pending_req still holds a\ncallback pointing to it. Its G_OBEX_DEFAULT_TIMEOUT (10s) then fires\non freed memory causing a SIGSEGV.\n\nFix by clearing pending_req-\u003ersp_func if it belongs to the same\ntransfer being cancelled.\n"
    },
    {
      "commit": "13b14db95089382701f54a46e6ef0120b69d4a62",
      "tree": "d9b77bea26d9e911ba428f8432f4bed4529a102e",
      "parents": [
        "5c1c679ec304b8aadaa287cca59b38589d339e91"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jul 07 14:34:30 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jul 07 14:34:30 2026 -0400"
      },
      "message": "shared/bap: Use util_ltv_foreach to process metadata\n\nThis makes use of util_ltv_foreach to process the metadata entries\ninstead of attempting to iterate over the entries manually which\nprobably only works with the exact same order as used by PTS.\n"
    },
    {
      "commit": "5c1c679ec304b8aadaa287cca59b38589d339e91",
      "tree": "c11754728429323d40c4a36d3e107bbd47539042",
      "parents": [
        "3f283c8e0ab3bad17ee8c13fa0dcf251a16e4e25"
      ],
      "author": {
        "name": "raghavendra",
        "email": "raghavendra.rao@collabora.com",
        "time": "Thu Jul 02 18:39:05 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jul 07 13:33:55 2026 -0400"
      },
      "message": "shared/bap: Validate unicast QoS configuration\n\nThis is required for PTS tests ASCS/SR/SPE/BI-08-C and ASCS/SR/SPE/BI-10-C.\n"
    },
    {
      "commit": "3f283c8e0ab3bad17ee8c13fa0dcf251a16e4e25",
      "tree": "8b7d20a4dc27332d67081d0cd8eca4400ee4507c",
      "parents": [
        "b84aa894921037e1b1de00d282db2ee27a4ce63f"
      ],
      "author": {
        "name": "raghavendra",
        "email": "raghavendra.rao@collabora.com",
        "time": "Thu Jul 02 18:39:04 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jul 07 13:33:54 2026 -0400"
      },
      "message": "shared/bap: Validate codec configuration parameters\n\nThis is required for PTS test ASCS/SR/SPE/BI-07-C\n"
    },
    {
      "commit": "b84aa894921037e1b1de00d282db2ee27a4ce63f",
      "tree": "87a7c8f3e9d4fb5bf507b9c5cf19419965e02b4e",
      "parents": [
        "5bc6aa79e53700d56fc1f9f9364573ba4c78da65"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jul 06 10:59:28 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jul 07 10:54:46 2026 -0400"
      },
      "message": "l2test: Fix calling getsockopt(BT_PHY)\n\ngetsockopt(BT_PHY) expectes a 32 bits argument not a\nsizeof(struct sockaddr_l2).\n"
    },
    {
      "commit": "5bc6aa79e53700d56fc1f9f9364573ba4c78da65",
      "tree": "82d85d0c7c340bc35cae6975308db2232e4d5d66",
      "parents": [
        "65d11edee469c24dcc8d075b8be9c040cebaaf98"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Thu Jul 02 11:43:52 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jul 07 10:00:52 2026 -0400"
      },
      "message": "adapter: Fix crash on dev_disconnected\n\nCommit 5d836f1c697c (\"adapter: Fix failed bonding attempt after LE\nlink disconnection\") introduces a regression since it attempts to\ncall device_is_connected after adapter_remove_connection which may\nfree the device causing the following backtrace:\n\n    #0 0x5cd6e384262f in btd_device_bearer_is_connected src/device.c:3754\n    #1 0x5cd6e384266f in btd_device_is_connected src/device.c:3745\n    #2 0x5cd6e37f8614 in dev_disconnected src/adapter.c:8626\n\nFixes: https://github.com/bluez/bluez/issues/2221\n"
    },
    {
      "commit": "65d11edee469c24dcc8d075b8be9c040cebaaf98",
      "tree": "e87954670fd82e2ec4361e41a6fd0ae7412750f4",
      "parents": [
        "220f102c8db9888bd113d0d53cd246ece3012696"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Jul 03 17:30:01 2026 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Fri Jul 03 17:30:01 2026 +0200"
      },
      "message": "Release 5.87\n"
    },
    {
      "commit": "220f102c8db9888bd113d0d53cd246ece3012696",
      "tree": "b82ef23b98e71aadb6983752d671e51f87ca8bfb",
      "parents": [
        "a2c7bc03b75969f784d1ea1feacc78773063025c"
      ],
      "author": {
        "name": "Matthew Cash",
        "email": "matthew@matthew-cash.com",
        "time": "Sat Jun 27 15:44:44 2026 -0700"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 29 15:26:31 2026 -0400"
      },
      "message": "profiles/midi: Fix zero timestampHigh\n\nBLE-MIDI timestampHigh can legitimately be zero. The MIDI parser used\ntimestamp_high \u003d\u003d 0 to decide whether it had already consumed the packet\nheader, so packets starting with 0x80 0x80 caused the next running-status\npayload byte to be consumed as another timestamp header.\n\nTrack whether timestampHigh has been read separately from its value so\npacked MIDI events with zero timestampHigh are parsed correctly.\n"
    },
    {
      "commit": "a2c7bc03b75969f784d1ea1feacc78773063025c",
      "tree": "b42153ab17984f14ccab47e6b6e741f6d2abb885",
      "parents": [
        "a9b6c8a2ea624a62101df16dde5735f4bde1631b"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 29 10:19:31 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 29 10:19:31 2026 -0400"
      },
      "message": "shared/bap: Protect bap_stream_notify_connecting\n\nbap_stream_notify_connecting may encounter callbacks that remove itself\nwhile traversing the state_cbs, so this attempts to prevent to cause a\ncrash by prefetching the next entry.\n"
    },
    {
      "commit": "a9b6c8a2ea624a62101df16dde5735f4bde1631b",
      "tree": "ceb40bb7f306ab32a60f091c88c7a1af747bc19f",
      "parents": [
        "c0fec57e9fa28692dc36e12616c5b74e4fa425ec"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 29 10:08:42 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 29 10:08:42 2026 -0400"
      },
      "message": "shared/bap: Use queue_foreach to notify state changes\n\nUse queue_foreach to notify state changes since that is considered\nsafer as it does attempt to detect list modification while traversing\nthe list.\n"
    },
    {
      "commit": "c0fec57e9fa28692dc36e12616c5b74e4fa425ec",
      "tree": "3acbbd5e78f5fb434b097ece6cc3ab4e438611da",
      "parents": [
        "2262e371564994b429b045cdd34f53eee0cd0c13"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 23 15:14:32 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 29 09:38:54 2026 -0400"
      },
      "message": "shared/bap: Don\u0027t transition to IDLE inside bap_bcast_set_state\n\nRemove the recursive stream_set_state(IDLE) call from the RELEASING\ncase in bap_bcast_set_state. This call re-entered bap_bcast_set_state\nwhile the state_cbs queue was still being iterated, causing a\nuse-after-free if a callback unregistered itself during notification.\n"
    },
    {
      "commit": "2262e371564994b429b045cdd34f53eee0cd0c13",
      "tree": "45cc31937586b9aa2e70a0b4cbb3b2a721a20e30",
      "parents": [
        "27a4c48b048113576925adad4477aee02c8119b6"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 23 15:14:31 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 29 09:38:53 2026 -0400"
      },
      "message": "shared/bap: Check if stream is valid before attempting to release\n\nbt_bap_stream_release shall check if the stream is still valid before\nattempting to release it just as done with other operations.\n"
    },
    {
      "commit": "27a4c48b048113576925adad4477aee02c8119b6",
      "tree": "9f5fd6db658b67b83f8516b00e25c1d9dfe7852b",
      "parents": [
        "eb9b35c8d13dffcaf4f6f4b5bee29a18c860ba04"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 23 15:14:30 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 29 09:38:52 2026 -0400"
      },
      "message": "bass: Fix possible crash on bass_update_bis_sync\n\nbass_update_bis_sync does use bass_remove_bis which may end up\nremoving the current entry causing a crash on entry-\u003enext, to avoid\nthat prefetch the next entry.\n"
    },
    {
      "commit": "eb9b35c8d13dffcaf4f6f4b5bee29a18c860ba04",
      "tree": "6ce2fe319b581b60b04b21e74c02834fc1968ec4",
      "parents": [
        "40a58272a58fdfb00081289ab41fa6d4cebfb935"
      ],
      "author": {
        "name": "Pauli Virtanen",
        "email": "pav@iki.fi",
        "time": "Sun Jun 21 15:54:34 2026 +0300"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 24 12:58:15 2026 -0400"
      },
      "message": "unit: test-bap: disable optimization to speed up compilation\n\nCompilation of this file with optimization takes 12 min with ASAN, 1 min\nwithout.  This is too long, and the -O2 doesn\u0027t serve purpose for unit\ntests.\n\nDisable optimization to reduce to 30 sec with ASAN (5 sec without).\n\nautoconf puts global -O2 in CFLAGS that cannot be overridden eg. with\nunit_test_bap_CFLAGS. Use pragma instead.\n"
    },
    {
      "commit": "40a58272a58fdfb00081289ab41fa6d4cebfb935",
      "tree": "a4e59e3f6b3f7e1868e4400d2e8037dd0094d418",
      "parents": [
        "7efd9383f0a1ea20226c63494bc0bcb9a3e2a8fa"
      ],
      "author": {
        "name": "Prathibha Madugonde",
        "email": "prathibha.madugonde@oss.qualcomm.com",
        "time": "Tue Jun 23 16:41:12 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 24 09:58:38 2026 -0400"
      },
      "message": "shared/rap: Fix step payload pointer in parse_step\n\nutil_iov_pull advances iov_base before returning the new pointer, so\nmode_iov.iov_base was set to the start of the *next* step\u0027s data.\nEvery step was therefore parsed using its successor\u0027s bytes.\n\nSwitch to util_iov_pull_mem which saves the original base, advances\niov, and returns the pre-advance pointer — correctly pointing to the\ncurrent step\u0027s payload.\n"
    },
    {
      "commit": "7efd9383f0a1ea20226c63494bc0bcb9a3e2a8fa",
      "tree": "c2f7e890324f21d6bcceb2f75a8c5ca7c24f9a73",
      "parents": [
        "912f5efb0dd9bb08e408d33371a57182c5678aef"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Mon Jun 22 11:59:05 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 24 09:58:37 2026 -0400"
      },
      "message": "shared: rap: Defer CS Event registration until connection setup\n\nMove LE CS event registration from rap_probe()\nto rap_accept(). rap_probe() runs during service discovery\nwhile no ACL connection or connection handle exists,\nso connection-scoped CS events cannot be delivered or\nassociated with a device. rap_accept() is called\nafter the ACL link is established, when a valid\nconnection handle is available and the HCI layer\ncan route events correctly.\nRegistering events at this point ensures\nproper handling of CS events.\n"
    },
    {
      "commit": "912f5efb0dd9bb08e408d33371a57182c5678aef",
      "tree": "4d2c6db0752ed29cba8a44061dcf1fb7c376ed08",
      "parents": [
        "5792da929b5caa454b9143b5cfd6f42950f381c6"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 15 09:44:11 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 22 11:56:00 2026 -0400"
      },
      "message": "a2dp: Fix handling of codec capability storage\n\nCodec capability is one byte long (max 255) the storage format is\n02hhx which means each byte ends up as 2 characters so the buffer\nneeds to be doubled in order to handle capabilities of that size.\n\nReported-by:  p0her (_@p0her_) in TeamH4C working with TrendAI Zero Day Initiative\nReported-by: Michael Bommarito \u003cmichael.bommarito@gmail.com\u003e\n"
    },
    {
      "commit": "5792da929b5caa454b9143b5cfd6f42950f381c6",
      "tree": "0ed2c4c60f38f067e1dfeeab641ccb7620eda93b",
      "parents": [
        "9305ae767ac401498c0ed8b1a3abf1484d44f0ff"
      ],
      "author": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 22 14:09:51 2026 +0200"
      },
      "committer": {
        "name": "Marcel Holtmann",
        "email": "marcel@holtmann.org",
        "time": "Mon Jun 22 14:10:31 2026 +0200"
      },
      "message": "monitor: Add decoding of new MSFT extension feature bits\n"
    },
    {
      "commit": "9305ae767ac401498c0ed8b1a3abf1484d44f0ff",
      "tree": "e835cfee7193cf06287e29eb3f2aa09ac9e454eb",
      "parents": [
        "629b788e11b5ba7a8b1554c5ed1b8a02f2f9f310"
      ],
      "author": {
        "name": "Prathibha Madugonde",
        "email": "prathibha.madugonde@oss.qualcomm.com",
        "time": "Thu Jun 18 13:25:29 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Fri Jun 19 11:18:20 2026 -0400"
      },
      "message": "shared/rap: Fix Mode 0 step serialization\n\nReplace raw struct byte dump with field-by-field serialization\nthat conditionally includes init_measured_freq_offset only for\nthe Initiator role, matching the RAS wire format (5 bytes for\nInitiator, 3 bytes for Reflector)\n"
    },
    {
      "commit": "629b788e11b5ba7a8b1554c5ed1b8a02f2f9f310",
      "tree": "81dd73111d5e0009dce5bbfd8d047e4093c25fa5",
      "parents": [
        "20cc88874d5759f19f16ff649d46e5e2a660df8d"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Tue Jun 16 12:52:45 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 16 17:06:53 2026 -0400"
      },
      "message": "shared: rap: remove the old wrapper API\n\nReplace API bt_rap_set_conn_handle with\nbt_rap_set_conn_hndl which has extra parameter\nto avoid compilation error for individual patches\n"
    },
    {
      "commit": "20cc88874d5759f19f16ff649d46e5e2a660df8d",
      "tree": "6ce70a928f8735a9eea432a5b0006666589f9559",
      "parents": [
        "efa2a66a7964234039ab694e1a572a5c0937be0d"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Tue Jun 16 12:52:44 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 16 17:06:53 2026 -0400"
      },
      "message": "profiles: ranging: Add CS Initiator cmd and evt handling\n\nIntroduce support for LE Channel Sounding (CS)\nranging procedures in the Initiator role by enabling\nrequired HCI command sequencing and event handling.\n\nAdd handling of core HCI LE CS commands and events\nThis enables cs capability discovery, cs configuration\nmanagement and execution of CS ranging procedures\nin the Initiator role.\n"
    },
    {
      "commit": "efa2a66a7964234039ab694e1a572a5c0937be0d",
      "tree": "ac55d63824ee6c906218b3f76a235d3ffba64740",
      "parents": [
        "aa8d0a2b684176e2295588f58ea9c8c3fc86597c"
      ],
      "author": {
        "name": "Naga Bhavani Akella",
        "email": "naga.akella@oss.qualcomm.com",
        "time": "Tue Jun 16 12:52:43 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 16 17:06:51 2026 -0400"
      },
      "message": "shared: rap: Check role before sending CS Sec Enable cmd\n\nAdd the is_central parameter to verify whether\nthe local role is central before sending\nthe HCI CS Security Enable command.\n"
    },
    {
      "commit": "aa8d0a2b684176e2295588f58ea9c8c3fc86597c",
      "tree": "6c336fd8c77e47c3db069f4ef0b11b9eff4a5464",
      "parents": [
        "5297cf2b6af6970e12081e20f1a978c2bf52fd1f"
      ],
      "author": {
        "name": "Frédéric Danis",
        "email": "frederic.danis@collabora.com",
        "time": "Tue Jun 16 14:30:29 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 16 17:06:51 2026 -0400"
      },
      "message": "shared/gatt: Fix gatt-db buffer overflow for cloned db\n\nOn notify_service_changed() timeout, db_hash_update() is called but\nfor cloned db the last-handle has not been copied and only one slot is\nallocated, ending in buffer overflow:\n\n\u003d\u003d288975\u003d\u003dERROR: AddressSanitizer: heap-buffer-overflow on address 0x5020000ac220 at pc 0x55f8b7e551bf bp 0x7ffcd6e9ddf0 sp 0x7ffcd6e9dde0\nWRITE of size 8 at 0x5020000ac220 thread T0\n    #0 0x55f8b7e551be in gen_hash_m src/shared/gatt-db.c:415\n    #1 0x55f8b7e5d817 in gatt_db_service_foreach src/shared/gatt-db.c:1744\n    #2 0x55f8b7e5d817 in gatt_db_service_foreach src/shared/gatt-db.c:1722\n    #3 0x55f8b7e60c6c in foreach_service_in_range src/shared/gatt-db.c:1633\n    #4 0x55f8b7e60c6c in foreach_in_range src/shared/gatt-db.c:1656\n    #5 0x55f8b7dde002 in queue_foreach src/shared/queue.c:207\n    #6 0x55f8b7e5c435 in gatt_db_foreach_service_in_range src/shared/gatt-db.c:1698\n    #7 0x55f8b7e5c87c in db_hash_update src/shared/gatt-db.c:442\n    #8 0x55f8b7f15283 in timeout_callback src/shared/timeout-glib.c:25\n    #9 0x7fc1845154f1  (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5e4f1) (BuildId: 116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)\n    #10 0x7fc18451445d  (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5d45d) (BuildId: 116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)\n    #11 0x7fc184573976  (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0xbc976) (BuildId: 116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)\n    #12 0x7fc184514f46 in g_main_loop_run (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5df46) (BuildId: 116e142b9b52c8a4dfd403e759e71ab8f95d8bb3)\n    #13 0x55f8b7f157e8 in mainloop_run src/shared/mainloop-glib.c:65\n    #14 0x55f8b7f16116 in mainloop_run_with_signal src/shared/mainloop-notify.c:196\n    #15 0x55f8b7af46df in main src/main.c:1709\n    #16 0x7fc18382a1c9 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58\n    #17 0x7fc18382a28a in __libc_start_main_impl ../csu/libc-start.c:360\n    #18 0x55f8b7af68b4 in _start (/home/fdanis/src/bluez/src/bluetoothd+0x6588b4) (BuildId: 89dc89ac5800f58cc305bae57a965b1185601a3e)\n\n0x5020000ac220 is located 0 bytes after 16-byte region [0x5020000ac210,0x5020000ac220)\nallocated by thread T0 here:\n    #0 0x7fc1846fd9c7 in malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69\n    #1 0x55f8b7ddf2b6 in util_malloc src/shared/util.c:46\n"
    },
    {
      "commit": "5297cf2b6af6970e12081e20f1a978c2bf52fd1f",
      "tree": "f0d48cf6ad6ee7dfc902bcc4ada42bd691a14595",
      "parents": [
        "64ae65d8958e67fb65f7413ef4ceab2ad51a6b28"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Sun Jun 14 12:50:16 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 15 15:26:56 2026 -0400"
      },
      "message": "shared/bap: Don\u0027t link server ucast streams before CIS IDs are assigned\n\nbap_ucast_io_link pairs streams whose CIG/CIS IDs match, but the IDs\nare unset in Codec Configured state, so a Sink and Source bound for\ndifferent CISes get linked. The stray link later propagates a\ndisconnect to the wrong ASE and breaks Receiver Start Ready.\n\nSkip linking until QoS Configured assigns the IDs.\n\nFixes PTS test BAP/USR/STR/BV-362-C\n"
    },
    {
      "commit": "64ae65d8958e67fb65f7413ef4ceab2ad51a6b28",
      "tree": "986e7d87cc090e395070ceabe6e5efd920d67638",
      "parents": [
        "80ec1f9d01c44768219c2842795652c6b6bb291c"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Mon Jun 15 15:18:42 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 15 15:26:18 2026 -0400"
      },
      "message": "shared/bap: Initialize ucast/bcast IDs as unset\n\nAlso change some lines where CIS should be used instead of CIG.\n"
    },
    {
      "commit": "80ec1f9d01c44768219c2842795652c6b6bb291c",
      "tree": "89f64ec89078a7870206befde319d1c71741f0a6",
      "parents": [
        "9c36e4189e32f4b8ab1376749dda4b97e71af9af"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Mon Jun 15 15:14:21 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 15 15:18:31 2026 -0400"
      },
      "message": "test-bap: Fix using BT_ISO_QOS_CIG_UNSET for CIS_ID\n\nAlthough there are the same value the proper define is\nBT_ISO_QOS_CIS_UNSET.\n"
    },
    {
      "commit": "9c36e4189e32f4b8ab1376749dda4b97e71af9af",
      "tree": "fe1a3e0f19bf5f65f66b258020beca15dc4f7423",
      "parents": [
        "bd9eac15a27ac2eb14f9b2f69d046088d687bfa3"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Sun Jun 14 12:29:31 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 15 10:40:16 2026 -0400"
      },
      "message": "gatt-database: Prefer notifications over indications\n\nWhen both notifications and indications are enabled (CCC value\u003d0x0003)\nwe will send notifications by default.\n"
    },
    {
      "commit": "bd9eac15a27ac2eb14f9b2f69d046088d687bfa3",
      "tree": "80902c2d79c8b19fbe5227f833b9f9183ca2b022",
      "parents": [
        "986e220b77ea7803af0279200db7b011667302d7"
      ],
      "author": {
        "name": "Pauli Virtanen",
        "email": "pav@iki.fi",
        "time": "Sun Jun 14 14:22:23 2026 +0300"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 15 10:40:11 2026 -0400"
      },
      "message": "media: use custom DBus timeouts only when remote side is waiting\n\nUnder high system load (VM instance on boot) it\u0027s observed the 3 sec\ntimeout BlueZ uses for BAP broadcast SetConfiguration may be missed by\nWireplumber, as these are set up immediately on startup together with\nany other setup (eg ALSA) that may need time.\n\nThere\u0027s no actual need for using a short custom timeout in BlueZ for\nthis, as in this case there is no remote side that is waiting for a reply.\n\nFix by limiting custom timeouts to cases where there is a waiting\nremote, and use separate defines for A2DP and BAP.\n"
    },
    {
      "commit": "986e220b77ea7803af0279200db7b011667302d7",
      "tree": "95cc041f5c15b378c3293ef7f4b15222aa142916",
      "parents": [
        "237d4d5d20a556ea11f6cf5d0013884a0a70962e"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Sun Jun 14 12:02:08 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 15 10:39:11 2026 -0400"
      },
      "message": "unit/bap: Add CIS loss test\n\nVerify a Source ASE in the Enabling state transitions to QoS Configured\nrather than Disabling when its CIS is lost.\n\nAssisted-by: ClaudeCode:claude-opus-4.8\n"
    },
    {
      "commit": "237d4d5d20a556ea11f6cf5d0013884a0a70962e",
      "tree": "75a09217be9740710b64f74e23230237df183b9f",
      "parents": [
        "40f2e34b373944cf8142154881ce69f92c2be68d"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Sun Jun 14 12:02:07 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 15 10:38:55 2026 -0400"
      },
      "message": "shared/bap: Transition ASE to QoS Configured on CIS loss\n\nstream_io_disconnected() only handled the Releasing state, leaving\nEnabling, Streaming and Disabling ASEs stuck when the CIS was lost\nunexpectedly.\n\nThe ASE shall autonomously move to QoS Configured on loss of the\nCIS and notify the peer\n\nFixes PTS test BAP/USR/SCC/BV-167-C\n"
    },
    {
      "commit": "40f2e34b373944cf8142154881ce69f92c2be68d",
      "tree": "be9980df04fc870384560eb4fa955b73d6c671a4",
      "parents": [
        "5b0c20727569e0ad6fee2c7d92dd375fa0fb45b1"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed May 13 13:50:37 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:35:15 2026 -0400"
      },
      "message": "doc: Document Push behavior when MediaAssistant is active\n\nDocument that calling Push on an assistant already in active state uses\nBASS_Modify_Source to update the existing source rather than adding a\nnew one.\n"
    },
    {
      "commit": "5b0c20727569e0ad6fee2c7d92dd375fa0fb45b1",
      "tree": "11ff0d614938216848a31c6255f66aaef99aaca5",
      "parents": [
        "590aae8b695082185b2354e9f194078804fd9f2b"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed May 13 13:50:13 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:35:15 2026 -0400"
      },
      "message": "profiles/audio/bass: Fix delegator reprobing after disconnect\n\ndelegator_disconnect left the old delegator in the delegators queue\nafter calling device_remove_profile. When a new delegator was created\nfor the same device (e.g. on a subsequent Add Source after Modify\nSource removal), delegator_attach would find the stale entry and\nreturn early, leaving the new delegator without a service. This\ncaused the \"Unable to probe service\" error and prevented the BASS\nbcode exchange from working on reconnection.\n\nFix by removing the delegator from the queue, clearing service user\ndata, and calling delegator_free before disconnecting the service\nand removing the profile. This also fixes a potential use-after-free\nwhere delegator_disconnect accessed dg fields after device_remove_profile\ncould trigger delegator_detach -\u003e delegator_free through the\nbap_detached callback chain.\n\nAlso add validation in bass_req_bcode to detect and discard invalid\n(all-zeros) broadcast codes that may have been stored from a previous\nconnection.\n"
    },
    {
      "commit": "590aae8b695082185b2354e9f194078804fd9f2b",
      "tree": "3b1f2f7dd533a43fe354a9fea3ea08fc58bd8aa9",
      "parents": [
        "ea6b63562d9d249b5925d09813aa01510123aae8"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed May 13 13:49:22 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:35:14 2026 -0400"
      },
      "message": "profiles/audio/bass: Handle PA_SYNC_NO_SYNC in handle_mod_src_req\n\nWhen the delegator receives a Modify Source operation with pa_sync set\nto PA_SYNC_NO_SYNC while already synchronized to PA, release all\nsetups instead of updating BIS sync which would not apply the\nrequested termination.\n\nAlso reset the encryption state to no encryption when the last BIS\nindex is cleared from a subgroup, so subsequent source additions\nstart with a clean encryption state.\n"
    },
    {
      "commit": "ea6b63562d9d249b5925d09813aa01510123aae8",
      "tree": "63f136195b99646b47e0dcc4e4d1f07dd78b9759",
      "parents": [
        "5d836f1c697cde166981d31276e2dd828996f3e7"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed May 13 13:47:46 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:35:13 2026 -0400"
      },
      "message": "profiles/audio/bass: Use BASS_Modify_Source when assistant is active\n\nWhen a MediaAssistant is already active (streaming), a subsequent Push\nshould send Modify Source with PA_SYNC_NO_SYNC and bis_sync\u003d0 to\nremove the broadcast source, rather than adding a duplicate source.\n\nSplit push() into push_add_src() and push_mod_src() helpers. The push\ndispatcher checks the assistant state: ACTIVE non-local assistants and\nLOCAL assistants with a tracked source entry both route to\npush_mod_src, while all others proceed with push_add_src.\n\nAdd per-device source tracking for LOCAL assistants via a bass_src\nstruct (keyed by bt_bass pointer) stored in a per-assistant srcs\nqueue. This is needed because LOCAL assistants never change state, so\nwe cannot rely on the state machine alone to detect active sources.\n\nAlso fix the bass_src_changed BID filter: the previous check rejected\nnon-local assistants when BID was zero, but this incorrectly excluded\nLOCAL assistants in REQUESTING state whose BID happens to be non-zero.\nChange to reject assistants whose own BID is non-zero when the\nnotification BID is zero, which correctly matches local streams.\n"
    },
    {
      "commit": "5d836f1c697cde166981d31276e2dd828996f3e7",
      "tree": "6f1432400d5e7cba6fdaa1481c960cb69bbdb2d5",
      "parents": [
        "3047c2a4c5ea8313bcf5a9edbb18f9c9a187a7fd"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Wed Jun 10 10:20:54 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:29:11 2026 -0400"
      },
      "message": "adapter: Fix failed bonding attempt after LE link disconnection\n\nWhat happens when issue occurs:\n- device is connected to both bearers BR/EDR and LE\n- bonding is requested\n- LE link disconnects\n- pairing keys arrive\n\nBlueZ would finish bonding request with error and mark device as\ntemporary. Then it would be disconnected+removed after default\ntemporary timeout (30 seconds).\n"
    },
    {
      "commit": "3047c2a4c5ea8313bcf5a9edbb18f9c9a187a7fd",
      "tree": "09d93bae99b64ca3fb1ded258ea3c5cd392c43f6",
      "parents": [
        "2e00b83c07885f960fc0d53568b4ab0091ffb09c"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Tue Jun 09 23:11:29 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:29:10 2026 -0400"
      },
      "message": "transport: Complete Acquire for Sink ASE entering Enabling\n\nOn the QoS to Enabling transition the IO is not yet available because\nthe CIS is not established, so the handler returns early and a pending\nAcquire is left unanswered once the IO later arrives.\n\nNotify the connecting callbacks once the fd is attached so the\ntransport can re-run the Enabling handling and complete the Acquire.\n"
    },
    {
      "commit": "2e00b83c07885f960fc0d53568b4ab0091ffb09c",
      "tree": "75ff54da724631567b89cce7640fb1bb58f6c338",
      "parents": [
        "249e2bedfacf51fc6c89f43a0adb9a12d761c2b7"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Tue Jun 09 23:11:04 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:29:09 2026 -0400"
      },
      "message": "shared/bap: Report invalid-length ASE CP write via notification\n\nA zero-length write to the ASE Control Point returned an ATT error, but\nASCS requires the write to succeed at ATT level and the failure to be\ncarried by a CP notification. Build a response with the truncated error\ncode and return success instead.\n\nFixes PTS tests ASCS/SR/SPE/BI-01-C and BI-02-C\n"
    },
    {
      "commit": "249e2bedfacf51fc6c89f43a0adb9a12d761c2b7",
      "tree": "1adbb1c448e7bb29fedce7ce8cb1960a818a7f89",
      "parents": [
        "39ad431de60b896a03904887a0f1d0285b719edd"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Tue Jun 09 23:26:56 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:29:08 2026 -0400"
      },
      "message": "avrcp: Abort continuing response on fragmented CT replies\n\nSend AbortContinuingResponse when a Get Element Attributes reply\narrives fragmented, as the CT side does not reassemble fragments.\n\nFixes PTS test AVRCP/CT/RCR/BV-03-C\n"
    },
    {
      "commit": "39ad431de60b896a03904887a0f1d0285b719edd",
      "tree": "a32d52f156a8b112f53fa51a3da2c0fc629f86b3",
      "parents": [
        "8c821a150b8f5319b8201b5e7d8fdaa6a67d3bd1"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Tue Jun 09 23:30:13 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:29:07 2026 -0400"
      },
      "message": "avdtp: Return correct error when SEP is inuse\n\nThis fixes AVDTP/SNK/ACP/SIG/SMG/BI-08-C\n"
    },
    {
      "commit": "8c821a150b8f5319b8201b5e7d8fdaa6a67d3bd1",
      "tree": "0ff258a8815939a0504e1e57e078e89c8bbb9935",
      "parents": [
        "7b5895d8063505798ec5988a4b3bb545834afb1a"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 09 12:43:50 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:20:57 2026 -0400"
      },
      "message": "bearer: Check btd_opts.mode on btd_bearer_new\n\nOnly create the bearer interface if the corresponding transport is\nenabled. Return NULL if BREDR bearer is requested in LE-only mode or\nLE bearer in BREDR-only mode, so the D-Bus interface is never\nregistered for unsupported bearers.\n"
    },
    {
      "commit": "7b5895d8063505798ec5988a4b3bb545834afb1a",
      "tree": "c249bb87022a2566bdfa061b95c5a28ce79ed3b4",
      "parents": [
        "abf0911e25ef414f06b895b22a6a9aa05c03360e"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 09 11:58:44 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:20:56 2026 -0400"
      },
      "message": "plugins: Check btd_profile_register return value\n\nEnsure all plugin init functions check the return value of\nbtd_profile_register. If registration fails (e.g. bearer not enabled),\nthe plugin init propagates the error instead of continuing with an\nunregistered profile.\n"
    },
    {
      "commit": "abf0911e25ef414f06b895b22a6a9aa05c03360e",
      "tree": "3dbe20fcaa122b56f73eebce10e4458823102f02",
      "parents": [
        "8c580d30d2655f75796c31ca0d496ffd1578cb46"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 09 11:54:53 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:20:56 2026 -0400"
      },
      "message": "profile: Check if bearer is enabled on registration\n\nbtd_profile_register now verifies that the profile\u0027s bearer type is\ncompatible with btd_opts.mode before registering. If the required bearer\nis not enabled (e.g. LE-only profile when mode is BR/EDR, or BR/EDR-only\nprofile when mode is LE), registration is rejected with -ENOTSUP.\n"
    },
    {
      "commit": "8c580d30d2655f75796c31ca0d496ffd1578cb46",
      "tree": "fd38a5d4e6814cfc545959c29ff561a1cdb5869a",
      "parents": [
        "6ea27ab0dcfc1ac38467d8e88ceccb5784494cb5"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 09 11:48:03 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Wed Jun 10 14:20:54 2026 -0400"
      },
      "message": "btio: Handle EOPNOTSUPP from accept() to prevent busy loop\n\nWhen accept() returns EOPNOTSUPP on an L2CAP SEQPACKET server socket\n(e.g. AVCTP browsing channel, PSM 0x1b), the error is permanent and\nretrying will never succeed. Previously, only EBADFD was treated as\nfatal, causing server_cb to return TRUE for EOPNOTSUPP. Since the fd\nremains readable, this creates an infinite busy loop that hangs\nbluetoothd.\n\nTreat EOPNOTSUPP the same as EBADFD by returning FALSE to remove the\nGLib IO watch and stop the loop.\n"
    },
    {
      "commit": "6ea27ab0dcfc1ac38467d8e88ceccb5784494cb5",
      "tree": "17b028927aa4f066ba15d58042edc75e63f3382e",
      "parents": [
        "ea4b494414f60beda3cf69aef9278354c07b74f1"
      ],
      "author": {
        "name": "Michal Dzik",
        "email": "michal.dzik@streamunlimited.com",
        "time": "Sat Jun 06 08:03:48 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 09 14:39:18 2026 -0400"
      },
      "message": "bap: log errors in BIG sync\n"
    },
    {
      "commit": "ea4b494414f60beda3cf69aef9278354c07b74f1",
      "tree": "c827498b2b5aaaf58acc1d11c46d433e360c870b",
      "parents": [
        "912d67d1d3a46f5ef946eec2dbe310b97247f085"
      ],
      "author": {
        "name": "Michal Dzik",
        "email": "michal.dzik@streamunlimited.com",
        "time": "Sat Jun 06 08:03:47 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 09 14:39:17 2026 -0400"
      },
      "message": "btio: handle error from broadcast ISO socket\n\nIf not handled, server_cb() will be stuck in endless loop of calling\naccept() on the socket.\n"
    },
    {
      "commit": "912d67d1d3a46f5ef946eec2dbe310b97247f085",
      "tree": "2c6c61ecd78b017d4b91ec60fba5937953c1f739",
      "parents": [
        "8bc6dd81c9c21137f0b63ac59db49c26b6af6c65"
      ],
      "author": {
        "name": "raghu447",
        "email": "raghavendra.rao@collabora.com",
        "time": "Tue Jun 09 15:55:48 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 09 10:10:00 2026 -0400"
      },
      "message": "unit/bap: add SPE tests\n\nAdd unit tests for the PTS BAP/USR/SPE/BI-01[5]-C tests.\n"
    },
    {
      "commit": "8bc6dd81c9c21137f0b63ac59db49c26b6af6c65",
      "tree": "953698ae328b7792a5ff962882cc9f5185181205",
      "parents": [
        "9320e1cb47494aa67cf86bc0dda1913f4e489478"
      ],
      "author": {
        "name": "raghu447",
        "email": "raghavendra.rao@collabora.com",
        "time": "Tue Jun 09 15:55:47 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 09 10:09:59 2026 -0400"
      },
      "message": "shared/bap: add ASE Control Point error responses\n\nThese changes are required to Pass BAP/USR/SPE/BI-01[5]-C tests.\n"
    },
    {
      "commit": "9320e1cb47494aa67cf86bc0dda1913f4e489478",
      "tree": "8d425a1e9e6f1ca34e1c0fa7537f46492a281af7",
      "parents": [
        "27eb493882aed659339579adb29ca99b61042379"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 08 16:48:39 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 08 16:48:57 2026 -0400"
      },
      "message": "shared/hci: Debounce SO_ATTACH_FILTER with timeout_add(0)\n\nCoalesce multiple BPF filter updates into a single SO_ATTACH_FILTER\nsetsockopt call by deferring the update to the next event loop\niteration using timeout_add(0, ...).\n\nWhen bt_hci_register_event or bt_hci_register_subevent is called\nmultiple times in succession (e.g. from bt_rap_attach_hci), each call\npreviously triggered a full filter rebuild and setsockopt. Now,\nschedule_evt_filter() simply marks a pending update which fires once\nin filter_timeout() after all synchronous registrations complete.\n"
    },
    {
      "commit": "27eb493882aed659339579adb29ca99b61042379",
      "tree": "31fba6561d78886657bdb104b2b10ba3834b5f14",
      "parents": [
        "622a46ebcd72a511219d51366352d4cf6a46dbba"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 08 16:13:31 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 08 16:43:57 2026 -0400"
      },
      "message": "shared/hci: Avoid redundant BPF filter updates on duplicate events\n\nSkip updating the BPF socket filter in bt_hci_register and\nbt_hci_register_subevent when the event/subevent is already\nregistered, since it is already part of the filter.\n\nSimilarly, skip updating the filter in bt_hci_unregister and\nbt_hci_unregister_subevent when other handlers for the same\nevent/subevent still remain in the queue.\n\nThis avoids unnecessary setsockopt(SO_ATTACH_FILTER) calls when\nmultiple handlers are registered for the same event code.\n"
    },
    {
      "commit": "622a46ebcd72a511219d51366352d4cf6a46dbba",
      "tree": "49164b2bd3fac79cb093d841b5c7eae8c077169a",
      "parents": [
        "415955bb70baa17a82fa107e5fa34c501c6a006b"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Mon Jun 08 13:07:43 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 08 14:09:46 2026 -0400"
      },
      "message": "device: Fix returning discovery error for Device.Pair\n\nIf discovery was requesed from pair request we will report successfull\npairing even if there was an error during discovery.\n"
    },
    {
      "commit": "415955bb70baa17a82fa107e5fa34c501c6a006b",
      "tree": "eae942c38b89f8e908d3ad07d21fbddd2736b912",
      "parents": [
        "56835e9061de1eca24b8d2395ed6d1ae35d8361b"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Mon Jun 08 13:07:42 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 08 14:09:46 2026 -0400"
      },
      "message": "device: Rename start_discovery function\n\nRename it to start_discovery_cb to indicate that it is callback function\nfrom timer.\n"
    },
    {
      "commit": "56835e9061de1eca24b8d2395ed6d1ae35d8361b",
      "tree": "234e301d410c4999aff6bf3e5cb8b17d6cfd4895",
      "parents": [
        "279c4ac70c77d88e1947cef98cdabc288d2430d3"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Mon Jun 08 13:07:41 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 08 14:09:46 2026 -0400"
      },
      "message": "device: Refactor device_discover_services function\n\nAfter refactoring we can reuse function once more in function\nvoid device_bonding_complete(...)\n"
    },
    {
      "commit": "279c4ac70c77d88e1947cef98cdabc288d2430d3",
      "tree": "e9757bdd796cdba276d3dad329d56a2c9762732f",
      "parents": [
        "7ca747652dc44ecf1fa0336cc7570737f07a23f6"
      ],
      "author": {
        "name": "Frédéric Danis",
        "email": "frederic.danis@collabora.com",
        "time": "Mon Jun 08 14:27:13 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 08 14:09:46 2026 -0400"
      },
      "message": "device: Fix cache update on device remove\n\nIf there\u0027s no other group than the one explicitly removed the length\nreturned by g_key_file_to_data() will be 0 and currently nothing\nwill be changed in the device cache file.\n\nIf there\u0027s nothing to write, remove the device cache file.\n"
    },
    {
      "commit": "7ca747652dc44ecf1fa0336cc7570737f07a23f6",
      "tree": "11d4324212097186852ee61a698c46ebf436e467",
      "parents": [
        "2c4ed7bfd3b3cade7abdec655702c554259cf8c0"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Mon Jun 08 13:24:03 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 08 14:09:46 2026 -0400"
      },
      "message": "device: Fix auth_retry timeout not being removed on reconnect\n\ntimeout_remove() was called with 0 instead of the actual timer ID\nbecause auth_retry_id was zeroed before the call.\n"
    },
    {
      "commit": "2c4ed7bfd3b3cade7abdec655702c554259cf8c0",
      "tree": "d6e9610cd55963b113a8338a46df714a87594cd1",
      "parents": [
        "7c1c90f7b6d0f653c581878a039e2d02362f33f5"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Mon Jun 08 13:20:28 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 08 14:07:01 2026 -0400"
      },
      "message": "bap: Fix ASE control point properties\n\nWriteWithoutResponse is mandatory as per ASCS 1.0.\n"
    },
    {
      "commit": "7c1c90f7b6d0f653c581878a039e2d02362f33f5",
      "tree": "82301d8eec0897089977deea397efed9aefe04c0",
      "parents": [
        "60437c06560e46d211aaf99620cc9510dfd8081f"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Mon Jun 08 13:29:23 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 08 13:06:32 2026 -0400"
      },
      "message": "avdtp: Fix error handling for AVDTP_OPEN cmd\n\nWe have to return BAD_STATE when local SEP is available instead of\nBAD_ACP_SEID.\n\nThis fixes: AVDTP/SNK/ACP/SIG/SMG/BI-26-C\n"
    },
    {
      "commit": "60437c06560e46d211aaf99620cc9510dfd8081f",
      "tree": "d20470492071b82f6b68ca762eccd8c34ffeeddc",
      "parents": [
        "7a0c8ebf91e69c3b2d2d48f8f4b0074fddde1fa4"
      ],
      "author": {
        "name": "Simon Mikuda",
        "email": "simon.mikuda@streamunlimited.com",
        "time": "Mon Jun 08 13:29:22 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 08 13:06:31 2026 -0400"
      },
      "message": "avdtp: Fix GET_CONFIGURATION cmd\n\nThis fixes AVDTP/SNK/ACP/SIG/SMG/BV-12-C\n"
    },
    {
      "commit": "7a0c8ebf91e69c3b2d2d48f8f4b0074fddde1fa4",
      "tree": "c16753b0af115fa13131c3e9e226b214c872b1c6",
      "parents": [
        "80e9eb51c4c9f60316c189f3498b137bfbbee7d3"
      ],
      "author": {
        "name": "Zhiyuan Sheng",
        "email": "zhiyuan.sheng@oss.qualcomm.com",
        "time": "Fri May 22 14:03:12 2026 +0800"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Fri Jun 05 10:02:09 2026 -0400"
      },
      "message": "obexd: fix PBAP PullPhoneBook failure with ebook backend\n\nphonebook_pull() in phonebook-ebook.c does not set *err \u003d 0 on the\nsuccess path, unlike phonebook-tracker.c and phonebook-dummy.c. The\ncaller vobject_pull_open() in pbap.c declares \u0027ret\u0027 without\ninitialization and passes \u0026ret to phonebook_pull(), so \u0027ret\u0027 retains\nan indeterminate stack value when the ebook backend is in use. The\nsubsequent \u0027if (ret \u003c 0)\u0027 check then incorrectly triggers and rejects\nthe request with Internal Server Error.\n\nFix this by setting *err \u003d 0 on success in phonebook-ebook.c, and\ninitialize \u0027ret\u0027 to 0 in vobject_pull_open() as a defensive measure\nto guard against any backend that omits this assignment.\n"
    },
    {
      "commit": "80e9eb51c4c9f60316c189f3498b137bfbbee7d3",
      "tree": "7bd6b097255b5f10b0d1ecbf1a9f40f24e8f84ae",
      "parents": [
        "42b2c543a70c882ed12efa06334588b0c45ae0f3"
      ],
      "author": {
        "name": "Bastien Nocera",
        "email": "hadess@hadess.net",
        "time": "Fri Jun 05 11:35:53 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Fri Jun 05 10:02:00 2026 -0400"
      },
      "message": "test-mesh-crypto: Fix retval for skipped test\n\nSkipped tests should return 77, so they will be marked as skipped in\nreports:\n  $ make check\n  make --no-print-directory check-TESTS\n  [...]\n  PASS: unit/test-gatt\n  SKIP: unit/test-mesh-crypto\n  [...]\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  Testsuite summary for bluez 5.86\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n  # TOTAL: 39\n  # PASS:  38\n  # SKIP:  1\n  [...]\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n"
    },
    {
      "commit": "42b2c543a70c882ed12efa06334588b0c45ae0f3",
      "tree": "26457d2b0446336b676b2d8f472d94589f927c5d",
      "parents": [
        "bc5713d69e1e4ef87bc097ecbe941a2162bf0eac"
      ],
      "author": {
        "name": "Prathibha Madugonde",
        "email": "prathibha.madugonde@oss.qualcomm.com",
        "time": "Thu Jun 04 15:32:33 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Thu Jun 04 15:27:26 2026 -0400"
      },
      "message": "profiles/ranging: Fix measured_freq_offset\n\nAs per Core spect it is 2 octects not 4.\n"
    },
    {
      "commit": "bc5713d69e1e4ef87bc097ecbe941a2162bf0eac",
      "tree": "eefcfd0c3a2b0966995ffecb57fcf16f787a3127",
      "parents": [
        "c6bc42d696610bfae4e5dc193e1d39371c6b3e0c"
      ],
      "author": {
        "name": "Prathibha Madugonde",
        "email": "prathibha.madugonde@oss.qualcomm.com",
        "time": "Thu Jun 04 14:22:05 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Thu Jun 04 15:26:43 2026 -0400"
      },
      "message": "shared/rap: Add client ranging registration and notification parsing\n\nRead the RAS Features characteristic to determine whether the remote\ndevice supports real-time ranging. If supported, register for real-time\ncharacteristic notifications using the reqtracker for the CS initiator\nrole.\n\nParse incoming segmented RAS ranging data notifications by accumulating\nsegments via iovec and parsing complete subevent headers and CS mode 0-3\nstep data, including IQ/tone PCT samples, once the last segment arrives.\n"
    },
    {
      "commit": "c6bc42d696610bfae4e5dc193e1d39371c6b3e0c",
      "tree": "82a9d0ee19b9a47ec50c6f35327575e4a69b2c03",
      "parents": [
        "646014a6a246fe99df27da12d2de7bcd2e04d0df"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Thu Jun 04 13:14:38 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Thu Jun 04 14:04:00 2026 -0400"
      },
      "message": "adapter: Fix using case sensitive strncmp for pattern match addresses\n\nWhen matching discovery filter pattern with addresses shall be\nconsidered case insensitive since its binary format that can be\nprinted using either upper or lower case for the range a-f/A-F.\n"
    },
    {
      "commit": "646014a6a246fe99df27da12d2de7bcd2e04d0df",
      "tree": "1400d04389642f9676b7858e5dc5471904fd1bb1",
      "parents": [
        "e60d07255327db3fc4e3a28d7fcc792cd42c34d0"
      ],
      "author": {
        "name": "Wei Deng",
        "email": "wei.deng@oss.qualcomm.com",
        "time": "Thu Jun 04 15:00:24 2026 +0530"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Thu Jun 04 11:47:15 2026 -0400"
      },
      "message": "profile: Set L2CAP IMTU for OBEX profile listeners\n\nThe default_settings entries for OBEX profiles (OPP, FTP, PBAP, MAS,\nMNS) have no imtu field, so ext_start_servers() creates the L2CAP\nlistening socket without an explicit IMTU. This causes the socket to\nadvertise the L2CAP minimum of 672 bytes in L2CAP_CONFIGURATION_RSP,\nlimiting the peer\u0027s outgoing PDU size and degrading Rx throughput.\n\nAdd an imtu field to default_settings and set it to 32767 for all\nOBEX profiles that use L2CAP. Copy the value in ext_set_defaults()\nand apply it to the listening socket via bt_io_set() after\nbt_io_listen() succeeds.\n"
    },
    {
      "commit": "e60d07255327db3fc4e3a28d7fcc792cd42c34d0",
      "tree": "fc089cd77b0cf336d31cdb15001ff86f0e25700b",
      "parents": [
        "2a6968b40378dca5650e18e03ad0407738c47be5"
      ],
      "author": {
        "name": "Funda Wang",
        "email": "fundawang@yeah.net",
        "time": "Thu Jun 04 10:01:35 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Thu Jun 04 11:47:04 2026 -0400"
      },
      "message": "build: Support libical 4.0\n\nlibical 4.0 split off some vcal related functions to a separate shared\nlibrary, libicalvcal. As libicalvcal depends on libical itself, first\ncheck for libicalvcal being available, and if it fails, check for\njust libical.\n\nCloses: https://github.com/bluez/bluez/issues/2090\n\nTested-by: Bastien Nocera \u003chadess@hadess.net\u003e\n"
    },
    {
      "commit": "2a6968b40378dca5650e18e03ad0407738c47be5",
      "tree": "47a491623d0e2b1b85c8c95919b290b163112746",
      "parents": [
        "07b6fc156348bb515ac0a876d49644312c9476d6"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 02 16:36:31 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 02 16:36:31 2026 -0400"
      },
      "message": "advertising: Fix sending extra bytes with MGMT_OP_ADD_EXT_ADV_DATA\n\nMGMT_OP_ADD_EXT_ADV_DATA expects the command to be of size of\nstruct mgmt_cp_add_ext_adv_data not mgmt_cp_add_advertising.\n"
    },
    {
      "commit": "07b6fc156348bb515ac0a876d49644312c9476d6",
      "tree": "c5ae7f01fe538fac54d1c41e844f9994c0aa56df",
      "parents": [
        "96a51d53ccf3f3e443c524478c8c697d1a2dd799"
      ],
      "author": {
        "name": "Frédéric Danis",
        "email": "frederic.danis@collabora.com",
        "time": "Tue May 19 10:50:16 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 02 13:14:40 2026 -0400"
      },
      "message": "client/btpclient: Don\u0027t remove all devices on GAP Reset command\n\nCurrently running auto-pts remove all paired devices, instead of just\nremoving the PTS devices.\nThis removes this behavior, expecting auto-pts to explicitly remove the\nPTS devices using Unpair command.\n"
    },
    {
      "commit": "96a51d53ccf3f3e443c524478c8c697d1a2dd799",
      "tree": "1c8dad0e4348df5f2567c4804fe0b1e548304939",
      "parents": [
        "e2874db00a40a1379172f3939ea670063b7e918d"
      ],
      "author": {
        "name": "Frédéric Danis",
        "email": "frederic.danis@collabora.com",
        "time": "Tue May 19 10:50:15 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue Jun 02 13:14:40 2026 -0400"
      },
      "message": "client/btpclient: Fix GAP unpair command\n\nFix unpair_reply() because the device is no more available on\nRemoveDevice reply.\n"
    },
    {
      "commit": "e2874db00a40a1379172f3939ea670063b7e918d",
      "tree": "f9bccbfe19dae45485af22320f855d952dbe8592",
      "parents": [
        "b55c0559bda8cc16efc63892adb56f278c19993d"
      ],
      "author": {
        "name": "Michal Dzik",
        "email": "michal.dzik@streamunlimited.com",
        "time": "Sun May 31 12:17:54 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 01 09:41:51 2026 -0400"
      },
      "message": "client: add advertisement instance support\n\nSigned-off-by: Luiz Augusto von Dentz \u003cluiz.von.dentz@intel.com\u003e\n"
    },
    {
      "commit": "b55c0559bda8cc16efc63892adb56f278c19993d",
      "tree": "c13bb272adba0b2b15b45486fabf45f2283335de",
      "parents": [
        "17fbb48d8f7c22d0702b3b9daf69f9c06231d774"
      ],
      "author": {
        "name": "Michal Dzik",
        "email": "michal.dzik@streamunlimited.com",
        "time": "Sun May 31 12:17:53 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Mon Jun 01 09:41:50 2026 -0400"
      },
      "message": "advertising: add property with advertisement Instance\n\nInstance is an internal value, but it must be exposed to client app if\nclient app wants to use a advertisement in BAP broadcast.\n\nSigned-off-by: Luiz Augusto von Dentz \u003cluiz.von.dentz@intel.com\u003e\n"
    },
    {
      "commit": "17fbb48d8f7c22d0702b3b9daf69f9c06231d774",
      "tree": "d75d0e184bab5743fd6da3367a4db92020e15c24",
      "parents": [
        "68edaa560e92d5ee39bd97a80e20afbd2cde3c8f"
      ],
      "author": {
        "name": "Frédéric Danis",
        "email": "frederic.danis@collabora.com",
        "time": "Thu May 28 09:49:38 2026 +0200"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Fri May 29 10:09:41 2026 -0400"
      },
      "message": "mgmt: Remove mgmt_ev[] strings of undefined MGMT events\n\nRemove event strings introduced in mgmt_ev[] but for which the MGMT\nevents has not been defined.\n\nThose events are already part of the events_le_table[] in\nmonitor/packet.c\n\nFixes: f9557931ad36 (\"monitor: Add decoding support for Sync Receiver events\")\n"
    },
    {
      "commit": "68edaa560e92d5ee39bd97a80e20afbd2cde3c8f",
      "tree": "a234511f0fc413760bd2742ab66fe2d00bbf775c",
      "parents": [
        "0039e1bec0a59ec3b3982113e06a0b16898b51b5"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue May 26 12:54:14 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue May 26 13:01:55 2026 -0400"
      },
      "message": "monitor: Add decoding support for LE Set Host Feature V2\n\nAdd decoding support for LE Set Host Feature V2 (0x2097) command\nwhich uses a 16-bit bit_number field to support extended LE feature\npages:\n\n\u003c HCI Command: LE Set Host F.. (0x08|0x0097) plen 3\n        Bit Number: 32\n        Features[0/0][8]:\n        00 00 00 00 01 00 00 00                          ........\n          Connected Isochronous Stream (Host Support)\n        Bit Value: 1\n\u003e HCI Event: Command Complete (0x0e) plen 4\n      LE Set Host Feature V2 (0x08|0x0097) ncmd 1\n        Status: Success (0x00)\n\nAssisted-by: OpenCode:claude-opus-4.6\n"
    },
    {
      "commit": "0039e1bec0a59ec3b3982113e06a0b16898b51b5",
      "tree": "c8d7ef449b7629db82c2d6c1135d19e8593212fa",
      "parents": [
        "b493164ffbff277bdb540f6d779ba4b4645b3679"
      ],
      "author": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue May 26 12:52:05 2026 -0400"
      },
      "committer": {
        "name": "Luiz Augusto von Dentz",
        "email": "luiz.von.dentz@intel.com",
        "time": "Tue May 26 12:52:05 2026 -0400"
      },
      "message": "emulator/btdev: Add LE Set Host Feature V2 command emulation\n\nAdd emulation for LE Set Host Feature V2 (0x2097) command which\nuses a 16-bit bit_number field (vs 8-bit in v1) to allow setting\nextended LE feature bits. The command bit is set at byte 47 bit 4\nas defined in bt.h.\n\nAssisted-by: OpenCode:claude-opus-4.6\n"
    }
  ],
  "next": "b493164ffbff277bdb540f6d779ba4b4645b3679"
}
