Skip to content

Update to Mynewt-NimBLE version 1.9#1104

Draft
h2zero wants to merge 1 commit intomasterfrom
nimble-1.9
Draft

Update to Mynewt-NimBLE version 1.9#1104
h2zero wants to merge 1 commit intomasterfrom
nimble-1.9

Conversation

@h2zero
Copy link
Copy Markdown
Owner

@h2zero h2zero commented Mar 4, 2026

This will update to the mainline Mynewt-nimble repo and pull in esp device support from the esp-nimble fork. Doing this allows for simplified maintenance and avoids having too much additional/unsupported upstream changes.

This also allows for using more recent NimBLE versions and being able to pull in important updates that are not in esp-nimble.

@h2zero h2zero requested a review from Copilot March 4, 2026 21:44
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the NimBLE stack from the esp-nimble fork to the mainline Mynewt-NimBLE v1.9.0. This simplifies maintenance by pulling from the upstream repo directly while incorporating ESP device support, and enables access to more recent NimBLE features and important updates.

Changes:

  • Updates NimBLE core to v1.9.0 with new features (Channel Sounding stubs, ISO improvements, ADV coding selection, periodic ADV ADI support, scan configuration VS commands)
  • Removes ESP-specific fork files (ble_esp_hs.h, ble_esp_gap.h, ble_esp_gatt.h) and refactors platform guards (#ifndef ESP_PLATFORM moved before license headers)
  • Refactors include paths from angle brackets to quotes, removes deprecated APIs, and fixes several bugs (IRK list indexing, scheduler null check, scan request PDU generation)

Reviewed changes

Copilot reviewed 122 out of 287 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
src/nimble/RELEASE_NOTES.md, NOTICE, LICENSE Updated to NimBLE v1.9.0 release info
src/nimble/nimble/host/include/host/ble_hs.h Removed ESP-specific includes and config fields (sm_sc_only, eatt)
src/nimble/nimble/host/include/host/ble_sm.h Added comprehensive doxygen documentation, reordered OOB fields
src/nimble/nimble/host/include/host/ble_l2cap.h Added COC CID range defines and ble_l2cap_remove_server
src/nimble/nimble/host/include/host/ble_att.h Reorganized ATT opcodes, added new error codes, removed EATT-specific APIs
src/nimble/nimble/host/include/host/ble_hs_hci.h Renamed ble_hs_hci_util_rand to ble_hs_hci_rand
src/nimble/nimble/host/include/host/ble_hs_log.h Switched to NPL-based logging
src/nimble/nimble/host/include/host/ble_cs.h New Channel Sounding host header
src/nimble/nimble/host/include/host/ble_eddystone.h Added documentation comments, renamed parameter
src/nimble/nimble/host/include/host/ble_uuid.h Added BLE_UUID128_INIT docs, reformatted comments
src/nimble/nimble/host/include/host/ble_aes_ccm.h Removed duplicate/unnecessary tinycrypt include
Mesh headers (model_srv/cli, mesh, heartbeat, health, cfg, cdb, atomic) Removed mesh include files
src/nimble/nimble/controller/include/controller/ble_ll.h Extended feature bits, replaced BLE_LL_BT5_PHY_SUPPORTED macro
src/nimble/nimble/controller/include/controller/ble_ll_conn.h Added encrypt_paused, conn_update_host_initd flags, renamed anchor API
src/nimble/nimble/controller/include/controller/ble_ll_scan.h Added VS scan config, refactored scan NRPA, added make_req_pdu
src/nimble/nimble/controller/include/controller/ble_ll_iso.h Major refactor with ble_ll_iso_conn struct and new APIs
src/nimble/nimble/controller/include/controller/ble_ll_isoal.h Added framed PDU support, mux improvements
src/nimble/nimble/controller/include/controller/ble_ll_cs.h New Channel Sounding controller header
src/nimble/nimble/controller/include/controller/ble_ll_sched.h Updated iso_big signature with fixed param
src/nimble/nimble/controller/include/controller/ble_ll_sync.h Changed periodic_ind API from bool to uint8_t mode
src/nimble/nimble/controller/include/controller/ble_ll_ctrl.h Removed data param from ctrl_proc_start, updated enc_allowed
src/nimble/nimble/controller/include/controller/ble_ll_adv.h Renamed rmvd callback, added v2 param API
src/nimble/nimble/controller/include/controller/ble_ll_resolv.h Added local IRK APIs
src/nimble/nimble/controller/src/*.c Platform guard refactoring, bug fixes, new features
src/nimble/nimble/drivers/nrf5x/, nrf51/ Platform guard refactoring, NRF53 removal, bug fixes
src/nimble/ext/tinycrypt/** Include path changes to quotes, removed metadata files
src/nimble/esp_port/** Include path fixes, added extern declarations
src/NimBLEUtils.cpp Added #ifdef guards for potentially removed GAP events

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 24, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e714077e-b1cb-4de8-838a-148aa298b868

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch nimble-1.9

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@h2zero h2zero force-pushed the nimble-1.9 branch 6 times, most recently from c277901 to 9c0284a Compare March 29, 2026 17:19
This will update to the mainline Mynewt-nimble repo and pull in esp device support
from the esp-nimble fork. Doing this allows for simplified maintenance and avoids having
too much additional/unsupported upstream changes.

This also allows for using more recent NimBLE versions and being able to pull in important
updates that are not in esp-nimble.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants