NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #2882 most downloaded on pub.dev
A Flutter plugin for controlling the bluetooth low energy, supports central and peripheral roles.
Last release 8 months ago
17 Jan 2026
Ships unpredictably
gaps range from 2 weeks to 13 months
Nearly every release is documented
notes for 30 of 30 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
43 releases · first in 2021
Nothing published for this version
修复 bad varient access 错误 隐藏非接口类型 更新版本号
修复 bad varient access 错误
隐藏非接口类型
更新版本号
One column per quarter.
更新GATTServiceImpl类中的includedServices方法实现,抛出不支持的错误
临时提交
添加发布脚本
fvm use 3.35.7
临时提交
优化代码
更新版本号,CHANGELOG.md
更新README.md
更新GATTServiceImpl类中的includedServices方法实现,抛出不支持的错误
支持 Swift Package Manager
更新 CHANGELOG.md
Android Add CentralManager.getPeripheral method.Android Add PeripheralManager.getCentral method.Android Add PeripheralManager.retrieveConnectedCentrals method.Android Add PeripheralManager.disconnect method.Android Remove permission declarations from AndroidManifest.xml.iOS, macOS Support Swift Package Manager.iOS, macOS Fix race condition when isReady is delivered early.Remove location usage when target Android 12 or higher.
Android Use `isMultipleAdvertisementSupported` to check whether `PeripheralManager` is supported on this device..
Android Fix the issue that advertisement name is wrong when advertising.
Android Fix the issue that advertisement name is wrong when advertising.Add `CentralManager#retrieveConnectedPeripherals` method.
CentralManager#retrieveConnectedPeripherals method.serviceUUIDs argument to the CentralManager#startDiscovery method.CentralManager#mtuChanged event.PeripheralManager#mtuChanged event.BluetoothLowEnergyManager#authorize method.BluetoothLowEnergyManager#showAppSettings method.CentralManager#requestMTU method.CentralManager#getMaximumWriteLength method.PeripheralManager#connectionStateChanged event.PeripheralManager#characteristicReadRequested event.PeripheralManager#characteristicWriteRequested event.PeripheralManager#descriptorReadRequested event.PeripheralManager#descriptorWriteRequested event.PeripheralManager#getMaximumNotifyLength method.PeripheralManager#respondReadRequestWithValue method.PeripheralManager#respondReadRequestWithError method.PeripheralManager#respondWriteRequest method.PeripheralManager#respondWriteRequestWithError method.ConnectionState enum.GATTService.isPrimary field.GATTService#includedServices field.MutableGATTCharacteristic#permissions field.MutableGATTDescriptor#permissions field.int type to UUID#fromAddress.CentralManger.instance to factory constructor.PeripheralManager.instance to factory constructor.Advertisement#manufacturerSpecificData to List<ManufacturerSpecificData>.BluetoothLowEnergyManager#getState to BluetoothLowEnergyManager#state.PeripheralManager#clearServices to PeripheralManager#removeAllServices.BluetoothLowEnergyManager#setUp method.PeripheralManager#characteristicRead event.PeripheralManager#characteristicWritten event.PeripheralManager#readCharacteristic method.PeripheralManager#writeCharacteristic method.Cannot access value of empty optional.Implement CentralMananger#showAppSettings on iOS.
CentralMananger#showAppSettings on iOS.PeripheralManager#showAppSettings on iOS.Add int type to UUID#fromAddress.
int type to UUID#fromAddress.Advertisement#manufacturerSpecificData to List<ManufacturerSpecificData>.Add PeripheralManager#respondReadRequestWithValue.
PeripheralManager#respondReadRequestWithValue.PeripheralManager#respondReadRequestWithError.PeripheralManager#respondWriteRequest.PeripheralManager#respondWriteRequestWithError.PeripheralManager#respondCharacteristicReadRequestWithValue.PeripheralManager#respondCharacteristicReadRequestWithError.PeripheralManager#respondCharacteristicWriteRequest.PeripheralManager#respondCharacteristicWriteRequestWithError.PeripheralManager#respondDescriptorReadRequestWithValue.PeripheralManager#respondDescriptorReadRequestWithError.PeripheralManager#respondDescriptorWriteRequest.PeripheralManager#respondDescriptorWriteRequestWithError.Add `CentralManager#retrieveConnectedPeripherals` method.
CentralManager#retrieveConnectedPeripherals method.serviceUUIDs argument to the CentralManager#startDiscovery method.CentralManager#mtuChanged event.PeripheralManager#mtuChanged event.BluetoothLowEnergyManager#authorize method.BluetoothLowEnergyManager#showAppSettings method.CentralManager#requestMTU method.CentralManager#getMaximumWriteLength method.PeripheralManager#connectionStateChanged event.PeripheralManager#characteristicReadRequested event.PeripheralManager#characteristicWriteRequested event.PeripheralManager#descriptorReadRequested event.PeripheralManager#descriptorWriteRequested event.PeripheralManager#getMaximumNotifyLength method.PeripheralManager#respondCharacteristicReadRequestWithValue method.PeripheralManager#respondCharacteristicReadRequestWithError method.PeripheralManager#respondCharacteristicWriteRequest method.PeripheralManager#respondCharacteristicWriteRequestWithError method.PeripheralManager#respondDescriptorReadRequestWithValue method.PeripheralManager#respondDescriptorReadRequestWithError method.PeripheralManager#respondDescriptorWriteRequest method.PeripheralManager#respondDescriptorWriteRequestWithError method.ConnectionState enum.GATTService.isPrimary field.GATTService#includedServices field.MutableGATTCharacteristic#permissions field.MutableGATTDescriptor#permissions field.BluetoothLowEnergyManager#getState to BluetoothLowEnergyManager#state.PeripheralManager#clearServices to PeripheralManager#removeAllServices.CentralManger.instance to factory constructor.PeripheralManager.instance to factory constructor.BluetoothLowEnergyManager#setUp method.GATTCharacteristicReadEventArgs class.GATTCharacteristicWrittenEventArgs class.PeripheralManager#characteristicRead event.PeripheralManager#characteristicWritten event.PeripheralManager#readCharacteristic method.PeripheralManager#writeCharacteristic method.Cannot access value of empty optional.Android Fix the issue that Advertisement resolve failed with `NullPointerException`
Android Fix the issue that Advertisement resolve failed with NullPointerExceptionAndroid Fix the issue that throws when read the CCCD(Client Characteristic Config Descriptor, 0x2902).
Android Fix the issue that throws when read the CCCD(Client Characteristic Config Descriptor, 0x2902).Android iOS Update characteristic's value when write by centrals.Windows Fix the `CentralManager#discoverGATT`, `CentralManager#readCharacteristic` and `CentralManager#readDescriptor` issue caused by cache mode.
Windows Fix the CentralManager#discoverGATT, CentralManager#readCharacteristic and CentralManager#readDescriptor issue caused by cache mode.* iOS Fix issues caused by CoW.
iOS Fix issues caused by CoW.Android Fix the wrong blutooth low energy state caused by multi permission requests at the same time.
Android Fix the wrong blutooth low energy state caused by multi permission requests at the same time.Android Fix the ConcurrentModificationException when PeripheralManager#clearServices is called.iOS Fix the issue that discoverGATT failed caused by CoW.
iOS Fix the issue that discoverGATT failed caused by CoW.iOS Fix the issue that completion was called duplicately caused by CoW.
iOS Fix the issue that completion was called duplicately caused by CoW.Now CentralManager#writeCharacteristic and PeripheralManager#writeCharacteristic will fragment the value automatically, the maximum write length is 51
CentralManager#writeCharacteristic and PeripheralManager#writeCharacteristic will fragment the value automatically, the maximum write length is 512 bytes.CentralManager on windows platform.GattCharacteristicReadEventArgs and GattCharacteristicWrittenEventArgs.PeripheralManager#characteristicRead and PeripheralManager#characteristicWritten.PeripheralManager#readCharacteristic.CentralManager#getMaximumWriteLength method.PeripheralManager#getMaximumWriteLength method.ReadGattCharacteristicCommandEventArgs and WriteGattCharacteristicCommandEventArgs.PeripheralManager#readCharacteristicCommandReceived and PeripheralManager#writeCharacteristicCommandReceived.PeripheralManager#sendReadCharacteristicReply and PeripheralManager#sendWriteCharacteristicReply.CentralManager#state to CentralManager#getState().PeripheralStateChangedEventArgs to ConnectionStateChangedEventArgs.CentralManager#peripheralStateChanged to CentralManager#connectionStateChanged.GattCharacteristicValueChangedEventArgs to GattCharacteristicNotifiedEventArgs.CentralManager#characteristicValueChanged to CentralManager#characteristicNotified.CentralManager#notifyCharacteristic to CentralManager#setCharacteristicNotifyState.PeripheralManager#notifyCharacteristicValueChanged to PeripheralManager#writeCharacteristic.NotifyGattCharacteristicCommandEventArgs to GattCharacteristicNotifyStateChangedEventArgs.PeripheralManager#notifyCharacteristicCommandReceived to PeripheralManager#characteristicNotifyStateChanged.* Add logs on Linux platform.
Add default_package of windows in pubspec.yaml.
Now CentralManager#writeCharacteristic and PeripheralManager#writeCharacteristic will fragment the value automatically, the maximum write length is 51
CentralManager#writeCharacteristic and PeripheralManager#writeCharacteristic will fragment the value automatically, the maximum write length is 512 bytes.UUID#fromAddress constructor.GattCharacteristicReadEventArgs and GattCharacteristicWrittenEventArgs.PeripheralManager#characteristicRead and PeripheralManager#characteristicWritten.PeripheralManager#readCharacteristic.CentralManager#getMaximumWriteLength method.PeripheralManager#getMaximumWriteLength method.ReadGattCharacteristicCommandEventArgs and WriteGattCharacteristicCommandEventArgs.PeripheralManager#readCharacteristicCommandReceived and PeripheralManager#writeCharacteristicCommandReceived.PeripheralManager#sendReadCharacteristicReply and PeripheralManager#sendWriteCharacteristicReply.CentralManager#state to CentralManager#getState().PeripheralStateChangedEventArgs to ConnectionStateChangedEventArgs.CentralManager#peripheralStateChanged to CentralManager#connectionStateChanged.GattCharacteristicValueChangedEventArgs to GattCharacteristicNotifiedEventArgs.CentralManager#characteristicValueChanged to CentralManager#characteristicNotified.CentralManager#notifyCharacteristic to CentralManager#setCharacteristicNotifyState.PeripheralManager#notifyCharacteristicValueChanged to PeripheralManager#writeCharacteristic.NotifyGattCharacteristicCommandEventArgs to GattCharacteristicNotifyStateChangedEventArgs.PeripheralManager#notifyCharacteristicCommandReceived to PeripheralManager#characteristicNotifyStateChanged.Remove BluetoothLowEnergy class.
BluetoothLowEnergy class.CentralManger to extends PlatformInterface.PeripheralManager to extends PlatformInterface.PeripheralManager methods' arguments to required optional arguments.AdvertiseData class to Advertisement class.BluetoothLowEnergyError class.MyCentralManager and MyPeripheralManager abstract classes.LogController interface to BluetoothLowEnergyManager.Remove BluetoothLowEnergy class.
BluetoothLowEnergy class.CentralManger to static class.PeripheralManager to static class.AdvertiseData class to Advertisement class.example.Android Fix the issue android device: requestMtu issue #22
Android Fix the issue android device: requestMtu issue #22Android iOS Fix the issue that getMaximumWriteLength is wrong and coerce the value from 20 to 512.
Android iOS Fix the issue that getMaximumWriteLength is wrong and coerce the value from 20 to 512.Android iOS Fix the issue that the peripheral manager response is wrong.Android Request MTU with 517 automatically.Android Clear cache when disconnected.
Android Clear cache when disconnected.Android Fix GATT server error aftter bluetooth reopened.iOS Fix the issue that write characteristic will never complete when write without response.iOS Fix the issue that write characteristic will never complete after disconnected.Add CentralManager#readRSSI method.
PeripheralManager api.CentralManager#readRSSI method.CentralManager.instance api.PeripheralManager.instance api.CentralController to CentralManager.CentralState to BluetoothLowEnergyState.CentralDiscoveredEventArgs to DiscoveredEventArgs.Advertisement class to AdvertiseData class.setUp method from BluetoothLowEnergy class to BluetoothLowEnergyManger class.manufacturerSpecificData from Map<int, Uint8List> to ManufacturerSpecificData.UUID.fromString() throw FormatException with 32 bits UUID string.Move Advertisement class to AdvertiseData class.
Advertisement class to AdvertiseData class.Fix the issue that `UUID.fromString()` throw FormatException with 32 bits UUID string.
UUID.fromString() throw FormatException with 32 bits UUID string.manufacturerSpecificData from Map<int, Uint8List> to ManufacturerSpecificData.Move setUp method from BluetoothLowEnergy class to BluetoothLowEnergyManger class.
setUp method from BluetoothLowEnergy class to BluetoothLowEnergyManger class.CentralManager.instance api.PeripheralManager.instance api.Add CentralManager#readRSSI method.
PeripheralManager api.CentralManager#readRSSI method.CentralController to CentralManager.CentralState to BluetoothLowEnergyState.CentralDiscoveredEventArgs to DiscoveredEventArgs.Android Fix the issue that CentralController#getMaximumWriteLength may throw.
Android Fix the issue that CentralController#getMaximumWriteLength may throw.Add CentralController#getMaximumWriteLength method.
CentralController#getMaximumWriteLength method.Android Fix the issuce that receive wrong values caused by unsafe memory, see https://developer.android.com/reference/android/bluetooth/BluetoothGattC
Android Migrate to Android 13.Android Fix the issuce that receive wrong values caused by unsafe memory, see https://developer.android.com/reference/android/bluetooth/BluetoothGattCallback#onCharacteristicChanged(android.bluetooth.BluetoothGatt,%20android.bluetooth.BluetoothGattCharacteristic)Combine iOS and macOS projects.
Fix the issue that GATTs is cleared after peripheral disconnected on iOS and macOS.
Rewrite the whole project with federated plugins.
Fix the crash by onMtuChanged called multi-times on Android.
Rewrite the whole project with pigeon.
Combine available and state for Bluetooth.
Fix connect blocked when bluetooth closed.
Add implementations on Android.
Your coding agent can read these notes before it upgrades. Set up the MCP server →