4.0.0
This is the biggest releases so far. It brings tons of updates, some of which deprecated old API, or replaced it with a different one. Migration guides are available in related PRs.
Main changes
- The library is now compatible with Bluetooth Mesh Protocol 1.1, Mesh Model 1.1 and Mesh Configuration Database Profile 1.0.1. New features contain:
- Minimum iOS set to 13.0 due to use of
async
- Async methods for sending messages #527
- There are also corresponding methods with completion callbacks
- Fixed Equatable implementation for
Node
andGroup
types #563 and #564 - New documentation (yey!)
What's Changed
- Making properties public in Light LC messages by @philips77 in #424
- CO2 and VOD concentration added by @philips77 in #426 and #427
- Bug fix: Acknowledged messages sent to group addr should not await Statuses by @philips77 in #428
- Fix appending min interval incorrectly by @CS-CW in #436
- fix: prevent ivindex timestamp update on initial beacon by @anees17861 in #440
- Added support for Generic Location Global messages. by @daretobeorjan in #441
- Support for
TimeGet/Set/Status
andTimeZoneGet/Set/Status
. by @daretobeorjan in #443 - Change
LightLightnessDefaultGet
opCode from 0x8254 to 0x8255 by @TobiasTu in #446 - Add support for Scheduler messages by @daretobeorjan in #444
- Changed Data extensions to public. by @daretobeorjan in #449
- Minimum deployment target increased to iOS 12 (was 9) by @philips77 in #450
- Api improvements by @philips77 in #420
- Documentation, part 1 by @philips77 in #451
- Renaming workspace, targets and app's source folder by @philips77 in #452
- Documentation, part 2 by @philips77 in #453
- Setting default feature values to Unknown and Enabled for Low Power case by @philips77 in #460
- Modified constructor and property for raw value to public. by @daretobeorjan in #448
- Support for CDB 1.0.1 by @philips77 in #461
- Allow oob input generation to be configured, version 2 by @philips77 in #462
- Provisioning Security Improvements by @philips77 in #463
- Support for Mesh 1.1 (Part 1: Provisioning) by @philips77 in #464
- Support for Mesh 1.1 (Part 2: Private beacons) by @philips77 in #465
- Transition time improvements by @philips77 in #466
- Company identifiers updated by @philips77 in #467
- Showing related (base and extending) models by @philips77 in #483
- Bugfix: Fixed
ConfigModelSubscriptionVirtualAddressAdd
by @philips77 in #484 - Automatic node configuration by @philips77 in #486
- Update incorrect member vars in Crypto and SchedulerMessages by @agurusa in #485
- API improvement related to getting models from an Element by @philips77 in #487
- CryptoSwift version set to 1.7.0 by @philips77 in #488
- Warnings fixed by @philips77 in #489
- Bugfix: Groups in Heartbeat subscription by @philips77 in #492
- Support for Mesh 1.1 (Part 3: Models) by @philips77 in #468
- Add search bar for searching node and group by @Hung6129 in #475
- Search for Nodes and Groups by @philips77 in #493
- Documentation improvements by @philips77 in #494
- Bugfix: Accepting SNB from a Node that does not know the Primary Network Key by @philips77 in #495
- Bugfix: Crash when configuring a node with no primary key by @philips77 in #496
- Bug fix: Fixed displaying Element number by @philips77 in #500
- Migration from SecKeyGeneratePair to SecKeyCreateRandomKey by @philips77 in #501
- Ignoring message failures when not initiated by user by @philips77 in #502
- Welcome screen by @philips77 in #503
- Automatic node configuration: publication by @philips77 in #504
- Support for Mesh 1.1 (Part 3: Models) - continuation by @philips77 in #505
- Bugfix: Sensor server screen fixed by @philips77 in #506
- Parsing sensor values fixed by @philips77 in #508
- Breaking: Encoding invalid Device Property Characteristic as
.invalid
by @philips77 in #509 - Sensor pressure unit fixed by @philips77 in #510
- More sensor properties by @philips77 in #511
- Fix: Alert about node UUID conflict before, not after provisioning by @philips77 in #512
- API improvement: contains methods added by @philips77 in #513
- Switching GATT connection to newly provisioned node by @philips77 in #514
- Bugfix: Displyaing special groups in Publication screen when no custom group exist by @philips77 in #515
- Bug fix: Fixed cycling reference loop by @philips77 in #516
- API improvements for Key Refresh Procedure by @philips77 in #517
- Automatic node reconfiguration by @philips77 in #518
- Fixed updating Relay Count slider value by @philips77 in #519
- Documentation updated by @philips77 in #520
- Company identifiers updated and moved out from the library by @philips77 in #521
- Breaking: Network parameters improvements by @philips77 in #523
- Minor typos by @roshanrajaratnam in #525
- Breaking: Message callbacks by @philips77 in #524
- Breaking: Asynchronous message sending with
async
(iOS 13 required) by @philips77 in #527 - Breaking: Fixed handling messages sent to virtual address by @philips77 in #528
- New API: Methods to wait for a messages by @philips77 in #533
- Messages as
AsyncStream
by @philips77 in #534 - Vendor types refactored by @philips77 in #535
- Remote provisioning by @philips77 in #536
- Clean up
UnprovisionedDeviceBeaconDecoder.decode
by @roshanrajaratnam in #530 - Bug fix: Allowing 5-byte long array of zeros as valid TimeStatus by @philips77 in #544
- Fixed resetting Proxy Filter by @philips77 in #545
- Renaming
Task
toMeshTask
by @philips77 in #547 - Bug fix: Adding missing
self.
by @philips77 in #548 - Possible NPE fixed by unwrapping weak values by @philips77 in #549
- Mesh Protocol 1.1 renamed
inclusionList
toacceptList
andexclusionList
torejectList
by @philips77 in #550 - New SAR implementation by @philips77 in #555
- Improvements/fix messages by @roshanrajaratnam in #552
- Apply missing node features after receiving composition data by @kkellermann in #539
- Typo in proxy filter setup fixed by @philips77 in #557
- Bugfix: Exporting URIs without escaping slashes by @philips77 in #558
- Bugfix: SchedulerRegistryEntry fixed by @philips77 in #559
- Support for importing configuration with fractional seconds by @philips77 in #560
- CryptoSwift updated to 1.8.0 by @philips77 in #561
- Version 4.0.0 by @philips77 in #562
- [Breaking] Fixed Equatable implementation by @philips77 in #563
- [Breaking] Fixed Equatable implementation, part 2 by @philips77 in #564
- Documentation regenerated by @philips77 in #565
New Contributors
- @anees17861 made their first contribution in #440
- @daretobeorjan made their first contribution in #441
- @TobiasTu made their first contribution in #446
- @agurusa made their first contribution in #485
- @Hung6129 made their first contribution in #475
- @roshanrajaratnam made their first contribution in #525
- @kkellermann made their first contribution in #539
Full Changelog: 3.2.0...4.0.0