Changelogs » Adafruit-circuitpython-ble

PyUp Safety actively tracks 262,873 Python packages for vulnerabilities and notifies you when to upgrade.

Adafruit-circuitpython-ble

7.3.1

To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

7.3.0

To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

7.2.1

Do not use `timeout` arg in `start_advertising()` on 5.x. Thanks roamingthings!
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

7.2.0

+ add `timeout` to `BLERadio.start_advertising`
  + add `BLERadio.advertising` property
  + add `ReportOut.report` property to get keyboard leds info
  
  Thanks xiongyihui (98)!
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

7.1.0

Use an OrderedDict to preserve the ordering of ManufacturerDataField objects in ManufacturerData. They will appear in the order they are set.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

7.0.3

To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

7.0.2

To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

7.0.1

start_scan()` did not handle the case of mixing an Advertisement class with no prefixes with classes with some prefixes. This is used in `examples/ble_detailed_scan.py`.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

7.0.0

This release includes:
  * Advertisement-matching prefixes are now specified as tuples of prefixes.
  You no longer need to count up the bytes and include a length byte in front of each subprefix.
  * The class attribute has been renamed from prefix to match_prefixes. This is an incompatible change; but other BLE libraries have been updated to support it, so you will have to update those libraries as well.
  * All the definitions of __get__(self, obj, cls) now check for obj is None, and return self in that case. This is because MicroPython/CircuitPython don't invoke descriptor protocol on obj's class, but CPython does.
  * Catch when microcontroller is not present, such as when running in CPython.
  Windows doesn't have os.uname(), so catch that.
  * Make it easier and clearer for an Advertisement subclass to change the behavior of matches() from all to any.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

6.1.5

Thanks nnja for the PR
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

6.1.4

To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

6.1.3

IntCharacteristic`, `FloatCharacteristic`, and `StructCharacteristic` were not checking that `initial_value` was explicitly `None`, but just that it was false. This made it not possible to give an initial value of `0`, `0.0`, or `b''`, respectively.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

6.1.2

To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

6.1.1

start_scan()` with no arguments was no longer returning anything. Now it's equivalent to `start_scan(Advertisement)` again. Fixes 75.

6.1.0

We have upgraded Pylint checks to use the latest version of Pylint and implemented usage of Black Python formatting. This does not change the functionality of the code - it is designed to bring it up to current standards and make it more readable.
  
  * Remove pinned Pylint version number from build.yml file
  * Synced `.pylintrc` file to match Adafruit standard
  * Ran upgraded Pylint and applied any changes or new disables necessary
  * Ran Black formatter and allowed application of changes across entire repo
  
  For more information on using Pylint and Black on your code, check out [this guide on working with Pylint and Black](https://learn.adafruit.com/improve-your-code-with-pylint)
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

6.0.0

The `AdafruitRadio` advertisement class was moved to https://github.com/adafruit/Adafruit_CircuitPython_Radio. One bug was also fixed. Because the API changed incompatibly, this is a new major version.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

5.2.0

Add the `adafruit-blinka-bleio` dependency for basic Linux BLE scanning support.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

5.1.1

Tweak setup.py so `adafruit_ble` has members on Raspberry Pi.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

5.1.0

Add service data support in advertisements.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

5.0.3

- Update `DeviceInfoService` to use latest internal API. Allow it to query a remote service.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

5.0.2

Fix packaging so that it finds sub-packages and remove use of mocks for testing. We rely on Blinka's _bleio stubs now.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

5.0.1

Prevent plotter example from swamping Mu with input. Fixes 57.  Thanks dglaude!
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

5.0.0

- Supply default HID descriptor for HIDService.
  - Fix lazy advertising field instantiation; this fixes problems with advertising flags.
  - Fix doc formatting.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

4.0.1

This release includes:
  * A fix to the way this library was packaged in PyPi. While this library is only supported for CircuitPython use, our CI wasn't able to import this as a dependency for another library.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://circuitpython.org/libraries).
  
  To use in CPython, `pip3 install adafruit-circuitpython-ble`.
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

4.0.0

Main Changes:
  * ANCS (Apple Notification Center Service) now has its own repository, [Adafruit_CircuitPython_BLE_Apple_Notification_Center](https://github.com/adafruit/Adafruit_CircuitPython_BLE_Apple_Notification_Center)
  * Magic Light also has its own repository, [Adafruit_CircuitPython_BLE_Magic_Light](https://github.com/adafruit/Adafruit_CircuitPython_BLE_Magic_Light)
  * Apple Media Service (previously unimplemented) was also moved to its own repository, [Adafruit_CircuitPython_BLE_Apple_Media](https://github.com/adafruit/Adafruit_CircuitPython_BLE_Apple_Media)
  
  
  Other changes:
  * Repository was migrated from Travis to GitHub Actions
  * Bug fixes

3.1.2

Changes in how advertising was done in CircuitPython caused this to fail. This fixes the problem.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://github.com/adafruit/Adafruit_CircuitPython_Bundle).
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

3.1.1

To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://github.com/adafruit/Adafruit_CircuitPython_Bundle).
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

3.1.0

For use with CircuitPython 5.0.0-beta.0 or later.
  
  - Add Apple Notification Service support and example.
  - Fix iOS HID.
  - Add Magic Light LED lightbulb support and example.
  - `Add BLERadio.name` and `BLERadio.tx_power` properties.
  - Include `BLERadio.name` in advertisement scan response
  
  This release is not compatible with CircuitPython 4.1.0. For 4.1.0, use release [1.0.2](https://github.com/adafruit/Adafruit_CircuitPython_BLE/tree/1.0.2) of this library. Due to current limitations in our library bundle packaging, the 4.x library bundle will contain this release, not the [1.0.2](https://github.com/adafruit/Adafruit_CircuitPython_BLE/tree/1.0.2) release.
  
  To use in CircuitPython, simply install the [Adafruit CircuitPython bundle](https://github.com/adafruit/Adafruit_CircuitPython_Bundle).
  
  Read the [docs](http://circuitpython.readthedocs.io/projects/ble/en/latest/) for info on how to use it.

3.0.0

This release is an extensive rewrite. It is compatible with CircuitPython 5.0.0-beta.0 and later. It is being released as a regular release, not as a pre-release.
  
  This release is not compatible with CircuitPython 4.1.0. For 4.1.0, use release [1.0.2](https://github.com/adafruit/Adafruit_CircuitPython_BLE/tree/1.0.2) of this library. Due to current limitations in our library bundle packaging, the 4.x library bundle will contain this release, not the [1.0.2](https://github.com/adafruit/Adafruit_CircuitPython_BLE/tree/1.0.2) release.
  
  - Match `_bleio` changes in CircuitPython 5.0.0-beta.0.
  - Define BLE services declaratively, so that they may be used either on the client or server side of the connection.
  -  Rework advertising packet construction.
  - Update examples for new API, and add some new examples.
  - Do a CircuitPython version check to ensure compatibility.

2.0.1alpha.2

This pre-release is compatible with CircuitPython 5.0.0-alpha.2, .3, and .4, and .5. `bleio` has been renamed to `_bleio` and there are other changes for compatibility.