This beta release is based on stable v2.11.5 version.
Changes
- Support Tuya battery scene switch (_TZ3000_dfgbtub0) #4895
- Support Tuya 4 Gang scene switch (_TZ3000_xabckq1v) #4908
- Make Regulation SetPoint Offset usable as offset for Danfoss Ally #4881
- Add
QLatin1String
helper functions: indexOf, startsWith and contains #4915 - Improve backup upload handling #4916
- Don't enumerate devices in firmware update handler periodically #4918
- Update
QList
iterators and prevent copy of Simple Descriptor #4917 - Fix always loading coordinator node from database first.
- Fix possible crash when invalid Simple Descriptor is received.
- Use monotonic timer for relative timestamps in deCONZ core to prevent jumps and stalling.
deCONZ core performance
Various hot path components in core were refactored to improved performance and cut down temporary memory allocations by 2/3.
- Replaced
QList
bystd::vector
for various ZDP and ZCL data structures. - Reuse
deCONZ::ApsDataIndication
when receiving messages. - Reuse
deCONZ::ZclFrame
when parsing ZCL payload. - Refactored various core handlers to not copy large data structures if not needed.
- Make
deCONZ::ApsDataConfirm
a C++ POD type instead Pimpl to prevent extra heap allocation. - Replaced all uses of
QDateTime
by approx. 200x faster lightweight alternative in core. - Improved serial communication performance.
- Improved Cluster Info panel performance.
- Improved DeviceEnumerator performance.
- Improved node rendering performance.
Note: This release breaks C++ ABI for the deCONZ library and requires recompilation for custom compiled plugins with latest deconz-dev
package.
A special thanks to all contributors of the deCONZ Github community.