Skip to content

Releases: StarryInternet/CombineCoreBluetooth

0.8.0

23 Apr 19:57
Compare
Choose a tag to compare

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

02 Feb 05:08
eaadfdb
Compare
Choose a tag to compare

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

25 Oct 05:30
Compare
Choose a tag to compare

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

10 Oct 21:02
Compare
Choose a tag to compare

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

28 Jul 19:20
Compare
Choose a tag to compare

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

20 Jul 20:22
Compare
Choose a tag to compare

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.

Full Changelog: 0.4.0...0.5.0

0.3.1

24 Jul 17:47
Compare
Choose a tag to compare

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 actual Data or Void 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

06 Apr 01:05
Compare
Choose a tag to compare

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 underlying CBPeripheral. 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 from Peripheral 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)

0.2.1

11 Mar 07:10
Compare
Choose a tag to compare

This release adds support for building this library using Carthage.