)]}'
{
  "log": [
    {
      "commit": "5835130a3a2471d7e929ac4171fe10f35016331f",
      "tree": "9c0fa1b225fc3af00068165bb0a9f6cda095c315",
      "parents": [
        "588da0f9b7f047c0b0ac21f9172b9fbf9ce0f0eb"
      ],
      "author": {
        "name": "Mynewt Bot",
        "email": "dev@mynewt.apache.org",
        "time": "Fri Sep 11 13:14:54 2026 +0000"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 15:54:35 2026 +0200"
      },
      "message": "porting: Update ports syscfg\n\nAutomated update of system configuration files.\nThis commit removes comments and adds missing license headers.\n"
    },
    {
      "commit": "588da0f9b7f047c0b0ac21f9172b9fbf9ce0f0eb",
      "tree": "42599f602711d87314f2d05dd3457dead3788b0e",
      "parents": [
        "6f84e638150c55bf8b9819d30c036b5b300f7c91"
      ],
      "author": {
        "name": "Magdalena Kasenberg",
        "email": "magdalena.kasenberg@codecoup.pl",
        "time": "Fri Aug 07 17:45:21 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 15:11:51 2026 +0200"
      },
      "message": "apps/bttester: Remove a leftover/broken implementation\n\nIt seems that the ccc_handle was intended to store the handle of the\nmost recently updated CCC descriptor, however the field was overwritten\nwith the descriptor value instead, so the unsubscription was failing.\nApart from that in the RAP profile test cases there are multiple\nsubscriptions and unsubscriptions, so the storing and the checks would\nbe an obstacle.\n"
    },
    {
      "commit": "6f84e638150c55bf8b9819d30c036b5b300f7c91",
      "tree": "b0a0eb9c9ad6e5f31d9af854c7db480ec41ba626",
      "parents": [
        "fce6ab6e17e9f86e66ef7057275826ea17117bd9"
      ],
      "author": {
        "name": "Szymon Czapracki",
        "email": "szymon.czapracki@codecoup.pl",
        "time": "Tue Mar 31 18:22:36 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 14:30:26 2026 +0200"
      },
      "message": "nimble/host: Implement NRPA rotation\n\nNew functionality for NRPA rotation.\nNRPA will use RPA_TIMEOUT as refresh time.\nOnly extended advertising set is affected by this change.\n"
    },
    {
      "commit": "fce6ab6e17e9f86e66ef7057275826ea17117bd9",
      "tree": "b19a1a633b2df3e0a68aeb2897ead92d7317a1e5",
      "parents": [
        "3242e6756cd81265162552c0a6a9d304804a3a63"
      ],
      "author": {
        "name": "Szymon Czapracki",
        "email": "szymon.czapracki@codecoup.pl",
        "time": "Tue Mar 31 18:21:22 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 14:30:26 2026 +0200"
      },
      "message": "bttester: Remove app driven NRPA rotation mechanism\n\nNRPA rotation was handled in bttester application.\nWe no longer want this, it\u0027s gonna by handled by host.\n"
    },
    {
      "commit": "3242e6756cd81265162552c0a6a9d304804a3a63",
      "tree": "b4d3140b984efe511b7b92a1ff7ecd92340c1945",
      "parents": [
        "6324387711b988a2c6e49cc348a39e543ebd70b4"
      ],
      "author": {
        "name": "Piotr Narajowski",
        "email": "piotr.narajowski@codecoup.pl",
        "time": "Mon Feb 23 17:10:42 2026 +0100"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 14:26:55 2026 +0200"
      },
      "message": "apps/bttester: implement ATT timeout event\n\nImplement a dedicated tester event for reporting timeout\nof gatt procedure to auto-pts. Whenever a gatt procedure\nwill timeout, application will be notified and att_timeout\nevent will be issued\n\nFix error status reading in callbacks\nWhen casting the value of status field from struct ble_gatt_error\nto uint8_t, the error code base was being ignored. As a result, all\nerrors were interpreted as ATT errors, which made it impossible to\ndetect other errors e.g. BLE_HS_ETIMEOUT.\n"
    },
    {
      "commit": "6324387711b988a2c6e49cc348a39e543ebd70b4",
      "tree": "e8b597c0b09286c4c6e935e5216ae95004f48c16",
      "parents": [
        "3c664f597dfb1fa93cd4e2acbb7a4946b3ec40c3"
      ],
      "author": {
        "name": "Piotr Narajowski",
        "email": "piotr.narajowski@codecoup.pl",
        "time": "Fri Aug 21 10:19:43 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 14:05:18 2026 +0200"
      },
      "message": "nimble/host: fix code style\n\nFix code style\n"
    },
    {
      "commit": "3c664f597dfb1fa93cd4e2acbb7a4946b3ec40c3",
      "tree": "b725d1fe6111b0b711e86372aba537a7be5af9ca",
      "parents": [
        "60d30a1ea081064374ff3ca798a08571193ffef3"
      ],
      "author": {
        "name": "Piotr Narajowski",
        "email": "piotr.narajowski@codecoup.pl",
        "time": "Fri Aug 21 10:10:43 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 14:05:18 2026 +0200"
      },
      "message": "nimble/host: Add Read Multiple Var Len timeout callback\n\nTimeout function related to Read Multiple Variable\nLength procedure was missing. The application was never\nnotified when this procedure has timed out.\n"
    },
    {
      "commit": "60d30a1ea081064374ff3ca798a08571193ffef3",
      "tree": "9586bab0489ef678f10eec6570c83fecf9b39e6e",
      "parents": [
        "133400779c08482ef49096bf5ee62635e00a3a54"
      ],
      "author": {
        "name": "Piotr Narajowski",
        "email": "piotr.narajowski@codecoup.pl",
        "time": "Mon Aug 17 13:27:02 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 14:05:07 2026 +0200"
      },
      "message": "apps/bttester: fix address lookup in gap_conn_find_by_addr\n\ngap_conn_find_by_addr lookup relied on the global peer_id_addr\nvariable to perform address matching. In test cases with\nmultiple concurrent connections, peer_id_addr was overwritten\nby the most recent event (e.g. connected, identity resolved)\ncausing comparison with address command parameter in BTP cmds\nto fail. Remove peer_id_addr and peer_ota_addr.\n"
    },
    {
      "commit": "133400779c08482ef49096bf5ee62635e00a3a54",
      "tree": "7b4e2b2e4f7a209b4927f70d3c2af602f6c7f142",
      "parents": [
        "a68d63fc5d96c97f641d35325b966a3968abbbb7"
      ],
      "author": {
        "name": "Piotr Narajowski",
        "email": "piotr.narajowski@codecoup.pl",
        "time": "Mon Aug 24 14:02:56 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 14:04:57 2026 +0200"
      },
      "message": "nimble/host: Fix handle validation in Read Mult Response\n\nIf one of the requested characteristic values filled the MTU,\nthis caused the while loop to exit early. Remaining handle\nvalidation was skipped and as a result a response was issued\neven when the remaining handle was invalid.\n\nValidate all requaste handles first. Move MTU check outside\nwhile loop and truncate the response if needed after all\nhandles were validated.\n\nFixes qualification test case GATT/SR/GAR/BI-19-C\n"
    },
    {
      "commit": "a68d63fc5d96c97f641d35325b966a3968abbbb7",
      "tree": "b72f31c190047e0a79c3444effcb84a1fae72587",
      "parents": [
        "6e354a94429493661c99705f917175d9c76b55ad"
      ],
      "author": {
        "name": "Mariusz Skamra",
        "email": "mariusz.skamra@codecoup.pl",
        "time": "Mon May 04 13:40:47 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 13:42:23 2026 +0200"
      },
      "message": "nimble/ll/test: Refactor ISO tests and implement test fixtures\n\nThis refactors the ISO test suite by introducing a dedicated test\nfixture, which ensures a clean state for every individual test case.\nBy automating the reset process, we reduce boilerplate code and make\nthe suite significantly easier to maintain and extend.\n\nAdditionally, the ISO test buffer size has been re-evaluated and\nadjusted to properly accommodate both the payload data and the\nrequired ISO headers, preventing potential buffer overflows during\ntesting.\n"
    },
    {
      "commit": "6e354a94429493661c99705f917175d9c76b55ad",
      "tree": "5442040d24204b69e48e7149267b672df8df9318",
      "parents": [
        "528377189934b1cfccf610254b372385fd7e2ccf"
      ],
      "author": {
        "name": "Mariusz Skamra",
        "email": "mariusz.skamra@codecoup.pl",
        "time": "Wed Apr 29 13:18:38 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 11:08:47 2026 +0200"
      },
      "message": "nimble/host: Refactor ble_iso_big_conn_handles_init\n\nThis refactors ble_iso_big_conn_handles_init macro into function.\nFew asserts have been added to catch the potential issues. The nested\nloop has been removed.\n"
    },
    {
      "commit": "528377189934b1cfccf610254b372385fd7e2ccf",
      "tree": "d3646b6ec7ad91d4602a4831125f67ecb8e98993",
      "parents": [
        "358645a8c09efcb6fe16e94f255a4bb095c081a5"
      ],
      "author": {
        "name": "Mariusz Skamra",
        "email": "mariusz.skamra@codecoup.pl",
        "time": "Wed Apr 29 13:15:34 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 11:08:47 2026 +0200"
      },
      "message": "nimble/host: Fix uninitialized ISO conn handle\n\nThis sets the initial conn handle value to 0xFFFF, which is the value\noutside of valid range.\n"
    },
    {
      "commit": "358645a8c09efcb6fe16e94f255a4bb095c081a5",
      "tree": "d13e2ef94bd849393e73d16c8bc9ee47ea53e7eb",
      "parents": [
        "2cf66a2b17235319d82e6ded7aa2a6ccdcc5eec6"
      ],
      "author": {
        "name": "Mariusz Skamra",
        "email": "mariusz.skamra@codecoup.pl",
        "time": "Wed Apr 29 13:13:54 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Sep 11 11:08:47 2026 +0200"
      },
      "message": "nimble/host: Fix the iso connection handle type\n\nThis fixes the connection handle type, which is two octet value as per\nCore specification.\n"
    },
    {
      "commit": "2cf66a2b17235319d82e6ded7aa2a6ccdcc5eec6",
      "tree": "4974e2d5eef213b4c47021dbeea568cc1bfe2414",
      "parents": [
        "8bb4c360d1f63f05681afa5c396844c70c5780ab"
      ],
      "author": {
        "name": "Szymon Czapracki",
        "email": "szymon.czapracki@codecoup.pl",
        "time": "Wed Apr 08 13:11:43 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Sep 09 22:14:41 2026 +0200"
      },
      "message": "nimble/bttester: Report connectable state in controller info\n\nSet CONNECTABLE in current_settings based on the current advertising\nparameters so controller_info reports the actual runtime state.\n"
    },
    {
      "commit": "8bb4c360d1f63f05681afa5c396844c70c5780ab",
      "tree": "724645aa84ac4c7206bdcb5d8def210379d73afe",
      "parents": [
        "613761c65aea043b6596a7510e2107a369391872"
      ],
      "author": {
        "name": "Szymon Czapracki",
        "email": "szymon.czapracki@codecoup.pl",
        "time": "Wed Apr 08 13:09:25 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Sep 09 22:14:41 2026 +0200"
      },
      "message": "nimble/bttester: Fix NRPA logic in bttester\n\nNRPA should only be allowed for non-connectable advertising.\nThe previous condition was inverted and rejected the valid case.\n\nReject NRPA only when advertising is connectable.\n"
    },
    {
      "commit": "613761c65aea043b6596a7510e2107a369391872",
      "tree": "f79143b6b2bf91111e1f0f3d69c698758a30d0ed",
      "parents": [
        "af4baa41eee008955784fc5d025b89d590ef1694"
      ],
      "author": {
        "name": "lewisjoshua1986",
        "email": "lewisjoshua1986@gmail.com",
        "time": "Sat Sep 05 03:09:53 2026 -0500"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Sep 09 21:27:54 2026 +0200"
      },
      "message": "npl/linux: Honor finite event queue timeouts\n\nThe Linux queue currently treats every nonzero timeout as an\nindefinite condition wait. An empty queue therefore never returns\nwhen a caller requests a finite timeout.\n\nUse a CLOCK_MONOTONIC condition variable and a normalized absolute\ndeadline for finite waits. Reuse the deadline after spurious wakeups\nand preserve nonblocking reads and BLE_NPL_TIME_FOREVER behavior.\n\nAdd a watchdog-bounded regression covering empty-queue expiration,\nqueued events, producer wakeups, and reuse after timeout. Register\nit in the Linux NPL test target."
    },
    {
      "commit": "af4baa41eee008955784fc5d025b89d590ef1694",
      "tree": "dd34ccb8bdc04e6699b2312a5fccd67a7c9d56d6",
      "parents": [
        "bb1a4ea4bf29b32c2d69c98fc7bc6f10f29e65fb"
      ],
      "author": {
        "name": "Gerard Marull-Paretas",
        "email": "gerard@teslabs.com",
        "time": "Tue Sep 08 13:55:49 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Sep 09 21:27:15 2026 +0200"
      },
      "message": "nimble/host: reset resource counts in ble_gatts_reset()\n\nble_gatts_count_cfg() only ever adds to ble_hs_max_services,\nble_hs_max_attrs and ble_hs_max_client_configs, and nothing ever\nresets them. ble_gatts_start() drops the added service definitions,\nso an application that resets the GATT server and registers its\nservices again (host stop/start cycles, MicroPython soft reboots) has\nto count them again, and every cycle grows the pools allocated by\nble_att_svr_start() and ble_gatts_start(). The only way to avoid the\nleak today is to poke the ble_hs_priv.h counters from application\ncode.\n\nClear the counters in ble_gatts_reset(), together with any service\ndefinitions added but not yet started (they would otherwise fail to\nregister against zero-sized pools), so the server really returns to\nits initial state and the next count/add/start sequence sizes the\npools from scratch. Adjust the test helper, which relied on the\ncounts preset by ble_hs_test_util_init() surviving the reset.\n\nFixes #896\n\nSigned-off-by: Gerard Marull-Paretas \u003cgerard@teslabs.com\u003e\n"
    },
    {
      "commit": "bb1a4ea4bf29b32c2d69c98fc7bc6f10f29e65fb",
      "tree": "7630dbd6021fdfc834a07e3625fbd39ff68b7544",
      "parents": [
        "21df8689a3fd8c454fe92444c44dcc863d1b8374"
      ],
      "author": {
        "name": "Mynewt Bot",
        "email": "dev@mynewt.apache.org",
        "time": "Wed Sep 09 06:09:51 2026 +0000"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Sep 09 21:26:42 2026 +0200"
      },
      "message": "ci: Update .clang-format from apache-mynewt-core\n"
    },
    {
      "commit": "21df8689a3fd8c454fe92444c44dcc863d1b8374",
      "tree": "17f9688d89406f8f0e75ed68dec4389a4911fc82",
      "parents": [
        "b5d3d3ce3bffe375138ae9d42da8a7071a48f4b1"
      ],
      "author": {
        "name": "Old-Ding",
        "email": "35417409+Old-Ding@users.noreply.github.com",
        "time": "Wed Jul 01 11:34:44 2026 +0800"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Sep 08 22:20:53 2026 +0200"
      },
      "message": "host: document GATT error status encoding\n\nClarify that ble_gatt_error.status follows the NimBLE host return-code\nconvention. Point readers to the return-code documentation instead of\ndescribing implementation-specific ATT encoding details.\n\nSigned-off-by: Old-Ding \u003c35417409+Old-Ding@users.noreply.github.com\u003e\n"
    },
    {
      "commit": "b5d3d3ce3bffe375138ae9d42da8a7071a48f4b1",
      "tree": "dcef61da8895bcd41c52a8008070b4e8fece0163",
      "parents": [
        "7c15ca55d62e1352aa171cedf6ffd1f908842f0b"
      ],
      "author": {
        "name": "94xhn",
        "email": "87560781+94xhn@users.noreply.github.com",
        "time": "Sun Jul 12 22:07:17 2026 +0800"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Sep 08 22:20:10 2026 +0200"
      },
      "message": "services/ans: Fix category 0 skipped by immediate-notify-all command\n\nThe Alert Notification Service control point handler for\nBLE_SVC_ANS_CMD_NOT_NEW_ALERT_IMMEDIATE and\nBLE_SVC_ANS_CMD_NOT_UNR_ALERT_IMMEDIATE loops over all supported\ncategories when the peer writes cat_id \u003d\u003d 0xff (\"all categories\"):\n\n    for (i \u003d BLE_SVC_ANS_CAT_NUM - 1; i \u003e 0; --i) {\n        if ((ble_svc_ans_new_alert_cat \u003e\u003e i) \u0026 0x01) {\n            ble_svc_ans_new_alert_notify(i, NULL);\n        }\n    }\n\nThe loop condition `i \u003e 0` stops before `i` reaches 0, so category ID\n0 (BLE_SVC_ANS_CAT_ID_SIMPLE_ALERT, \"Simple Alert\") is never notified\nby this path, even when it is enabled and has a pending alert. If\nSimple Alert is the only category the peer has enabled, a 0xff\nimmediate-notify request results in zero notifications being sent.\n\nChange the bound to `i \u003e\u003d 0` so category 0 is included, matching the\nsame fix in both the new-alert and unread-alert-status branches.\n\nSigned-off-by: 94xhn \u003c87560781+94xhn@users.noreply.github.com\u003e\n"
    },
    {
      "commit": "7c15ca55d62e1352aa171cedf6ffd1f908842f0b",
      "tree": "6305cc3a668850eca867c76e939d400aeb7b9a28",
      "parents": [
        "1e8ed60276f35a80ed4d4b4f8bb9d9c6fee53845"
      ],
      "author": {
        "name": "Szymon Czapracki",
        "email": "szymon.czapracki@codecoup.pl",
        "time": "Tue Jul 07 14:12:41 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Sep 08 22:08:01 2026 +0200"
      },
      "message": "ci: Modify clang-format for typename macros\n\nFixes vector of macros interpretation as type declarations.\n"
    },
    {
      "commit": "1e8ed60276f35a80ed4d4b4f8bb9d9c6fee53845",
      "tree": "db767db463a239b551fe7b6b2efe9ced65d78eee",
      "parents": [
        "480a88dc5e0aec87dfbc21f4bd745f0e317aacf9"
      ],
      "author": {
        "name": "Mynewt Bot",
        "email": "dev@mynewt.apache.org",
        "time": "Wed Aug 12 06:26:56 2026 +0000"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Aug 12 10:22:31 2026 +0200"
      },
      "message": "ci: Update .clang-format from apache-mynewt-core\n"
    },
    {
      "commit": "480a88dc5e0aec87dfbc21f4bd745f0e317aacf9",
      "tree": "2bdabeeb725e2af6102d978a95d2cf75e88889ac",
      "parents": [
        "e4c97c08480f1f3fc6635f68463eafeaaaaf1318"
      ],
      "author": {
        "name": "Piotr Narajowski",
        "email": "piotr.narajowski@codecoup.pl",
        "time": "Tue Jul 14 16:15:19 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Aug 11 15:03:26 2026 +0200"
      },
      "message": "apps/bttester: change BLE_STORE_MAX_CCCDS and BLE_SM_MAX_PROCS\n\nChange BLE_SM_MAX_PROCS and BLE_MAX_CONNECTIONS to 3. Currently\nthere are no test cases that require handling more than 3\nconcurrent connections.\nThis is needed for GATT/SR/GAN/BV-02-C qualification test case.\n"
    },
    {
      "commit": "e4c97c08480f1f3fc6635f68463eafeaaaaf1318",
      "tree": "314ac54d589fe408bb6deca4f1858d5f88cd2527",
      "parents": [
        "684406a3eaf42ce634e228bf202ebd4bd8d42904"
      ],
      "author": {
        "name": "Piotr Narajowski",
        "email": "piotr.narajowski@codecoup.pl",
        "time": "Wed Jul 15 16:10:32 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Aug 11 15:03:26 2026 +0200"
      },
      "message": "apps/bttester: refactor notify_mult\n\nRemove unnecessary ble_gap_conn_foreach_handle. Address passed\nin command parameters determines who should receive notification.\nChecking min or max number of handles that will be included in\nnotification should be handled by host.\n"
    },
    {
      "commit": "684406a3eaf42ce634e228bf202ebd4bd8d42904",
      "tree": "06133056395e8a7ff6eb88dc03df805391239982",
      "parents": [
        "70da7f3a05c3ded36c08c56e481fb400c5c29bac"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon May 11 11:00:52 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Aug 11 14:39:14 2026 +0200"
      },
      "message": "nimble/host: Rework ble_gatts_notify_multiple_custom\n\nSimplify ble_gatts_notify_multiple_custom implementation:\n - reject if peer doesn\u0027t support it (app shall check it)\n - fail if doesn\u0027t git in single ATT packet\n - fix missing cleanups on error\n - fix missing endianess convertions\n\nble_gatts_notify_multiple() is now very thin wrapper on top of\nble_gatts_notify_multiple_custom().\n"
    },
    {
      "commit": "70da7f3a05c3ded36c08c56e481fb400c5c29bac",
      "tree": "af83dc75d0febbf28fc9e44354b9de207441ebfd",
      "parents": [
        "fd9bdc9f8571f8ac736dfc21ec0cef19e81e03c8"
      ],
      "author": {
        "name": "Mynewt Bot",
        "email": "dev@mynewt.apache.org",
        "time": "Tue Jul 28 07:40:34 2026 +0000"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jul 28 10:17:29 2026 +0200"
      },
      "message": "porting: Update ports syscfg\n\nAutomated update of system configuration files.\nThis commit removes comments and adds missing license headers.\n"
    },
    {
      "commit": "fd9bdc9f8571f8ac736dfc21ec0cef19e81e03c8",
      "tree": "a2c550e1e6e4a4435cea035342a70d0572158298",
      "parents": [
        "33af54611a7396924b28cfefaa72151a269de3f8"
      ],
      "author": {
        "name": "Jarek Potiuk",
        "email": "jarek@potiuk.com",
        "time": "Tue Jul 28 09:30:50 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 28 09:30:50 2026 +0200"
      },
      "message": "docs: add security threat model + discoverability files\n\nAdds a v0 THREAT_MODEL.md (for the PMC to review, own, and merge)\nplus AGENTS.md and SECURITY.md providing the conventional\nAGENTS.md -\u003e SECURITY.md -\u003e THREAT_MODEL.md discoverability chain.\nAll three files are new and carry the ASF license header.\n\nGenerated-by: Claude Opus 4.8 (1M context)\n\n* Fold in Szymon Janc\u0027s PMC review answers\n\nSzymon reviewed the draft on 2026-07-24 and answered §14 Q1-Q14 inline.\nThe answers are folded into the body and retained in §14; the status\nbanner no longer claims the document is unreviewed.\n\nCorrections to the draft:\n\n- Tinycrypt support has been removed. The only supported crypto backend\n  is mbedTLS 3.6, with a move to the PSA crypto API planned. NimBLE\n  claims no constant-time or side-channel posture of its own; that rests\n  on the crypto library (§5a, §14 Q13).\n- The RNG is not \"the platform\u0027s\" in the vague sense the draft assumed.\n  Host-side randomness comes from the controller via HCI LE Rand\n  (ble_hs_hci_rand()), which the Bluetooth spec requires to be\n  FIPS-compliant; LE SC code may use a platform TRNG directly where\n  configured; controller-side it is typically the SoC hardware RNG (§5).\n- Bond/key persistence is outside core-host: it runs through callbacks\n  registered in ble_hs_cfg, so a backend may store keys in RAM, flash or\n  PSA. NimBLE ships one implementation (nimble/host/store/config); an\n  application may substitute its own. Store confidentiality is the\n  integrator\u0027s property (§5, §14 Q2).\n- Only legacy pairing is enabled by default (nimble/host/syscfg.yml), so\n  LE Secure Connections is an opt-in (§5a).\n- Direct Test Mode can be reachable in production if the application\n  allows it; it is compile-out-able but not compile-gated to test (§5a).\n\nSharpened for scan triage:\n\n- Advertising data is passed to the application WITHOUT LTV inspection.\n  Helpers exist but applications are not obliged to use them, so AD\n  parsing safety is shared with the integrator (§6).\n- Length fields are not guaranteed to stay within bounds on every layer\n  and must be checked, even though a peer must never write past the\n  provided buffer. Missing length validation on a radio-reachable path is\n  squarely in-model (§6, Q6).\n- COC terminates on credit overflow; the ATT prepared-write queue is\n  bounded by BLE_ATT_SVR_MAX_PREP_ENTRIES and a timeout, with per-\n  attribute permissions (§6, Q10/Q11).\n- Connection-flood / resource-exhaustion DoS is out of scope unless it is\n  an actual resource leak (§6, Q14).\n- HCI is a trust boundary in split builds; Szymon rates such bugs low\n  severity except where a controller bug lets a remote peer crash the\n  host (Q1).\n\nStill open: whether a silent security-level downgrade below what the\napplication requested is prevented (Szymon was not certain; the app does\nreceive an event on any security change), plus the meta questions Q15 and\nQ16.\n\nGenerated-by: Claude Opus 5 (1M context)"
    },
    {
      "commit": "33af54611a7396924b28cfefaa72151a269de3f8",
      "tree": "cbfe9dfd8f6be7fd564b20cd79ca0317feda4683",
      "parents": [
        "8a0b7c238167a645894a135e9ffa10c94e987127"
      ],
      "author": {
        "name": "Wiktor Kwiatkowski",
        "email": "wiktor.kwiatkowski@codecoup.pl",
        "time": "Fri Jul 10 14:08:11 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Jul 22 16:57:45 2026 +0200"
      },
      "message": "ci: Add body to PR commit message\n\nExpand the commit message in the ports syscfg update workflow to\ncomply with Apache commit style\n"
    },
    {
      "commit": "8a0b7c238167a645894a135e9ffa10c94e987127",
      "tree": "9d49a7a918551e158853af0efdde72960e5bfa51",
      "parents": [
        "1d3c98ff4675b6f2608ff046b6462609ee706169"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Jul 22 16:18:13 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Jul 22 16:49:34 2026 +0200"
      },
      "message": "ci: Fix workflow check action\n\nGithub started blocking PR code checkouts on pull_request_target.\nHowever, since this action only compares PR code and not actually\nrun any code from there it is safe to bypass this restriction.\n"
    },
    {
      "commit": "1d3c98ff4675b6f2608ff046b6462609ee706169",
      "tree": "a59566f204fc4c23f6ac479f5898ae0b44216399",
      "parents": [
        "60ecd1beef3f3f2841fedeea321c2823cb677b1f"
      ],
      "author": {
        "name": "Piotr Narajowski",
        "email": "piotr.narajowski@codecoup.pl",
        "time": "Thu Jan 30 16:13:01 2025 +0100"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Jul 22 16:20:42 2026 +0200"
      },
      "message": "apps: bttester: add set_val GATT command\n\nOpcode 0x06 and btp_cmd struct were previously defined in btp_gatt.h\nbut command implementation was missing. Can be used to send\nnotifications or indications.\n"
    },
    {
      "commit": "60ecd1beef3f3f2841fedeea321c2823cb677b1f",
      "tree": "ade42b4644da9ac90bff29b22086c2c425880c28",
      "parents": [
        "70b66aa18c2333fcb29a7baa0668d5dc8834b5a7"
      ],
      "author": {
        "name": "Piotr Narajowski",
        "email": "piotr.narajowski@codecoup.pl",
        "time": "Thu Jan 30 15:59:07 2025 +0100"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Jul 22 16:20:42 2026 +0200"
      },
      "message": "apps: bttester: refactor notification sending\n\nRemoves os_callout_init from tester_init_gatt and variables and\nfunctions related to it. Notifications/indications were sent\nright after peer has subscribed for notification (or indication).\nThis will be now handled by calling set_value btp command\nimplemented in another commit.\n"
    },
    {
      "commit": "70b66aa18c2333fcb29a7baa0668d5dc8834b5a7",
      "tree": "22a44a9b7c8442316790a6112a414dcb85364e1d",
      "parents": [
        "a7a156f28954819e158b62dd613008f22f9cf73b"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jul 21 09:11:22 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jul 21 10:25:36 2026 +0200"
      },
      "message": "repository: Apache NimBLE 1.10.0 release\n\nBump to latest stable release.\n"
    },
    {
      "commit": "a7a156f28954819e158b62dd613008f22f9cf73b",
      "tree": "28f4433f267f03a50af1c08caa6c49ff1f60c7cb",
      "parents": [
        "bfde0dce9e031a2a660f6a940549b5f18e1628da"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Jul 10 17:03:42 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Jul 10 17:40:15 2026 +0200"
      },
      "message": "Prepare for Apache NimBLE 1.10.0\n\nUpdate readme and repostiry files.\n"
    },
    {
      "commit": "bfde0dce9e031a2a660f6a940549b5f18e1628da",
      "tree": "40397835319792a590d5206a83b13ca6d5848084",
      "parents": [
        "2c9685eb276bb10d3ce65560b6194cca90997b9a"
      ],
      "author": {
        "name": "Gerard Marull-Paretas",
        "email": "gerard@teslabs.com",
        "time": "Tue Jul 07 17:55:20 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Jul 10 14:04:42 2026 +0200"
      },
      "message": "nimble/host: inherit characteristic security requirements in CCCD\n\nThe CCCD was registered with plain read/write permissions regardless of\nthe security declared on its characteristic, so any unencrypted client\ncould subscribe and receive an otherwise protected value via\nnotifications/indications, bypassing its protection.\n\nThe Core Specification leaves CCCD write permissions to the\nimplementation and anticipates gating them (Vol 3, Part G, 3.3.3.3;\nVol 3, Part F, 3.2.5). Zephyr already enforces this: the CCC carries\nits own security permissions, and the value\u0027s read security is checked\nin the notify/indicate send path. NimBLE auto-generates the CCCD with\nno per-descriptor permission API, so inherit the characteristic\u0027s\nsecurity requirements to achieve the same protection.\n\nRequire for the CCCD write the union of the characteristic\u0027s read and\nwrite encryption/authentication flags, derived via\nble_gatts_att_flags_from_chr_flags to keep a single mapping point, and\npropagate min_key_size as well. Authorization flags are deliberately\nnot inherited: ble_att_svr_check_perms does not enforce authorization\n(left to the access callback, which for the CCCD is stack-internal),\nand the flag alone would activate the min_key_size check, rejecting\nevery CCCD write on an unencrypted link. CCCD reads remain\nunprotected, per Vol 3, Part G, 3.3.3.3.\n\nSigned-off-by: Gerard Marull-Paretas \u003cgerard@teslabs.com\u003e\n"
    },
    {
      "commit": "2c9685eb276bb10d3ce65560b6194cca90997b9a",
      "tree": "14c709af7cfc294bdde5f32349eccec44bc69fa3",
      "parents": [
        "7af6db17dfc82a03f24e7ba08e097139588ccd8d"
      ],
      "author": {
        "name": "Piotr Narajowski",
        "email": "piotr.narajowski@codecoup.pl",
        "time": "Tue Jul 07 16:47:37 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Jul 10 12:48:43 2026 +0200"
      },
      "message": "nimble/host/att: Fix handle validation for Read Mult Var Req\n\nIf one of the requested characteristic values filled the MTU,\nthis caused the while loop to exit early. As a result, we skipped\nchecking remaining handles and incorrectly retuned a succesful\nresponse even when the remaining handles were invalid.\n\n-Move MTU check from while loop into the loop body to enforce\nvalidation on all requested handles.\n-validate all requested handles event after MTU fills up\n\nFixes qualification test case GATT/SR/GAR/BI-38-C.\n"
    },
    {
      "commit": "7af6db17dfc82a03f24e7ba08e097139588ccd8d",
      "tree": "36ea95ccbf3423e638d08f4c1e496aa46480b06f",
      "parents": [
        "8ff69284601f96a1e4d26e13885d037e5da0e7f4"
      ],
      "author": {
        "name": "Magdalena Kasenberg",
        "email": "magdalena.kasenberg@codecoup.pl",
        "time": "Fri Jul 03 17:50:56 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jul 07 09:38:22 2026 +0200"
      },
      "message": "apps/bttester: Fix null pointer dereference\n\nThe \u0027cmd\u0027 is a pointer to struct btp_buf, not a flat buffer.\nThe \u0027ev\u0027 field of the \u0027struct btp_buf\u0027 is initiated only once, in the\navail_queue_init(void) function, so the \u0027struct btp_buf\u0027 instance\ncannot be completely zeroed out when restoring to \u0027avail_queue\u0027.\n"
    },
    {
      "commit": "8ff69284601f96a1e4d26e13885d037e5da0e7f4",
      "tree": "f8cced196891a6edb0eae0bcfd279649099c076d",
      "parents": [
        "5dd816797044a1af4bd1541d190fd4feec747371"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 09 11:52:11 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Jun 26 09:48:06 2026 +0200"
      },
      "message": "ci: Use proper NuttX sample for testing\n\nSelect example app from NimBLE tree instead of Nuttx upstream. Also\nproperly tune build for PR hash and include upstream NimBLE\nconfiguration with sample. This is due to NuttX not following our\nmaster branch but selected snapshots/releases with custom\nconfiguration.\n"
    },
    {
      "commit": "5dd816797044a1af4bd1541d190fd4feec747371",
      "tree": "dacebe899cfaef1a6d42dd4d1b3a88ec3c8e3d2c",
      "parents": [
        "855c03636844d3d4c0f93af41429172f7167df98"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 09 11:44:25 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Jun 26 09:48:06 2026 +0200"
      },
      "message": "nimble/porting: Update example to latest NuttX changes\n\nArchitecture-specific initialization is no longer required from\napplication code.\n"
    },
    {
      "commit": "855c03636844d3d4c0f93af41429172f7167df98",
      "tree": "57c3a01f19928482b217d59c6e9fff559902913c",
      "parents": [
        "593f95227a4073efde840a9bb34614929dfa7ed1"
      ],
      "author": {
        "name": "Mynewt Bot",
        "email": "dev@mynewt.apache.org",
        "time": "Wed Jun 24 09:55:33 2026 +0000"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Jun 24 21:19:41 2026 +0200"
      },
      "message": "porting: Update ports syscfg\n"
    },
    {
      "commit": "593f95227a4073efde840a9bb34614929dfa7ed1",
      "tree": "2b54f43c183620f4a60554ae11bfee8921f3eadb",
      "parents": [
        "ef5866ce5df87e82300acc75fa4351a47fb9466c"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Thu May 14 09:01:13 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Jun 24 11:35:56 2026 +0200"
      },
      "message": "nimble/mesh: Check buffer space before relaying proxy message\n\nCheck if there is enough space left in message buffer before appending.\nThis prevents passing broken messages to higher layer.\n"
    },
    {
      "commit": "ef5866ce5df87e82300acc75fa4351a47fb9466c",
      "tree": "6061a6095d6ebe636b76f5a073b82dc7daf73a97",
      "parents": [
        "e7a31363a97f5e80a178358f0dc85369417f62f9"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri May 29 15:24:46 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 23 11:24:29 2026 +0200"
      },
      "message": "porting: Update ports syscfg\n\nMake sure ports build with current syscfg.\n"
    },
    {
      "commit": "e7a31363a97f5e80a178358f0dc85369417f62f9",
      "tree": "6d9100209521a8f1beb34923b3bf5c6f8fdc5076",
      "parents": [
        "e2e040a1f58f9fffdcff7d98d2c3553f33bf09b7"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri May 29 14:43:20 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 23 11:24:29 2026 +0200"
      },
      "message": "ci: Setup Mbed TLS 3.6 for linux port examples\n\nLatests GHA ubuntu provides only MbedTLS2 so we have to prepare custom\nsetup with required version instead.\n"
    },
    {
      "commit": "e2e040a1f58f9fffdcff7d98d2c3553f33bf09b7",
      "tree": "f88555076de77b98d527582d85fa1529b9524a5c",
      "parents": [
        "4e6a436377a0b3c607fcaaa4ac5b5eb351ffba46"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed May 27 14:47:19 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 23 11:24:29 2026 +0200"
      },
      "message": "porting: Build ports with MbedTLS\n\nTinycrypt support is being removed from NimBLE.\n"
    },
    {
      "commit": "4e6a436377a0b3c607fcaaa4ac5b5eb351ffba46",
      "tree": "b75157047fab2b99d0bee14cb388225c6e8f20ed",
      "parents": [
        "e0f96530af9a47e21afaf92019adc91a417f8ace"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed May 27 12:22:52 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 23 11:24:29 2026 +0200"
      },
      "message": "ext/tinycrypt: Remove code from tree\n\nTinycrypt is no longer maintained and NimBLE is now using Mbed TLS.\n"
    },
    {
      "commit": "e0f96530af9a47e21afaf92019adc91a417f8ace",
      "tree": "810431d70050280264ad4d798652275ddf5ee77e",
      "parents": [
        "21b332153238b560c9305ccfa21c580cb2475c1d"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed May 27 11:53:59 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 23 11:24:29 2026 +0200"
      },
      "message": "nimble/mesh: Use Mbed-TLS for crypto\n\nSo far TinyCRYPT library was used but it is no longer being\nmaintained. This converts code to use Mbed TLS instead.\n"
    },
    {
      "commit": "21b332153238b560c9305ccfa21c580cb2475c1d",
      "tree": "7c43719dc7582e48eaaa94594ff1eef6ce918ed7",
      "parents": [
        "cc902b6a5f75688fa50c566ba7a4a0f7a91d26c3"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed May 27 10:37:52 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 23 11:24:29 2026 +0200"
      },
      "message": "nimble/phy/cmac: Use Mbed-TLS for AES\n\nSo far TinyCRYPT library was used but it is no longer being\nmaintained. This converts code to use Mbed TLS instead.\n"
    },
    {
      "commit": "cc902b6a5f75688fa50c566ba7a4a0f7a91d26c3",
      "tree": "08bf742239daf8b4441f60ec9bab35f0c41fd617",
      "parents": [
        "d804258f2e7f70c71605b097a0f73f0a47f655a4"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed May 27 09:53:11 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 23 11:24:29 2026 +0200"
      },
      "message": "nimble/ll: Use Mbed-TLS in LL crypto\n\nSo far TinyCRYPT library was used in LL crypto but it is no longer\nbeing maintained. This converts code to use Mbed TLS instead.\n"
    },
    {
      "commit": "d804258f2e7f70c71605b097a0f73f0a47f655a4",
      "tree": "0048945c8412e14fc85a8186d7403940c5fee9ca",
      "parents": [
        "793cb161208856bbaa92e8825793fc824e15e206"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed May 27 09:34:36 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 23 11:24:29 2026 +0200"
      },
      "message": "nimble/host: Use Mbed-TLS in Security Manager\n\nSo far TinyCRYPT library was used in SM. This converts\ncode to use Mbed TLS instead.\n"
    },
    {
      "commit": "793cb161208856bbaa92e8825793fc824e15e206",
      "tree": "216a10fe257358ec6590d79ed2a1860774836fa7",
      "parents": [
        "c799e01f4abdcfc381a5c4dfdc7277f181fb25af"
      ],
      "author": {
        "name": "Mariusz Skamra",
        "email": "mariusz.skamra@codecoup.pl",
        "time": "Mon May 04 11:38:38 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 09 12:05:57 2026 +0200"
      },
      "message": "nimble: Fix the HCI ISO packet lost status value\n\nAs per the Core, the Packet_Status_Flag of an HCI ISO Data packet must\nbe one of the following: 0b00, 0b01, or 0b10.\nThis fixes the BLE_HCI_ISO_PKT_STATUS_LOST value which shall be 0x02\n(0b10).\n"
    },
    {
      "commit": "c799e01f4abdcfc381a5c4dfdc7277f181fb25af",
      "tree": "9243bd8aa90c5d9b1b45ae16270f93b1a120ab61",
      "parents": [
        "f03251d2dc257aefa5fc91491fa5a067b8cea47b"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 09 10:31:55 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 09 11:42:48 2026 +0200"
      },
      "message": "nimble/transport: Fix Nuttx socket build\n\nThere was a typo in MYNEWT_VAL_CHOICE name when buidling for NuttX.\n"
    },
    {
      "commit": "f03251d2dc257aefa5fc91491fa5a067b8cea47b",
      "tree": "56508caa1c64876dcbc59e44261f0d4630d9823a",
      "parents": [
        "8f357e8827d5dab0f37182769c459fe66706d595"
      ],
      "author": {
        "name": "Szymon Czapracki",
        "email": "szymon.czapracki@codecoup.pl",
        "time": "Tue May 26 13:25:09 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Jun 02 07:46:32 2026 +0200"
      },
      "message": "nimble: Add BLE version 6.2 and 6.3 definitions\n\nUpdates the system configuration with Bluetooth versions 6.2 and 6.3.\n\nWires up the corresponding Host Controller Interface (HCI)\nand Link Manager Protocol (LMP) version definitions required\nfor these newer specifications.\n"
    },
    {
      "commit": "8f357e8827d5dab0f37182769c459fe66706d595",
      "tree": "eb228ed047a5c2c56156684731a517f325bca8e7",
      "parents": [
        "a7bdd2fcfa6229a1fb3aa2e47b1110162c265e5e"
      ],
      "author": {
        "name": "Manuel Navarrete",
        "email": "mnavarrete@inbrain-neuroelectronics.com",
        "time": "Fri May 29 13:57:28 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 15:57:28 2026 +0200"
      },
      "message": "nimble/ll: replace min() macro with MIN()\n\nReplace min() macro usage with MIN() for portability reasons."
    },
    {
      "commit": "a7bdd2fcfa6229a1fb3aa2e47b1110162c265e5e",
      "tree": "d781ada14355b3a47a81406b271c9e5f47a44083",
      "parents": [
        "93de108d1951971377eec7af0627f4164a4e6553"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed May 27 15:38:19 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri May 29 15:21:09 2026 +0200"
      },
      "message": "porting: Update ports syscfg\n\nMake sure ports build with current syscfg.\n"
    },
    {
      "commit": "93de108d1951971377eec7af0627f4164a4e6553",
      "tree": "78b1b896a9967b6a1460993e1bd61cd06bb2457f",
      "parents": [
        "6c72595785368b265a20227306cdb7ce1368c7b5"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed May 27 15:25:22 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri May 29 15:21:09 2026 +0200"
      },
      "message": "ports: Add linux_blemesh_shell to update_generated_files.sh\n\nlinux_blemesh_shell shall also use latest syscfg.\n"
    },
    {
      "commit": "6c72595785368b265a20227306cdb7ce1368c7b5",
      "tree": "298a466376ac1af7d983decc2fff662612858b64",
      "parents": [
        "dcc4e4f026109eecd507de9479bb5019306a4a41"
      ],
      "author": {
        "name": "Szymon Czapracki",
        "email": "szymon.czapracki@codecoup.pl",
        "time": "Wed May 20 16:31:15 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue May 26 13:31:30 2026 +0200"
      },
      "message": "btp: Coding style fix for BTP handles\n\nClang-format was flagging these structures as invalid.\nThis led to many failing CI\u0027s during PR process.\n\nAs there is no specific option in cf to enforce existing\nstyle, change this to format that cf will accept.\n"
    },
    {
      "commit": "dcc4e4f026109eecd507de9479bb5019306a4a41",
      "tree": "669190512972a57748b2ec2fb9abb04360f258d4",
      "parents": [
        "be229e7269fe4ee3ebebee57394666a52a835b99"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri May 08 12:48:49 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed May 20 09:37:58 2026 +0200"
      },
      "message": "nimble/transport/socket: Drop too big HCI events\n\nIf received H4 event is too big for configured mempool just drop it.\n"
    },
    {
      "commit": "be229e7269fe4ee3ebebee57394666a52a835b99",
      "tree": "4153bbf88f1361e109131e05267c55544a0b6fa7",
      "parents": [
        "1700705460261ce3ceb4bd00ee83d335e0e0a1d0"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue May 12 14:17:46 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri May 15 15:31:29 2026 +0200"
      },
      "message": "nimble/audio/bass: Fix Modify Source operation PDU parsing\n\nNum_Subgroups is 1 byte so adjust accordingly. Also validate received\ndata while parising it. In case of error reject operation.\n"
    },
    {
      "commit": "1700705460261ce3ceb4bd00ee83d335e0e0a1d0",
      "tree": "293d720db8bb42c3ed33ab720200f67b3d47f63a",
      "parents": [
        "24c17b6b211b7175a099be08760d2a83b317789d"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue May 12 14:05:23 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri May 15 15:31:29 2026 +0200"
      },
      "message": "nimble/audio/bass: Fix parsing add source operation\n\nCheck if enough data is present before parsing sub groups.\n"
    },
    {
      "commit": "24c17b6b211b7175a099be08760d2a83b317789d",
      "tree": "02f9c746cf201b4857a21704fb80166b6bcfafea",
      "parents": [
        "fae6a4874309ba0175d2c444e20f8a6bde007425"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue May 12 13:23:55 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri May 15 15:31:29 2026 +0200"
      },
      "message": "nimble/audio/bass: Check number of subgroups in Add Source operation\n\nReject operation if number of subgroups exceeds maximum supported.\n"
    },
    {
      "commit": "fae6a4874309ba0175d2c444e20f8a6bde007425",
      "tree": "b97fbae3fd022176a8490f4a382bf4cdecbc127c",
      "parents": [
        "3ecdf4e32142382ab7acc15cf6a243fd2e1ab930"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue May 12 09:37:17 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri May 15 15:30:39 2026 +0200"
      },
      "message": "nimble/host: Refactor GATT Read Multiple Variable Char Value response\n\nThis reworks ATT_READ_MULTIPLE_VARIABLE_RSP parsing. If response\ndoesn\u0027t match request (number of values requested) or LV parsing\nshows incorrect format we ignore that and report error to app.\n"
    },
    {
      "commit": "3ecdf4e32142382ab7acc15cf6a243fd2e1ab930",
      "tree": "b3dbaff1851ae4654373fa2a7f468b55437a0558",
      "parents": [
        "48a2d3e36c1be412780717970cb5fdcac097cece"
      ],
      "author": {
        "name": "Szymon Czapracki",
        "email": "szymon.czapracki@codecoup.pl",
        "time": "Thu Apr 30 15:19:37 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri May 15 14:48:41 2026 +0200"
      },
      "message": "ci: Add clang style specific file ignore config\n\nDelete deprecated directory ignore configuration.\nIntroduce clang specific file providing the same functionality.\n"
    },
    {
      "commit": "48a2d3e36c1be412780717970cb5fdcac097cece",
      "tree": "c4fbfa3cfe86f694ea86b40eab7b7917662d6e55",
      "parents": [
        "9448c5f495eb55018121b24a9dab5305c9222ea1"
      ],
      "author": {
        "name": "Jerzy Kasenberg",
        "email": "jerzy.kasenberg@codecoup.pl",
        "time": "Tue May 12 10:07:44 2026 +0200"
      },
      "committer": {
        "name": "Andrzej Kaczmarek",
        "email": "andrzej.kaczmarek@codecoup.pl",
        "time": "Wed May 13 15:20:41 2026 +0200"
      },
      "message": "nimble/transport: Add missing function for USB\n\nble_transport_to_hs_iso_impl was missing preventing\nusage of USB transport.\n\nSigned-off-by: Jerzy Kasenberg \u003cjerzy.kasenberg@codecoup.pl\u003e\n"
    },
    {
      "commit": "9448c5f495eb55018121b24a9dab5305c9222ea1",
      "tree": "bcb8a53cc75c997789f433db3968b65cbcb9ec05",
      "parents": [
        "ece8a7bfffa597e29e65873759eac8843895819b"
      ],
      "author": {
        "name": "Wiktor Kwiatkowski",
        "email": "wiktorkwiatkowski143@gmail.com",
        "time": "Fri May 08 15:55:33 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon May 11 16:14:18 2026 +0200"
      },
      "message": "nimble/host: Fix NULL pointer dereference on invalid conn_handle\n\nAdded a check to verify if the connection object is not NULL.\nThis prevents a crash when debug assertions are disabled.\n"
    },
    {
      "commit": "ece8a7bfffa597e29e65873759eac8843895819b",
      "tree": "866a891f5002645627231c4dbd0cd840872aa090",
      "parents": [
        "0558335d3da40d0064413ec6ba4d5f7c7b248bb9"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon May 11 11:02:08 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon May 11 13:40:35 2026 +0200"
      },
      "message": "ci: Use mcuboot from main branch for unittests\n\nThis is temporary solution until next mcuboot release which will\ncontain required fix.\n"
    },
    {
      "commit": "0558335d3da40d0064413ec6ba4d5f7c7b248bb9",
      "tree": "e56ff06bb46fee691ed0803022c369d164ab9439",
      "parents": [
        "c72c87f9452023b2fa3cf5cb979ab27e27a7142d"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Apr 28 16:20:53 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Thu May 07 20:54:30 2026 +0200"
      },
      "message": "nimble/ll: Validate LL_CONNECTION_UPDATE_IND parameters\n\nIf values are outside of spec link is disconnected with proper reason\ncode.\n"
    },
    {
      "commit": "c72c87f9452023b2fa3cf5cb979ab27e27a7142d",
      "tree": "9254236a74f291be5ca8e2664cda7cb41695f79e",
      "parents": [
        "27b68922ca91e38f5a3ad18219e1368bf8c5f095"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon May 04 13:33:55 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Thu May 07 13:20:38 2026 +0200"
      },
      "message": "nimble/transport: Add compiler error on invalid socket type\n\nGive clear compiler error if no valid socket type is selected.\n"
    },
    {
      "commit": "27b68922ca91e38f5a3ad18219e1368bf8c5f095",
      "tree": "3219a50c0a5e2551392f1a433a7f96a486c10bc9",
      "parents": [
        "2f990a9d0631ff2e3576ade3b1d2464c7def7869"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon May 04 13:31:55 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Thu May 07 13:20:38 2026 +0200"
      },
      "message": "nimble/transport/socket: Fix typo in syscfg description\n\nIt should be linux_blue instead of linux_bluez.\n"
    },
    {
      "commit": "2f990a9d0631ff2e3576ade3b1d2464c7def7869",
      "tree": "c7f1e5bdbc2d753f018f481666469d730a48dba3",
      "parents": [
        "4a9b3e94c892973cefcb76a948a39c8b41108d7b"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon May 04 12:54:16 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Thu May 07 12:35:06 2026 +0200"
      },
      "message": "nimble/host: Initialize att_len in ble_att_svr_service_uuid\n\nThis is false positive as apparently some compilers don\u0027t handle\nrc and attr_len correlation correctly.\n\nIn function \u0027ble_att_svr_service_uuid\u0027,\n    inlined from \u0027ble_att_svr_build_read_group_type_rsp\u0027 at nimble/mynewt-nimble/nimble/host/src/ble_att_svr.c:1956:22,\n    inlined from \u0027ble_att_svr_rx_read_group_type\u0027 at nimble/mynewt-nimble/nimble/host/src/ble_att_svr.c:2101:10:\nnimble/mynewt-nimble/nimble/host/src/ble_att_svr.c:1833:10: warning: \u0027attr_len\u0027 may be used uninitialized [-Wmaybe-uninitialized]\n 1833 |     rc \u003d ble_uuid_init_from_buf(uuid, val, attr_len);\n      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nnimble/mynewt-nimble/nimble/host/src/ble_att_svr.c: In function \u0027ble_att_svr_rx_read_group_type\u0027:\nnimble/mynewt-nimble/nimble/host/src/ble_att_svr.c:1824:14: note: \u0027attr_len\u0027 was declared here\n 1824 |     uint16_t attr_len;\n"
    },
    {
      "commit": "4a9b3e94c892973cefcb76a948a39c8b41108d7b",
      "tree": "3368f2e81d17e6aaee0de6cf46f6365713c6a46a",
      "parents": [
        "fad6e229faa69539a5099a813bb1a18ca55070d3"
      ],
      "author": {
        "name": "Gerard Marull-Paretas",
        "email": "gerard@teslabs.com",
        "time": "Tue May 05 16:38:01 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Thu May 07 09:15:16 2026 +0200"
      },
      "message": "host: reset privacy state when resetting\n\nWithout this fix, ble_hs_reset() left the privacy module\u0027s cached IRK\nand started flag intact, so the next ble_hs_sync()\u0027s call to\nble_hs_pvcy_set_our_irk() short-circuited on the unchanged IRK and\nskipped re-enabling resolution plus rebuilding the resolving list.\nThe controller had cleared both on its side, so RPA-based reconnects\nafter a host reset came in unresolved and the host couldn\u0027t match them\nto bonded peers.\n\nMirror what ble_hs_stop() already does and call ble_hs_pvcy_reset()\nfrom ble_hs_reset() so the next set_our_irk() does the full\nclear/enable/add sequence, matching the first-boot path.\n\nSigned-off-by: Gerard Marull-Paretas \u003cgerard@teslabs.com\u003e\n"
    },
    {
      "commit": "fad6e229faa69539a5099a813bb1a18ca55070d3",
      "tree": "04322cb252aca83881f0e9b45e0155474100c5ab",
      "parents": [
        "8b6f3e819118a1839e5f238bfe1797d64878dc3d"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Apr 28 15:12:07 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon May 04 16:41:37 2026 +0200"
      },
      "message": "nimble/ll: Validate channel map in LL_CHANNEL_MAP_IND\n\nCheck if received LL_CHANNEL_MAP_IND contains valid channel map.\nIf map is invalid (less than 2 channels used) we terminate link\nwith proper reason.\n"
    },
    {
      "commit": "8b6f3e819118a1839e5f238bfe1797d64878dc3d",
      "tree": "730a2d0ac31e9478a06427599a52aeaa2c250d6b",
      "parents": [
        "9ca0c718f05a0456507051bc91121d34314f610b"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Apr 28 12:51:01 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Apr 28 16:34:28 2026 +0200"
      },
      "message": "ci: Use more descriptive workflows names\n\nThose are used in CI badges so make them a bit more self explanatory.\n"
    },
    {
      "commit": "9ca0c718f05a0456507051bc91121d34314f610b",
      "tree": "8dc0cd175f682e11c8fd40072559b4b86b93a670",
      "parents": [
        "e23f8444458db75680d81258a33e448f22c9d468"
      ],
      "author": {
        "name": "Deomid rojer Ryabkov",
        "email": "rojer@rojer.me",
        "time": "Fri Apr 17 23:59:10 2026 +0300"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Apr 28 11:17:41 2026 +0200"
      },
      "message": "host: Fix recursive lock in ble_hs_stop_done\n\nble_hs_stop_done() held ble_hs_lock while calling ble_gap_reset_state()\nwhich acquires the same lock via ble_hs_atomic_first_conn_handle()\nand ble_gap_conn_broken(). On platforms with non-recursive mutexes this\ncauses a deadlock or assertion failure.\n\nMove ble_hs_stop_hci_reset(), ble_gap_reset_state(), ble_hs_id_reset(),\nand ble_hs_pvcy_reset() outside the locked section. These functions\neither manage their own locking internally or don\u0027t need the lock.\nble_hs_enabled_state is set to OFF under the lock before releasing,\npreventing new operations.\n"
    },
    {
      "commit": "e23f8444458db75680d81258a33e448f22c9d468",
      "tree": "0cd0b2be826d3123772696aff2b3f04df2832e73",
      "parents": [
        "c68c467c7c61c49a6ae0281640442ca8285d493c"
      ],
      "author": {
        "name": "Mynewt Bot",
        "email": "dev@mynewt.apache.org",
        "time": "Mon Apr 27 13:19:56 2026 +0000"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Apr 28 11:17:23 2026 +0200"
      },
      "message": "porting: Update ports syscfg\n"
    },
    {
      "commit": "c68c467c7c61c49a6ae0281640442ca8285d493c",
      "tree": "631c4f119f6e357bc5d485f2e189c6bd3e1964b0",
      "parents": [
        "3d73d2d05824abf7e4c43e167f322b4767dab82f"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon Apr 27 11:33:50 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon Apr 27 15:15:47 2026 +0200"
      },
      "message": "ci: Bump to use ARM GCC 15\n\nThis add ARM GCC 15.2 to test coverage.\n"
    },
    {
      "commit": "3d73d2d05824abf7e4c43e167f322b4767dab82f",
      "tree": "6cdb1760bd5fda8a7bbc73071292bf3458a3938c",
      "parents": [
        "bbe32b73c8fe7195ed9102971f3d85c0407af756"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon Apr 20 13:57:22 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon Apr 27 15:12:01 2026 +0200"
      },
      "message": "porting: Update ports syscfg\n\nMake sure ports build with current syscfg.\n"
    },
    {
      "commit": "bbe32b73c8fe7195ed9102971f3d85c0407af756",
      "tree": "ed042f2d75fb34f1b54d04641f5ec535533b06a3",
      "parents": [
        "fcaa3d5ef678c89ef8db8474bf31a4d24a947dfa"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon Apr 20 12:32:05 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon Apr 27 15:12:01 2026 +0200"
      },
      "message": "nimble/transport/socket: Use choice for socket type selection\n\nThis make it easier to properly configure transport and avoiding\npossible compilation errors.\n"
    },
    {
      "commit": "fcaa3d5ef678c89ef8db8474bf31a4d24a947dfa",
      "tree": "ad4163ce5a42b7e96624afb1b9a7b3a0e130b471",
      "parents": [
        "f45f66850d471a1f9c8b6cfb66c245d4000e68ee"
      ],
      "author": {
        "name": "Deomid rojer Ryabkov",
        "email": "deomid.ryabkov@shelly.com",
        "time": "Sat Apr 18 00:00:06 2026 +0300"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon Apr 27 15:11:50 2026 +0200"
      },
      "message": "host/gap: Handle BLE_GAP_OP_NULL in ble_gap_master_failed\n\nble_gap_reset_state() calls ble_gap_master_failed() unconditionally.\nWhen no master procedure is active (op \u003d\u003d BLE_GAP_OP_NULL), this\nhits an unconditional BLE_HS_DBG_ASSERT(0) in the default case.\n\nThis happens when the host is stopped while no scanning or connection\nis in progress.\n\nAdd an explicit case for BLE_GAP_OP_NULL that does nothing.\n"
    },
    {
      "commit": "f45f66850d471a1f9c8b6cfb66c245d4000e68ee",
      "tree": "843c355d5077ea0bd8976a2a41baccd2ce3e73dd",
      "parents": [
        "bd6d94c88fa12b47482a77d1284279870ed86058"
      ],
      "author": {
        "name": "Guy Mishol",
        "email": "guym@ti.com",
        "time": "Tue Apr 07 16:42:08 2026 +0300"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Apr 15 14:59:58 2026 +0200"
      },
      "message": "host/sm: Reject Legacy pairing confirm reflection attack\n\nWhen the responder mirrors the initiator\u0027s confirm and random\nvalues (Sconfirm\u003dMconfirm, Srand\u003dMrand), the c1 check passes\ntrivially, bypassing mismatch detection and causing an HCI\nencryption failure (0x06) instead of Pairing Failed (0x04).\n\nDetect Srand\u003d\u003dMrand in ble_sm_lgcy_random_rx and abort\nwith LE_SM_ERR_CONFIRM_MISMATCH.\n\nFixes SM/CEN/JW/BI-06-C and SM/CEN/PKE/BI-03-C\n"
    },
    {
      "commit": "bd6d94c88fa12b47482a77d1284279870ed86058",
      "tree": "d8e970160c36134d284bcf791f2e218a868574c1",
      "parents": [
        "55c2d46e644cf9124ef382c93559ac016337cc39"
      ],
      "author": {
        "name": "Gerard Marull-Paretas",
        "email": "gerard@teslabs.com",
        "time": "Mon Mar 30 10:53:49 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Apr 15 14:42:30 2026 +0200"
      },
      "message": "nimble/host: L2CAP fallback for LL conn param rejection\n\nWhen the peripheral calls ble_gap_update_params() and the peer\u0027s\nsupported features indicate CONN_PARAM_REQUEST support, NimBLE sends\nthe LE Connection Update HCI command. However, if the peer\u0027s controller\ndoes not support the BLE 4.1 LL Connection Parameters Request procedure,\nthe HCI command is rejected synchronously with\nBLE_ERR_UNSUPP_REM_FEATURE (0x1a).\n\nNimBLE already handles this error asynchronously in\nble_gap_rx_update_complete() by falling back to L2CAP signaling, but\nthe synchronous rejection path had no such fallback, causing the update\nto fail and be retried futilely by upper layers.\n\nAdd a synchronous fallback: when ble_gap_update_tx() returns\nBLE_ERR_UNSUPP_REM_FEATURE and the local device is the slave, switch to\nthe L2CAP Connection Parameter Update Request procedure.\n\nSigned-Off-By: Gerard Marull-Paretas \u003cgerard@teslabs.com\u003e\n"
    },
    {
      "commit": "55c2d46e644cf9124ef382c93559ac016337cc39",
      "tree": "b0cb1d03ee8c984c5452c6f7e1e9a631f4dba345",
      "parents": [
        "e49531b541402123741ae21b8728b1b301e45ef1"
      ],
      "author": {
        "name": "Deomid rojer Ryabkov",
        "email": "deomid.ryabkov@shelly.com",
        "time": "Wed Apr 01 00:51:41 2026 +0300"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Apr 03 19:04:37 2026 +0200"
      },
      "message": "nimble/host: Fix race in HCI ACL TX outstanding packets counter\n\nThe outstanding packets counter (bhc_outstanding_pkts / avail_pkts)\nwas decremented after ble_hs_tx_data() returned. However, by that\npoint the controller may have already processed the packet and sent\na Number of Completed Packets event, which increments avail_pkts.\nThis race can cause avail_pkts to momentarily exceed the controller\nmaximum, leading to buffer overflows.\n\nMove the counter update before ble_hs_tx_data() and roll back on\nerror.\n\nForward-port of https://github.com/espressif/esp-nimble/commit/f5136d2b3\n"
    },
    {
      "commit": "e49531b541402123741ae21b8728b1b301e45ef1",
      "tree": "8730d66c210045f1eff7dcce1313262f35e7fa32",
      "parents": [
        "63429b20629f735fed83686035c2599b8b32f71f"
      ],
      "author": {
        "name": "Deomid rojer Ryabkov",
        "email": "deomid.ryabkov@shelly.com",
        "time": "Tue Mar 31 23:43:43 2026 +0300"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Apr 03 15:34:53 2026 +0200"
      },
      "message": "nimble/host: Fix -Wsign-compare in notify_multiple functions\n\nChange loop variable from int to size_t to match the type of\nchr_count and num_handles it is compared against.\n"
    },
    {
      "commit": "63429b20629f735fed83686035c2599b8b32f71f",
      "tree": "305abe85a723661401ec4f92f5f26d36d6736ef8",
      "parents": [
        "55f777272dd233d5625fc7a69fb5418959e68beb"
      ],
      "author": {
        "name": "Deomid rojer Ryabkov",
        "email": "deomid.ryabkov@shelly.com",
        "time": "Tue Mar 31 23:25:31 2026 +0300"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Apr 03 15:29:17 2026 +0200"
      },
      "message": "nimble/host: Add missing os/util.h include in ble_gatts.c\n\nble_gatts.c uses POINTER_TO_UINT which is defined in os/util.h.\nOn Mynewt this is pulled in transitively, but not on other platforms.\n"
    },
    {
      "commit": "55f777272dd233d5625fc7a69fb5418959e68beb",
      "tree": "a89780dd72700c085bcaa674fbdbc9eb3f3a6325",
      "parents": [
        "83ffedcd16c1aae127b58226a32e618908a8a401"
      ],
      "author": {
        "name": "Deomid rojer Ryabkov",
        "email": "deomid.ryabkov@shelly.com",
        "time": "Tue Mar 31 23:25:26 2026 +0300"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Apr 03 15:28:14 2026 +0200"
      },
      "message": "nimble/transport: Use #ifdef MYNEWT instead of #if MYNEWT\n\n#if on an undefined macro triggers -Wundef. Use #ifdef for\nconditional inclusion checks.\n"
    },
    {
      "commit": "83ffedcd16c1aae127b58226a32e618908a8a401",
      "tree": "b46f233821275915eca90e4d79cc8a5916ee182b",
      "parents": [
        "07b0b0da8d2fe00f1866f208a51c6be2c12efc68"
      ],
      "author": {
        "name": "Deomid rojer Ryabkov",
        "email": "deomid.ryabkov@shelly.com",
        "time": "Tue Mar 31 23:43:48 2026 +0300"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Apr 03 15:27:07 2026 +0200"
      },
      "message": "porting/npl/linux: Remove dead ticks \u003c 0 check in callout_reset\n\nble_npl_time_t is uint32_t, so ticks \u003c 0 is always false.\n"
    },
    {
      "commit": "07b0b0da8d2fe00f1866f208a51c6be2c12efc68",
      "tree": "0ce868e27071c11a6cbc2953659eac3f8e587cfa",
      "parents": [
        "9c3ad284b2f1e04c8a6ba5ae19cf7c85f685f208"
      ],
      "author": {
        "name": "Mariusz Skamra",
        "email": "mariusz.skamra@codecoup.pl",
        "time": "Wed Feb 25 16:31:07 2026 +0100"
      },
      "committer": {
        "name": "Andrzej Kaczmarek",
        "email": "andrzej.kaczmarek@codecoup.pl",
        "time": "Wed Mar 25 12:17:20 2026 +0100"
      },
      "message": "nimble/host: Fix unexpected assertion\n\nThis fixes unexpected assertion that happens before mutex lock.\nThe caller shall wait on mutex instead, when ack is pending.\n"
    },
    {
      "commit": "9c3ad284b2f1e04c8a6ba5ae19cf7c85f685f208",
      "tree": "218f83d4b1dedca117c45f43bf8081d9c94cd001",
      "parents": [
        "76b9d1c80743bd16708c885bac200fa5576f5dc0"
      ],
      "author": {
        "name": "MariuszSkamra",
        "email": "mariusz.skamra@codecoup.pl",
        "time": "Thu Jan 29 11:23:33 2026 +0100"
      },
      "committer": {
        "name": "Andrzej Kaczmarek",
        "email": "andrzej.kaczmarek@codecoup.pl",
        "time": "Wed Mar 25 12:16:48 2026 +0100"
      },
      "message": "nimble/ll: Simplify PHY mode setup\n\nSet phy_mode once and call ble_phy_mode_set() after the\nconditional to avoid duplicated calls.\n"
    },
    {
      "commit": "76b9d1c80743bd16708c885bac200fa5576f5dc0",
      "tree": "a5fcbf6245a4047af26899f0d0bf65c04df1f300",
      "parents": [
        "605c7585408bc3674818eeb7b6f478a8aefe9746"
      ],
      "author": {
        "name": "MariuszSkamra",
        "email": "mariusz.skamra@codecoup.pl",
        "time": "Thu Jan 15 10:15:13 2026 +0100"
      },
      "committer": {
        "name": "Andrzej Kaczmarek",
        "email": "andrzej.kaczmarek@codecoup.pl",
        "time": "Wed Mar 25 12:15:46 2026 +0100"
      },
      "message": "nimble/ll: Simplify RSSI value update\n\nThis updates the RSSI value with LNA introduced gain and RX power\ncompensation value defined by user in one place.\nThis makes the code cleaner and easier to maintain.\n"
    },
    {
      "commit": "605c7585408bc3674818eeb7b6f478a8aefe9746",
      "tree": "45b9004abe7142c988bd27ce48ad33546ff2bfa8",
      "parents": [
        "5778cd6d2228e9222f8bb5797c323e4c12da0a06"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Mar 18 13:05:30 2026 +0100"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Mar 18 17:21:23 2026 +0100"
      },
      "message": "nimble/host: Fix parsing HCI advertising report event\n\nIf event contains more than one report subsecquent reports would\ncontain invalid data.\n"
    },
    {
      "commit": "5778cd6d2228e9222f8bb5797c323e4c12da0a06",
      "tree": "21ac7dcd8464389b353e5c5eb02375f561bdbb0b",
      "parents": [
        "2c9714a35113fec4a5cc86ac63af62ff8045a161"
      ],
      "author": {
        "name": "Guy Mishol",
        "email": "guym@ti.com",
        "time": "Mon Mar 16 17:19:37 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Mar 17 16:22:02 2026 +0100"
      },
      "message": "host/sm: Persist keys before firing pairing complete callback\n\nApplications might expect security keys (LTK, IRK, etc.) to be\navailable in the store when the ble_gap_pairing_complete_event()\nand ble_gap_enc_event() are received.\nPreviously, ble_sm_persist_keys() was called after those events\ncausing store reads to fail with BLE_HS_ENOENT on the first pairing.\n\nMove ble_sm_persist_keys() before the pairing complete callback so\napplications can immediately read the persisted keys.\n"
    },
    {
      "commit": "2c9714a35113fec4a5cc86ac63af62ff8045a161",
      "tree": "f77b7fe3270c630d00d27723475c3f89fb2d025a",
      "parents": [
        "1eb27aa990ab4250583328b96786d003538093ab"
      ],
      "author": {
        "name": "Mynewt Bot",
        "email": "dev@mynewt.apache.org",
        "time": "Tue Mar 17 13:37:56 2026 +0000"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Mar 17 16:14:36 2026 +0100"
      },
      "message": "porting: Update ports syscfg\n"
    },
    {
      "commit": "1eb27aa990ab4250583328b96786d003538093ab",
      "tree": "539c9da252987ec5852b2f7a5825299629b2814a",
      "parents": [
        "ecb8c0da52bc19644de2bcb1057a83f094578436"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Mar 17 12:05:48 2026 +0100"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Mar 17 14:31:17 2026 +0100"
      },
      "message": "doc: Update documentation with non-deprecated options\n\nSome files were refering to deprecated configuration options.\n"
    },
    {
      "commit": "ecb8c0da52bc19644de2bcb1057a83f094578436",
      "tree": "eb66713ecc089c0dca1f01e4300e9ac5c77c2331",
      "parents": [
        "ba05f640674cd5c375520d03a3a1f103c05316dd"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Feb 20 10:20:54 2026 +0100"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Mar 17 14:31:17 2026 +0100"
      },
      "message": "nimble/store: Remove deprecated ram storage\n\nThis is deprecated for quite some time and store/config shall be used\ninstead (BLE_STORE_CONFIG_PERSIST set to 0).\n"
    },
    {
      "commit": "ba05f640674cd5c375520d03a3a1f103c05316dd",
      "tree": "1a68b220be1ac9b26e013800f984f6cb2399f12d",
      "parents": [
        "421e1c051c5999d950ece6da1b0f0fd9a2aed02a"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Feb 20 10:13:31 2026 +0100"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Mar 17 14:31:17 2026 +0100"
      },
      "message": "nimble/host: Remove deprecated API\n\nThose were derpecated for quite a long and should be safe to cleanup.\n"
    },
    {
      "commit": "421e1c051c5999d950ece6da1b0f0fd9a2aed02a",
      "tree": "fe575c4e633373a5f8dd0c93bd7459346dbf6339",
      "parents": [
        "6254b65e3998b35e1cf1f2300cfafe02c2c42b38"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Thu Feb 19 16:51:58 2026 +0100"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Mar 17 14:31:17 2026 +0100"
      },
      "message": "nimble: Remove deprecated and defunced configuration options\n\nThose are deprecated for quite a long time already and shall\nnot be used anymore.\n"
    },
    {
      "commit": "6254b65e3998b35e1cf1f2300cfafe02c2c42b38",
      "tree": "563cb6e6c10ffe6096e0e3e8dfe6f960a7adb789",
      "parents": [
        "9e18cf91054859160fa15b417f63d88636e9be8b"
      ],
      "author": {
        "name": "Andrzej Kaczmarek",
        "email": "andrzej.kaczmarek@codecoup.pl",
        "time": "Mon Feb 23 17:08:28 2026 +0100"
      },
      "committer": {
        "name": "Andrzej Kaczmarek",
        "email": "andrzej.kaczmarek@codecoup.pl",
        "time": "Fri Feb 27 14:22:27 2026 +0100"
      },
      "message": "nimble/ll: Aply min window offset when CSS is enabled\n\nWe can apply min window offset for the 1st connection if CSS is enabled\nsince that connection can be scheduled \"anywhere\", just like regular\nconnection.\n"
    },
    {
      "commit": "9e18cf91054859160fa15b417f63d88636e9be8b",
      "tree": "d0d86a09ff7a15c4ae58a4397c4e202041d42cae",
      "parents": [
        "c1d52a2cc813dc0b4757cf83fba9488157aa819d"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Feb 27 08:47:57 2026 +0100"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Fri Feb 27 11:18:00 2026 +0100"
      },
      "message": "btshell: Fix restarting advertising instances\n\nConnection handle needs to be cleared on disconnect. Otherwise\nwith multiple advertising instances active incorrect instance\nmay be matched and attempted to restart (ie if connection handle\nis reused).\n"
    },
    {
      "commit": "c1d52a2cc813dc0b4757cf83fba9488157aa819d",
      "tree": "2412808dc8d0626910ec44baaa33bd8bb3291aa8",
      "parents": [
        "b18cbe2f19808589b654127eb2b721fe129369a5"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Mon Feb 23 11:59:31 2026 +0100"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Wed Feb 25 10:25:11 2026 +0100"
      },
      "message": "nimble/ll: Fix infinite loop on RPA rotation\n\nble_ll_resolv_gen_priv_addr must not be called with IRQs disabled\nsince it may require additional random data and thus requires HW\nrandom source. Otherwise it may end up in infinite poll-loop waiting\nfor more random data.\n"
    },
    {
      "commit": "b18cbe2f19808589b654127eb2b721fe129369a5",
      "tree": "9bd1e09b45dc75312a28f9a077f398277dd3252a",
      "parents": [
        "e584b4ed9169bf502b8dd473fdba78aac5b48a61"
      ],
      "author": {
        "name": "Oleksandr Nychyporuk",
        "email": "olexandr.nychyporuk@gmail.com",
        "time": "Wed Feb 11 21:45:14 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Thu Feb 19 14:03:31 2026 +0100"
      },
      "message": "nimble/host: Add UT for large value Read By Type and Find By Type Value\n\nVerify that Read By Type and Find By Type Value correctly handle\nattribute values exceeding the old hardcoded buffer limits.\n\nTests cover full value return, MTU-based truncation, large value\nmatching, value mismatch, and length mismatch.\n\nAlso raise the 16-byte limit in the Find By Type Value test helper\nto BLE_ATT_ATTR_MAX_LEN.\n"
    },
    {
      "commit": "e584b4ed9169bf502b8dd473fdba78aac5b48a61",
      "tree": "f9d451afaf71bac937317f5954add2dc56a6f053",
      "parents": [
        "c872ca8245aa17e042959723322102901cad1af8"
      ],
      "author": {
        "name": "Oleksandr Nychyporuk",
        "email": "olexandr.nychyporuk@gmail.com",
        "time": "Mon Feb 09 17:28:38 2026 +0200"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Thu Feb 19 14:03:31 2026 +0100"
      },
      "message": "nimble/host: Fix Read By Type and Find By Type Val hardcoded buff limits\n\nble_att_svr_build_read_type_rsp() used a fixed 19-byte stack buffer for reading\nattribute values, causing BLE_ATT_ERR_UNLIKELY for any value exceeding 19 bytes.\nPer Core Spec 3.4.4.2, the limit should be min(ATT_MTU - 4, 253).\nSimilarly, ble_att_svr_fill_type_value() used a 16-byte buffer, failing to match attributes\nwith longer values.\n\nReplace both flat buffers with a reusable mbuf, reading via ble_att_svr_read() directly\nand truncating per spec. This aligns with the approach already used in the code.\n"
    },
    {
      "commit": "c872ca8245aa17e042959723322102901cad1af8",
      "tree": "7b2fb2143729b5bbce3ea1bb7ab080328a6a8bf7",
      "parents": [
        "a212222fd306af8b9aba61f4be2184ad1d16223e"
      ],
      "author": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Feb 17 09:17:20 2026 +0100"
      },
      "committer": {
        "name": "Szymon Janc",
        "email": "szymon.janc@codecoup.pl",
        "time": "Tue Feb 17 11:39:48 2026 +0100"
      },
      "message": "Revert \"nimble/eatt: Add manual EATT connection control to BTP tester\"\n\nThis depends on not merged feature and thus is causing build errors.\nThis reverts commit 863b91cacfcee7cd1b66e551cec2507918691deb.\n"
    }
  ],
  "next": "a212222fd306af8b9aba61f4be2184ad1d16223e"
}
