Skip to content

Releases: h2zero/NimBLE-Arduino

1.4.1

24 Oct 02:40
Compare
Choose a tag to compare

What's Changed

  • Fix getPower return value by @0xxon in #443
  • Update CHANGELOG.md to include config options by @j4m3s in #450
  • Fix pairing when already in progress. by @h2zero in #469
  • Revert 42201d4, app should specify response when (un)subscribing. by @h2zero in #470

New Contributors

Full Changelog: 1.4.0...1.4.1

BT5 and nRF5 support

10 Jul 16:23
Compare
Choose a tag to compare

[1.4.0] - 2022-07-10

Fixed

  • Fixed missing data from long notification values.
  • Fixed NimbleCharacteristicCallbacks::onRead not being called when a non-long read command is received.

Changed

  • Updated NimBLE core to use the v1.4.0 branch of esp-nimble.
  • AD flags are no longer set in the advertisements of non-connectable beacons, freeing up 3 bytes of advertisement room.

Added

  • Preliminary support for non-esp devices, NRF51 and NRF52 devices supported with n-able arduino core
  • Alias added for NimBLEServerCallbacks::onMTUChange to onMtuChanged in order to support porting code from original library.
  • NimBLEAttValue Class added to reduce and control RAM footprint of characteristic/descriptor values and support conversions from Arduino Strings and many other data types.
  • Bluetooth 5 extended advertising support for capable devices. CODED Phy, 2M Phy, extended advertising data, and multi-advertising are supported, periodic advertising will be implemented in the future.

Release 1.3.8

28 Apr 01:52
Compare
Choose a tag to compare

Fixed

  • Fix compile error with ESP32S3.
  • Prevent a potential crash when retrieving characteristics from a service if the result was successful but no characteristics found.

Changed

  • Save resources when retrieving descriptors if the characteristic handle is the same as the end handle (no descriptors).
  • Subscribing to characteristic notifications/indications will now always use write with response, as per BLE specifications.
  • NimBLEClient::discoverAttributes now returns a bool value to indicate success/failure

1.3.7

16 Feb 02:54
Compare
Choose a tag to compare

Fixed

  • Crash when retrieving an attribute that does not exist on the peer.
  • Memory leak when deleting client instances.
  • Compilation errors for esp32s3

1.3.6

19 Jan 03:58
Compare
Choose a tag to compare

Changed

  • When retrieving attributes from a server fails with a 128bit UUID containing the ble base UUID another attempt will be made with the 16bit version of the UUID.

Fixed

  • Memory leak when services are changed on server devices.
  • Rare crashing that occurs when BLE commands are sent from ISR context using IPC.
  • Crashing caused by uninitialized disconnect timer in client.
  • Potential crash due to unintialized advertising callback pointer.

1.3.5

14 Jan 16:48
Compare
Choose a tag to compare

[1.3.5] - 2022-01-14

Added

  • CONFIG_NIMBLE_CPP_DEBUG_LEVEL macro in nimconfig.h to allow setting the log level separately from the Arduino core log level.

Fixed

  • Memory leak when initializing/deinitializing the BLE stack caused by new FreeRTOS timers be created on each initialization.

1.3.4

10 Jan 01:57
Compare
Choose a tag to compare
  • Workaround for latest Arduino-esp32 core that causes tasks not to block when required, which caused functions to return prematurely resulting in exceptions/crashing.
  • The wrong length value was being used to set the values read from peer attributes. This has been corrected to use the proper value size.

Full Changelog: 1.3.3...1.3.4

1.3.3

25 Nov 02:55
Compare
Choose a tag to compare

Workaround added for FreeRTOS bug that affected timers, causing scan and advertising timer expiration's to not correctly trigger callbacks.

1.3.2

21 Nov 02:39
Compare
Choose a tag to compare
  • Added missing macros for scan filter.
  • Added NimBLEClient::getLastError : Gets the error code of the last function call that produces a return code from the stack.

1.3.1

05 Aug 00:48
Compare
Choose a tag to compare

Fixed

  • Corrected a compiler/linker error when an application or a library uses bluetooth classic due to the redefinition of btInUse.