NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #4459 most downloaded on pub.dev
This plugin enables a device to be set into peripheral mode, and advertise custom services and characteristics.
Last release 1 months ago
03 Sep 2026
Release timing varies
gaps range from 2 weeks to 1.2 years
Nearly every release is documented
notes for 29 of 29 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
31 releases · first in 2020
android: start advertising without an activity attached
One column per quarter.
…colliding type names. The old name stays as a deprecated alias in 3.0 and is removed in the next breaking release
Advertising was split into a shared core plus one settings object per platform, so a
call site no longer mixes fields that only one platform honours with fields every
platform honours. The README has the full before/after.
AdvertiseData is removed. Use AdvertiseDataCore for the cross-platform fields or AndroidAdvertiseData for the Android-only ones, and includeTxPowerLevel in place of includePowerLevel (#301, #314)start(advertiseSettings:), start(advertiseSetParameters:), start(advertiseResponseData:), start(advertisePeriodicData:) and start(periodicAdvertiseSettings:) are removed. Pass start(androidSettings: AndroidAdvertiseSettings(...)), which holds all five; advertisePeriodicData is periodicAdvertiseData there. DarwinAdvertiseSettings and WindowsAdvertiseSettings are the equivalents for the other platforms (#301)AdvertiseSettings.advertiseSet is removed. Passing AndroidAdvertiseSettings.advertiseSetParameters selects the extended advertising API, and is now mutually exclusive with advertiseSettings, where 2.x took both and let advertiseSet pick (#301)PermissionState is removed. Use PeripheralBluetoothState, which covers the same permission cases plus the adapter states. There is deliberately no alias: the two declare their entries in a different order and the values cross the platform channel by ordinal, so mapping the old values across by index would give the wrong state rather than a compile error (#301)BluetoothPeripheralState is renamed to PeripheralBluetoothState, so this package and flutter_ble_central no longer declare colliding type names. The old name stays as a deprecated alias in 3.0 and is removed in the next breaking release (#316)AdvertiseSettings defaults changed: timeout is 0, meaning no timeout, instead of 400, and txPowerLevel is advertiseTxPowerHigh instead of advertiseTxPowerLow (#301)AdvertiseSetParameters.anonymous is a bool?, not an int? (#289)PeripheralState carries locationServicesDisabled again, which shifts the index of every entry after it. Switch on the values, not on .values[i] (#301)lib/src moved into core/ and platform/<platform>/. Only a direct package:flutter_ble_peripheral/src/... import breaks; everything is still exported from package:flutter_ble_peripheral/flutter_ble_peripheral.dart (#301)[Windows] Fixed crash when Bluetooth adapter is not present or Bluetooth is disabled
unsupported when no Bluetooth adapter is available[iOS/macOS] Added isBluetoothOn to check Bluetooth power state
isBluetoothOn to check Bluetooth power statehasPermission using CBPeripheralManager.authorization APIrequestPermission support (returns current state, as permissions are implicit on Apple)openBluetoothSettings that opens Bluetooth settings directlyisBluetoothOn to check Bluetooth power statehasPermission() and requestPermission() now work on iOS/macOS (previously returned unknown)isSupported now uses peripheral manager state instead of iBeacon checkenableBluetooth now properly returns false (not supported on Apple platforms)Fixes naming issues
Fixes naming issues
[Android] Update java and minsdk to latest
[Android] Fixes error on start broadcasting
[Android] Added advertiseSet parameter to AdvertiseSettings to enable advertiseSet on Android o and higher devices.
[iOS & macOS] Fixed an issue which caused the first advertisement not to be broadcast.
[Android] Fixed requestPermission not working correctly.
[Android] Fixed serviceUuid not working. (thanks @Shik1266 !)
Fix build errors & crash on Windows
Updated bluetooth permissions system for Android, no need for permission handler anymore.
Improvements:
Fixed an issue which caused the enableBluetooth function to reply twice.
Bugs fixed:
Upgraded android sdk to 33. Added permission check on enableBluetooth function.
Upgraded android sdk to 33. Added permission check on enableBluetooth function.
Stable release including the changes noted in the beta releases. This release also updates Android dependencies.
Stable release including the changes noted in the beta releases. This release also updates Android dependencies.
Fixed macOS version not working
Fixed macOS version not working
BREAKING CHANGES: You now define the data to be advertised using the AdvertiseData() constructor. AdvertiseData is the only supported object in iOS. A…
BREAKING CHANGES: You now define the data to be advertised using the AdvertiseData() constructor. AdvertiseData is the only supported object in iOS. AdvertiseSettings and other objects are only supported on Android.
NEW:
Refactored large parts of the code for both Android & iOS.
Added isSupported function to check if BLE advertising is supported by the device.
Added isSupported function to check if BLE advertising is supported by the device.
Changes of 0.5.0 weren't visible on pub.dev
Changes of 0.5.0 weren't visible on pub.dev
Fixed typo causing deviceName not to broadcast on iOS
Fixed typo causing deviceName not to broadcast on iOS
Fixed bug on iOS which led to crash Added local name to advertising in iOS Updated Android dependencies
Fixed bug on iOS which led to crash Added local name to advertising in iOS Updated Android dependencies
Added new options to AdvertiseData Removed embedding V1 for Android
Added new options to AdvertiseData Removed embedding V1 for Android
Upgraded to null-safety Updated dependencies Changed to pedantic
Upgraded to null-safety Updated dependencies Changed to pedantic
Bug fixes
Add support for MacOS
Add support for MacOS
Fixed several parts for Android:
Fixed several parts for Android:
Fixed iOS advertising not working
Fixed iOS advertising not working
Fixed callback on Android
Fixed callback on Android
Fixed flutter v2 embedding
Fixed flutter v2 embedding
Initial version of the library. This version includes:
Initial version of the library. This version includes:
Your coding agent can read these notes before it upgrades. Set up the MCP server →