NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #821 most downloaded on pub.dev
Flutter plugin for connecting and communicating with Bluetooth Low Energy devices.
Last release 5 days ago
03 Oct 2026
Release timing varies
gaps range from 2 weeks to 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
5 versions withdrawn
withdrawn after publishing
5 years old
301 releases · first in 2022
One column per quarter.
Fix iOS and macOS service discovery failing when CoreBluetooth rejects access to restricted UUIDs, including Matter attributes ( #1344 ).
Published packages:
[Fix] Android: duplicate connected callbacks could disconnect the device and leave Dart reporting it as connected
BLUETOOTH_CONNECT permission (#1340)setLogLevel color parameter as bool (#1341)[Performance] Darwin: only poll for MTU changes while a connection's MTU can still change
[Improve] Unify the FlutterBluePlus version log into a single string.
[Improve] Log the FlutterBluePlus Dart package version during first-time initialization.
[Android] rename com.lib.flutter_blue_plus to com.jmx.flutter_blue_plus
com.lib.flutter_blue_plus to com.jmx.flutter_blue_plusCorporate tier for 250+ employees[LICENSE] clarify build-time license ping in the FlutterBluePlus License
[Fix] pub.dev dependency resolution error (regression 2.3.6)
[Fix] Darwin: crash when calling setOptions with a single argument (regression 2.3.0)
setOptions with a single argument (regression 2.3.0)[LICENSE] add license ping during build: package name & app name
[Improve] Rename: License.free to Licenese.nonprofit for clarity
License.free to Licenese.nonprofit for clarity[Improve] add back winrt dependency now that it is updated
winrt dependency now that it is updated* [Improve] docs & readme
[Improve] tempoarily remove winrt as an explicit dependency. Windows users should use this:
winrt as an explicit dependency. Windows users should use this:dependencies:
flutter_blue_plus: ^2.3.1
flutter_blue_plus_winrt: ^0.19
[Feature] Perf: allow writing to multiple devices at the same time! See: FlutterBluePlus.setOperationQueueMode
FlutterBluePlus.setOperationQueueModesetOptions arguments to be updated individuallyrxdart dependency[Fix] Web: setNotifyValue no longer times out while notifications are already being received
setNotifyValue no longer times out while notifications are already being received[Fix] Web: allow autoConnect when adapter state is unknown
autoConnect when adapter state is unknown[LICENSE] clarifications to the development exemption
[LICENSE] new tiers based on company size & development exemption
[Fix] Darwin: nil-guard rssi to prevent crash
[LICENSE] commercial license is now required for 15 or more employees
flutter_blue_plus_winrt package* [Improve] update README
[Fix] allow calling connect(autoConnect:true) even when the adapter is turned off
connect(autoConnect:true) even when the adapter is turned off[LICENSE] switch to FlutterBluePlus license.
[Fix] Dart: isNotifying was broken (regression 1.36.2)
isNotifying was broken (regression 1.36.2)[Fix] iOS/macOS/Android: setOptions & setLogLevel should not invoke flutterRestart (regression 1.35.0)
setOptions & setLogLevel should not invoke flutterRestart (regression 1.35.0)discoverServices: wait for servicesResolved to avoid partial results (#1265)setNotifyValue: return false (no CCCD) to prevent hang (#1264)servicesList after disconnection" (regression 1.35.11)[Fix] fix android compile error (regression 1.36.2)
[Fix] fix federated dependencies (regression 1.36.2)
[Fix] fix compile error due to out of date platform interface (regression 1.36.2)
[Fix] internal cleanup, no user facing changes
[Fix] lastValue was broken (regression 1.35.6)
lastValue was broken (regression 1.35.6)[Fix] onValueReceived no longer emits data after reconnection #1262 (regression 1.35.6)
onValueReceived no longer emits data after reconnection #1262 (regression 1.35.6)[Fix] characteristic not found, due to instanceId bug (regression 1.35.6)
instanceId bug (regression 1.35.6)[Improve] Dart: add pubspec_overrides.yaml for easier local development
pubspec_overrides.yaml for easier local development[Fix] Android: fix main thread crash due to waitIfBonding (regression 1.35.8)
waitIfBonding (regression 1.35.8)servicesList after disconnection[Improve] Android: use user provided compileSdkVersion
compileSdkVersion[Fix] Android: compile error, due to missing toString (regression 1.35.8)
toString (regression 1.35.8)[Fix] Android: HotRestart must also cancel autoconnect
waitIfBonding was not waitingresetInstanceIds (regression 1.35.6)ensurePermissions error for no Context[Fix] pubspec.yaml was broken, due to invalid constraints in web package (regression 1.35.6)
[Release] flutter_blue_plus 1.35.5
[Release] flutter_blue_plus 1.35.5
androidCheckLocationServices to startScan (#1199)[Feature] Android: check if location services are enabled before doing scan
Guid equals operator (#1169)webOptionalServices broke scanning on android (regression 1.35.4)getAdapterState and discoverServices fixessetNotifyValue (#1153)[Feature] Web: support for web optional services
createBond (#1119)[Fix] add back log color (regression 1.35.0)
[Fix] Bluetooth characteristic set notify value (regression 1.35.0)
This release adds support for Web, Linux, and the Platform Interface.
This release adds support for Web, Linux, and the Platform Interface.
[Feature] add FlutterBluePlus.logs to get access to FBP logs
FlutterBluePlus.logs to get access to FBP logs[Improve] improve error message when secondary service is not found
[Fix] startScan was not propogating errors (regression 1.31.7)
startScan was not propogating errors (regression 1.31.7)[Fix] characteristic not found (regression 1.34.0)
[Fix] Android: SCAN_FAILED_ALREADY_STARTED could sometimes occur after bluetooth restart
SCAN_FAILED_ALREADY_STARTED could sometimes occur after bluetooth restart[Feature] support includedServices, aka primary/secondary services
includedServices, aka primary/secondary serviceswithServiceData scan filter was not working (regression in 1.28.3)[Feature] verbose logs: make function results easier to see
[Fix] iOS: crash caused by 1-byte advertisements
[Fix] Android: null deref when getting permissions (regression 1.33.3)
[Fix] Android: asking permission would not work until app restart (regression 1.32.13)
[Fix] Android: compile bug in 1.33.1
[Fix] Android: compile bug in 1.33.0
[BREAKING CHANGE] iOS 18 compatibility: systemDevices now requires UUID argument
systemDevices now requires UUID argument[Deprecate] deprecate BluetoothDevice.fromProto(...)
disconnect(queue:false) reliability[Improve] Android: perf: speed up bytesToHex
bytesToHexYour coding agent can read these notes before it upgrades. Set up the MCP server →