Skip to content

Commit dd1b884

Browse files
committed
Release 2.4.0
1 parent d3f5063 commit dd1b884

5 files changed

Lines changed: 37 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,33 @@
11
# Changelog
22
All notable changes to this project will be documented in this file.
33

4+
## [2.4.0] 2026-03-20
5+
6+
## Fixed
7+
- GATT attribute handles are now assigned from the registration callback so duplicate UUID attributes are identified correctly.
8+
- Dynamic service changes now properly remove characteristics/descriptors and reset the GATT database when advertising starts.
9+
- Missing notification/indication payload data when the value spans multiple mbufs, such as values larger than 255 bytes with small ACL buffers.
10+
- `NimBLEDevice::createServer` will longer crash when called before the stack is initialized.
11+
- Re-pairing after deleting all bonds now works by unpairing each stored bond instead of only deleting NVS data.
12+
- Whitelist bounds checks.
13+
- `NimBLEDevice::getBondedAddress` index bounds validation.
14+
- Compiler warnings when bonds are disabled.
15+
- kconfig warnings, redefined macros.
16+
17+
## Added
18+
- `NimBLEStream`, `NimBLEStreamClient`, and `NimBLEStreamServer` classes and examples.
19+
- `NimBLECppVersion.h` with compile-time version macros.
20+
- `NimBLEDevice::getVersion` runtime version string helper.
21+
- Matching passkey callbacks for both roles: `NimBLEServerCallbacks::onPassKeyEntry` and `NimBLEClientCallbacks::onPassKeyDisplay`.
22+
- Bond migration helpers to convert bond storage between v1 and current formats while preserving existing bonds.
23+
- `NimBLEUUID` constructor overload for `ble_uuid_t*`.
24+
- Optional `index` parameter for `NimBLECharacteristic::getDescriptorByUUID` to access multiple descriptors with the same UUID.
25+
- `NimBLEConnInfo::toString` method to get a string representation of the connection info.
26+
27+
## Changed
28+
- `NimBLEService::start` is deprecated; services are now added when the server starts.
29+
- `NimBLEHIDDevice::startServices()` is deprecated; services are now added when the server starts.
30+
431
## [2.3.4] 2025-12-27
532

633
## Fixed

docs/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ PROJECT_NAME = esp-nimble-cpp
4848
# could be handy for archiving the generated documentation or if some version
4949
# control system is used.
5050

51-
PROJECT_NUMBER = 2.3.3
51+
PROJECT_NUMBER = 2.4.0
5252
# Using the PROJECT_BRIEF tag one can provide an optional one line description
5353
# for a project that appears at the top of each page and should give viewer a
5454
# quick idea about the purpose of the project. Keep the description short.

idf_component.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
## IDF Component Manager Manifest File
2-
version: "2.3.4"
2+
version: "2.4.0"
33
license: "Apache-2.0"
44
description: "C++ wrapper for the NimBLE BLE stack"
55
url: "https://github.com/h2zero/esp-nimble-cpp"

library.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "esp-nimble-cpp",
3-
"version": "2.3.4",
3+
"version": "2.4.0",
44
"description": "C++ wrapper for the NimBLE BLE stack",
55
"keywords": [
66
"BLE",
@@ -19,5 +19,10 @@
1919
"email": "ryan@nable-embedded.io",
2020
"url": "https://github.com/h2zero/esp-nimble-cpp",
2121
"maintainer": true
22+
},
23+
"build": {
24+
"flags": [
25+
"-DCONFIG_NIMBLE_CPP_IDF=1"
26+
]
2227
}
2328
}

src/NimBLECppVersion.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222
#define NIMBLE_CPP_VERSION_MAJOR 2
2323

2424
/** @brief NimBLE-Arduino library minor version number. */
25-
#define NIMBLE_CPP_VERSION_MINOR 3
25+
#define NIMBLE_CPP_VERSION_MINOR 4
2626

2727
/** @brief NimBLE-Arduino library patch version number. */
28-
#define NIMBLE_CPP_VERSION_PATCH 9
28+
#define NIMBLE_CPP_VERSION_PATCH 0
2929

3030
/**
3131
* @brief Macro to create a version number for comparison.

0 commit comments

Comments
 (0)