Plugin.BluetoothLE 3.0.0-beta1

This is a prerelease version of Plugin.BluetoothLE.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Plugin.BluetoothLE --version 3.0.0-beta1                
NuGet\Install-Package Plugin.BluetoothLE -Version 3.0.0-beta1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Plugin.BluetoothLE" Version="3.0.0-beta1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Plugin.BluetoothLE --version 3.0.0-beta1                
#r "nuget: Plugin.BluetoothLE, 3.0.0-beta1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Plugin.BluetoothLE as a Cake Addin
#addin nuget:?package=Plugin.BluetoothLE&version=3.0.0-beta1&prerelease

// Install Plugin.BluetoothLE as a Cake Tool
#tool nuget:?package=Plugin.BluetoothLE&version=3.0.0-beta1&prerelease                

Cross Platform Reactive Bluetooth LE Plugin for Xamarin

Supported Platforms
Android 4.3+
iOS 7+
tvOS
macOS

Product Compatible and additional computed target framework versions.
MonoAndroid monoandroid10 is compatible. 
Xamarin.iOS xamarinios10 is compatible. 
Xamarin.Mac xamarinmac20 is compatible. 
Xamarin.TVOS xamarintvos10 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on Plugin.BluetoothLE:

Package Downloads
Acr.Ble

Cross Platform Reactive Bluetooth LE Plugin for Xamarin Supported Platforms Android 4.3+ iOS 7+ Windows UWP tvOS macOS

TestWW

Package Description

OpenWindesheart

The open-source OpenWindesheart is an SDK used for scanning, connecting and getting data from activity-trackers using bluetooth. Current support: - Mi Band 3 -

Shimmer.CSharp.BLEAPI

Package Description

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Plugin.BluetoothLE:

Repository Stars
winemug/OmniCore
Control omnipod from your phone and more.
Version Downloads Last updated
6.3.0.19 234,894 3/30/2020 6.3.0.19 is deprecated because it is no longer maintained.
6.2.6 65,473 7/16/2019
6.2.5 3,766 6/20/2019
6.2.4 1,539 6/20/2019
6.2.3 38,989 11/18/2018
6.2.2 7,077 9/28/2018
6.2.1 2,622 9/11/2018
6.2.0 3,779 8/18/2018
6.1.3 7,143 7/14/2018
6.1.2 3,203 7/6/2018
6.1.1 2,167 6/28/2018
6.1.0 2,024 6/26/2018
6.1.0-beta3 1,695 6/22/2018
6.1.0-beta2 1,718 6/21/2018
6.1.0-beta1 1,748 6/9/2018
6.0.3 8,651 5/6/2018
6.0.2 2,728 4/29/2018
6.0.1 2,234 4/27/2018
6.0.0 4,566 4/22/2018
6.0.0-beta5 1,730 4/17/2018
6.0.0-beta4 1,771 4/14/2018
6.0.0-beta3 3,244 2/7/2018
6.0.0-beta2 1,979 1/13/2018
6.0.0-beta1 1,823 12/26/2017
5.3.5 5,453 3/23/2018
5.3.4 2,627 3/11/2018
5.3.3 2,050 3/6/2018
5.3.2 3,546 1/22/2018
5.3.1 2,819 12/8/2017
5.3.0 2,052 12/4/2017
5.2.2 2,072 11/24/2017
5.2.0 3,112 11/11/2017
5.1.0 2,442 10/29/2017
5.1.0-beta2 1,576 10/24/2017
5.1.0-beta1 1,560 10/23/2017
5.0.0 2,825 9/9/2017
4.0.1 2,403 8/15/2017
4.0.0 2,393 6/28/2017
4.0.0-beta1 1,661 6/7/2017
3.2.0-beta1 1,670 5/28/2017
3.1.1 3,684 5/25/2017
3.1.0 1,860 5/23/2017
3.0.0 2,011 5/19/2017
3.0.0-beta3 1,736 5/7/2017
3.0.0-beta2 1,604 4/30/2017
3.0.0-beta1 1,668 4/21/2017
2.0.3 2,541 3/29/2017
2.0.2 2,003 3/13/2017
2.0.1 1,904 3/10/2017
2.0.0 4,124 3/3/2017
1.0.0 5,046 10/16/2016

3.0.0
[feature] GATT Server is now built into this library
[feature] Manufacturer data can be advertised on Windows and Android
[feature] ability to scan for multiple bluetooth adapters
[feature] expose service data as part of advertisement data
[feature] expose native device from IDevice as object
[feature] New methods - Device.GetKnownService, Service.GetKnownCharacteristics(uuids), and Device.GetKnownCharacteristics(serviceUuid, characteristicUuids)
[fix][android] GetKnownDevice
[fix][android] bad UUID parsing in ad data for service UUIDs

2.0.3
[fix][android][ios] improved equality checks to help with android events

2.0.2
[fix][android] more gatt133 fixes
[fix][android] additional fixes for cancel connection
[fix][android] Connect completion wasn't being called properly

2.0.1
[fix][android] finalization was causing NRE

