[0.14.0] - 2026-05-02
Notes
This release introduces the concept of Backend to the SimpleBLE API. Backends represent the underlying BLE implementation,
such as BlueZ on Linux, CoreBluetooth on macOS, and WinRT on Windows. These entities will become more relevant in future
releases as we move towards more elaborate workstreams, the first of which is the introduction of the Dongl backend.
The SimpleBLE Dongl is a suite of hardware and firmware products that bypass the host's BLE stack entirely, providing an
extremely consistent BLE experience across all platforms. Visit the SimpleBLE Dongl website
to learn more.
Added
- (SimpleJavaBLE) Added
CompletableFuturewrappers for blocking operations to allow clean asynchronous programming without blocking threads. - (SimpleBLE) Elevated
Backendclass to the public API, enabling programmatical control of all available backends. - (SimpleBLE) Introduced the Dongl backend for custom SimpleBLE hardware and firmware products.
Changed
- (SimpleJavaBLE) JNI API calls are now safely wrapped to catch C++ exceptions and bubble them up as Java
RuntimeExceptioninstead of crashing the JVM. - (SimpleJavaBLE) Updated
EventListenerinterfaces inAdapterandPeripheralto provide default empty implementations. - (Windows) Added configurable workaround for 3-second delay in disconnecting from a peripheral. (Thanks, josmithua!)
- (Android) Updated NDK version to r29.
Fixed
- (SimpleRsBLE) Fixed linker errors on some 64-bit Linux systems. (Thanks, davidedellagiustina!)
- (SimpleDBus) Fixed
bad_any_castexception in dictionaries withObjectPathorSignaturekeys. (Thanks, AndreiSvatko!) - (SimpleDBus) Fixed D-Bus parameter errors and strict validation rejections on BlueZ 5.83+ by properly skipping uninitialized optional properties. (Thanks, piranna!)
- (SimpleJavaBLE) Fixed missing macOS x64
.dylibartifact in the release package due to an omitted CI architecture target. - (SimpleJavaBLE) Fixed JNI symbol resolution errors (
UnsatisfiedLinkError) onAdapter.isBluetoothEnabled()andisPairedflags. - (SimpleJavaBLE) Fixed
jvm.dllinitialization conflicts on Windows that prevented the native bindings from loading smoothly. - (SimpleCBLE) Fixed remotely triggerable stack buffer overflows when handling manufacturer data and advertised services (EVE-2026-002, EVE-2026-003). (Thanks, Mr-IoT!)
- (SimpleBLE) Fixed stack buffer overflow in Dongl write function. (EVE-2026-001). (Thanks, Mr-IoT!)
- (SimpleBLE) Added missing export headers to
Config.h.
Special Acknowledgements
We'd like to thank Mr-IoT for reporting and providing patches for multiple security vulnerabilities (EVE-2026-001, EVE-2026-002, EVE-2026-003).