Releases: StarryInternet/CombineCoreBluetooth
Releases · StarryInternet/CombineCoreBluetooth
0.8.0
What's Changed
- Only capture the absolute necessary values inside closures, to avoid improperly caching or reusing of core bluetooth objects by @klundberg in #33
- Note: This may cause some issues if you were inadvertently relying on capturing of peripherals and prolonging their lifetime.
Full Changelog: 0.7.2...0.8.0
0.7.2 - Combifocals
This release supports building and running tests on visionOS.
What's Changed
- Allow library to build and run tests on visionOS, and add github action runner for visionOS by @klundberg in #32
Full Changelog: 0.7.1...0.7.2
0.7.1
What's Changed
- Fix bugs in demo app by @klundberg in #29
- Fix API MISUSE warning when creating a CentralManager or PeripheralManager without a restore identifier by @klundberg in #30
Full Changelog: 0.7.0...0.7.1
0.7.0
What's Changed
- Don't wrap connection errors in its own case in CentralManagerError, to make it easier to query or case-match normal core bluetooth errors by @klundberg in #24
- Make all types Sendable by @klundberg in #26
- Make more properties mutable on the main types by @klundberg in #28
This release bumps the minimum version of Swift that can build this library to 5.6 (Xcode 13.3 and later)
Full Changelog: 0.6.0...0.7.0
Release 0.6.0
What's Changed
- Breaking change: Modify PeripheralManager API to use more publishers where it makes sense by @klundberg in #21
- api cleanup by @klundberg in #22
- Add tvos/watchos build/tests, bump macos version by @klundberg in #23
Full Changelog: 0.5.0...0.6.0
0.5.0
What's Changed
- central refactor by @klundberg in #19
- Add new helper methods to Peripheral and PeripheralManager by @klundberg in #20
- This is a breaking change:
updateValue(_:for:inServices:)
on peripheralmanager now returns a publisher instead of a bool. see #20 for more info.
- This is a breaking change:
Full Changelog: 0.4.0...0.5.0
0.3.1
What's Changed
- Return an error when trying to write without response to a characteristic that doesnt support it. by @klundberg in #11
- Refactor
Peripheral
for better testability, and return actualData
orVoid
for reads/writes. by @klundberg in #12 - Add support for swift package index auto-docc-generation and add some doc comments too by @klundberg in #15
- bugfix: Keep reference to CBL2CAPChannel so the system doesn't close it by @bgomberg in #16
New Contributors
Full Changelog: 0.3.0...0.3.1
0.3.0
This release makes the following changes:
Behavior changes/fixes:
- Writes to characteristics that use the
.withoutResponse
write type will return a publisher that completes immediately, instead of a publisher that waits indefinitely for a response from the peripheral (which will never come when we don't want a response) setNotifyValue
's behavior is unified with other publishers: before, calling it would eagerly execute the operation on the underlyingCBPeripheral
. Now,setNotifyValue
is lazy: you need to call the function and subscribe to the publisher in order to execute the operation, bringing the behavior in line with all other publishers returned fromPeripheral
types.
Internal:
- Refactored much of the implementation of the live peripheral types to make the publisher chains a bit simpler to read and deal with
- Added to the workspace a demo application that can behave as a peripheral or a central on any supported platform (with higher min version requirements however), for testing of various bluetooth scenarios (writable characteristics being the first implemented)