2.0
[feature] macOS support
[feature][all] Connection configuration allows you to set connection priority, notification states on iOS, tvOS, macOS, and whether or not to make the connection persistent
[feature][macos/tvos/ios] Background mode via CBCentralInitOptions - On the platform project use BleAdapter.Init(BleAdapterConfiguration)
[feature][ios] Background - Adapter.WhenDeviceStateRestored() will allow to hook for background state restoration (must be used in conjunction with BleAdapter.Init)
[feature][uwp][droid] Reliable write transaction via Device.BeginReliableWriteTransaction() and GattReliableWriteTransaction
[feature][uwp][droid] WriteBlob now uses reliable write transactions
[feature] Adapter.GetPairedDevices() - pretty self explanatory
[breaking][feature] RequestMtu now returns as an observable with what the accepted MTU was
[breaking] CreateConnection is gone - created more issues than it solved - Use Connect() as it creates persistent connections out of the gate
[breaking] Disconnect has been renamed to CancelConnection as it cancels any pending connections now
[breaking] Logging is gone.  It just isn't needed in light of all of the top level events
[fix][droid] disconnect on existing connection tries
[fix][droid] more gatt 133 issues
[fix][all] Blob write observable subscriptions not firing properly
[fix][all] NotifyEncryptionRequired, Indicate, and IndicateEncryptionRequired return true for CanNotify

1.3
[fix][droid] descriptors and characteristic read/writes now adhere to AndroidConfig.WriteOnMainThread
[fix][ios] WhenStatusChanged was causing OnError when a connection failure occurred
[fix][core] BlobWrite will now use proper MTU
[breaking][feature][core] Background scan has been replaced.  The normal scan now takes a configuration.
[feature][core] Get current MTU size
[feature][droid] monitor MTU changes

1.2
[feature] ability to open bluetooth settings configuration
[feature] ability to request MTU is now part of device (still only available on droid - but allows for greater flexibility)
[feature][droid] ability to pair with a device
[feature][droid] ability to toggle bluetooth adapter status

1.1
[BREAKING] Characteristic/Descriptor Read, Write, and Notification events now return CharacteristicResult that includes the sender characteristic as well as the data
[fix][droid] Write was not broadcasting completion at the right time

1.0.8
[fix] completion of ReadUntil

1.0.7
[feature] IGattCharacteristic.ReadUntil(endBytes) extension method will read in a loop until end bytes detected
[feature][droid] AndroidConfig.MaxTransmissionUnitSize (MTU) can now be set to negotiate MTU upon connections

1.0.6
[fix][droid] write on main thread (can use AndroidConfig.WriteOnMainThread = false, to disable)
[feature] Blob write
[feature] Logging now has deviceconnected/devicedisconnected if you wish to monitor just one of the status'

1.0.5
[fix] ability to check for true WriteNoResponse flags
[fix][droid] ship proper unsubscribe bytes

1.0.4
[fix] logging cleanup
[feature][core] add logging abilities from device reference
[feature][droid] add improved way to deal with Android connection issues (please read docs under Android Troubleshooting)

1.0.3
[fix][core] logging would not hook properly to existing connected devices
[fix][droid] deal with gatt error 133 by delaying service discovery post connection
[workaround] tvOS was having issues. temporarily pulled from nuget

1.0.2
[feature] write without response void method added
[feature] proper equals check for all ble objects

1.0.1
[fix][all] new adapter scans only clear disconnected devices from cache
[feature] Adapter.GetConnectedDevices

1.0.0
[fix][droid] WhenStatusChanged firing on subscription and replays properly
[fix][droid] properly parsing 16 and 32bit UUIDs in advertisement packet

0.9.9
[breaking] WhenActionOccurs renamed to CreateLogger
[fix] ensure WhenScanStatusChanged() broadcasts its current state on registration
Logging now returns actual packet received where applicable

0.9.8
adding tvOS libraries to package (NOT TESTED)
[fix] createconnection properly persists connection now
[fix] more logging and discovery issues
[fix][droid] device.readrssi was not working
[droid] device.whenstatuschanged will now broadcast Connecting/Disconnecting
[droid] advertisement packet now gets all service UUIDs parsed

0.9.7
[fix] Error notifications on read/writes
[fix] Make sure to replay last status for connectable observables
[fix] Service discovery on iOS and Android was not registering subsequent subscriptions properly
[fix][droid] Read/Write callbacks now passing values back properly
[breaking] PersistentConnection is now CreateConnection with improvements to status reporting

0.9.6
Vastly improved logging
Improvements to observable allocations
Improvements in service discovery

0.9.5
[breaking] Change extension method names

0.9.4
[breaking] Characteristic method WhenNotificationOccurs() is now called WhenNotificationReceived().  It also no longer subscribes to notifications.  Use new method SubscribeToNotifications().  WhenNotificationReceived() is for logging purposes

0.9.3
Add heartrate plugin (extension method)
Add super logging plugin (extension method)
Characteristics and Descriptors now have WhenRead/WhenWritten events to monitor calls externally

0.9.2
ScanListen for working with scan results from a background or decoupled component

0.9.1
BackgroundScan added and ScanFilter removed
Multiple entry points can now hook up to scan, but only one will run (connectable refcount observable)

0.9.0
Initial Public Release