97936046e0
* Implement hasPermissions api * Bump minimum MacOS version to 10.15 * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
8.4 KiB
8.4 KiB
1.0.0
- BREAKING CHANGE:
OnValueChangecallback also includes timestamp - BREAKING CHANGE: Bump minimum IOS version to 13.1
- BREAKING CHANGE: Bump minimum MacOS version to 10.15
- Fix Windows 11 crash on cancelling pairing
- Unified error codes for all platforms
- Add
isScanningapi - Add
hasPermissionsapi - Add
requestPermissionsapi and auto ask permission onstartScan disconnectnow waits for disconnection confirmation before returning- Improve Windows disconnection event handling and cleanup
- Add
withDescriptorsparameter indiscoverServicesAPI - Add
timestampinBleDevice - Add
setLogLevelapi for configuring logs
0.21.1
- Fix device name resolution on Windows
- Add
exclusionFiltersto filter out devices from scan results
0.21.0
- BREAKING CHANGE:
connectionTimeoutargument fromconnect,isPairedandpairAPI renamed totimeout - Add
timeoutargument to all APIs - Add
clearQueue()API
0.20.2
- Fix
BleCharacteristic.onValueReceived
0.20.1
- Fix
writeWithoutResponse()which was not properly waiting for completion on Android and Apple
0.20.0
- Add new high level API. Services are auto-discovered. the BleDevice class offers convenient member methods and properties.
- BREAKING CHANGE:
bleDevice.isPairedis nowbleDevice.paired - Deprecate
readValuein favor ofread - Deprecate
writeValuein favor ofwrite - Deprecate
setNotifiablein favor ofsubscribeNotifications,subscribeIndications,unsubscribe - Fix
getBluetoothAvailabilityStatereporting wrong Bluetooth status on browsers where Web Bluetooth can globally be disabled startScanon web now throws aWebBluetoothGloballyDisabledexception if scanning cannot proceed due to Web Bluetooth being globally disabled- EXAMPLE APP: Migrate to the new high level API
0.19.0
- Get and prefer advertised name of scanned devices on Apple
- Improve Android runtime permissions docs
- Cache and return advertised name for system devices on Apple
- Add app showcase in Readme
- EXAMPLE APP: Don't disconnect on leaving the details page
- EXAMPLE APP: Fix Android builds
- EXAMPLE APP: Fix service filter warning on macOS
- EXAMPLE APP: Add types to callbacks
0.18.0
- Add Streams:
scanStream,availabilityStream,connectionStream,characteristicValueStream,pairingStateStream - Fix
connectapi bug to detect proper connection state - Fix
getSystemDevices()on Linux - Improve docs for isPaired
0.17.0
- Fix Windows crash when calling pair APIs with an unknown deviceId
- Fix Windows crash when calling startScan again after some time
- Fix Windows warning
Unable to establish connection on channelwhen hot restarting - Refactor native Windows code
- Improve Android permission documentation
0.16.0
- BREAKING CHANGE:
payloadis nowpayloadPrefix - BREAKING CHANGE:
maskis nowpayloadMask - Bump bluez to 0.8.3
- Do not normalize UUIDs on native side
- Reverse _permissionStatus return values in example app
- Improve readme
- Improve ManufacturerDataFilter
0.15.0
getSystemDevices(withServices:)now sets several generic services by default as filtergetConnectionStateon Android will now returnBleConnectionState.disconnectedif device is connected to the system but not to the app- Improve callback error handling
0.14.0
- BREAKING CHANGE:
bleDevice.namenow filters out non-printable characters - Add
bleDevice.rawName - Add
disableBluetoothAPI - Fix Apple CBCentralManager lazy initialization on
startScan - Fix Android error
scan too frequentlyand auto retry scan once sufficient time has passed - Fix duplicate
onValueChangedevents on Android 11 or earlier - Fix Windows
withServicesfilter - Fix Windows Bluetooth availability state in release builds
- Throw error on Apple if Bluetooth permission is denied on
startScan - Do not throw
Characteristic already notifyingerror. Subscribing to characteristic notifications multiple times is now handled safely - Bump flutter_web_bluetooth to 1.0.0
0.13.0
- BREAKING CHANGE:
scanFilterfilters are now in OR relation - BREAKING CHANGE:
manufacturerDataHeadis removed fromBleDevice - BREAKING CHANGE:
WebConfigis nowWebOptions - BREAKING CHANGE:
ManufacturerDataFilter.datais nowManufacturerDataFilter.payload - BREAKING CHANGE:
connect()does not return a boolean anymore. It will throw error on connection failure - BREAKING CHANGE:
pair()does not return a boolean anymore. It will throw error on connection failure - BREAKING CHANGE:
onConnectionChangereturns error as well - BREAKING CHANGE: rename in-app pairing capabilities
- Deprecation:
manufacturerDatais deprecated in BleDevice and will be removed in the future - Improve
scanFilterhandling - Use
ManufacturerDataobject instead ofUint8Listfor manufacturerData - Add
manufacturerDataListasList<ManufacturerData>inBleDevice - Auto convert all services passed to
getSystemDevices() - Return false for receivesAdvertisements on Linux/Web
- Add 1s delay in discoverServices on Linux
- Add
connectionStreamAPI to get connection updates as stream
0.12.0
- BREAKING CHANGE:
unPairis nowunpair - BREAKING CHANGE:
onPairingStateChangedoes not return error anymore - Add
pair(),isPairedandonPairingStateChangesupport for Apple and web connect()andpair()now return a bool result- Add
PlatformConfigproperty inStartScan - Add
WebConfigproperty inPlatformConfig - Fix notifications for characteristics without cccd on Android
- Promote Linux to stable
0.11.1
- Trim spaces in UUIDs
- Receive advertisement events on web
- Improve cleanup after disconnection on web
0.11.0
- Unify UUID format across all platforms, 128-bit lowercase
- Add BleUuidParser utility methods for UUID parsing
0.10.1
- Improve Android error handling
- Fix Android disconnection events sometimes missed
- Improve cleanup after disconnection on Apple and Android
- Support pairing on Apple
- Improve code level documentation
0.10.0
- BREAKING CHANGE:
ScanResultis nowBleDevice - BREAKING CHANGE:
getConnectedDevicesis nowgetSystemDevices - BREAKING CHANGE:
isPairedis now nullable - BREAKING CHANGE:
onValueChangedis nowonValueChange - BREAKING CHANGE:
onConnectionChangedis nowonConnectionChange - Add
connectionStateproperty to BleDevice - Add
isSystemDeviceproperty to BleDevice - Add
.perDevicequeue - Support "ProvidePin" pairing on Windows 10/11
- Get RRSI updates on Apple platforms
- Improve enum parsing performance
- Improve code level documentation
0.9.11
- Add device name prefix filtering
0.9.10
- Fix Windows scan filter
- Remove scan result caching on Windows
- Improve service discovery on Linux
- Use asynchronous callbacks for SetNotifiable
- Remove dependency on
convert - Remove dependency on
collection - Update Android example app Gradle
0.9.9
- Improve service discovery on Apple
- Improve reconnection on Apple
- Persist long scan result name on Windows
- Fix Android serviceUuids in scanResults
- Example app improvements
0.9.8
- Improve manufacturer data discovery on Windows
- Example app improvements
0.9.7
- Fix characteristic keying on linux allowing receiving data from multiple BLE devices at the same time
0.9.6
- Fix a Windows issue where characteristics of certain services would not be discovered
- Improve readme
0.9.5
- Windows support has graduated from beta to stable
- Support filtering by manufacturer data
- Unify web's optionalServices API with filtering API
- Implement requestMtu in Linux
- Fix wrong manufacturer data in Windows release builds
- Improve logging
0.9.4
- Fix Windows crash when no Bluetooth adapter is present
0.9.3
- Add scan filter (withServices:) in
startScan() - Add service UUIDs from advertisements in
BleScanResult - Fix Windows release build compilation
0.9.2
- Add command queue
- Improve error handling on Android, iOS, macOS, Windows, Linux and web
0.9.1
- Improve logging
0.9.0
- Improve windows device name discovery
- Improve linux implementation
- Improve titles in example app
0.8.4
- Add
WebRequestOptionsBuilder.defaultServicesfor convenience when settingoptionalServiceswhen scanning on web - Add "try online" URL in readme
- Improve readme
- Improve example app
0.8.3
- Rename onPairStateChange *> onPairingStateChange
- Improve readme
0.8.2
- Improve readme
0.8.1
- Update supported platforms
0.8.0
- Initial release