New Features
- The default LED mode is now `off`.
- Support for `ZDOCmd.Unbind_req` (54).
- Very verbose `TRACE`-level debug logging is now hidden behind the logger object in `zigpy_znp.logger`. To enable it again in Home Assistant, add the following to your logging configuration:
YAML
logger:
logs:
zigpy_znp.logger: debug
- Periodically pings Z-Stack to detect soft lockups and treat this failure as a disconnect. For sticks that reset upon reconnect, like [slaesh's CC2652RB stick](https://slae.sh/projects/cc2652/), this will make recovery automatic.
- Log network settings on startup under the `INFO` log level. For security, the network key will be logged under the `DEBUG` level.
- During request retrying, always attempt source routing, even if a device's `relays` are not present.
Bugfixes
- `permit_ncp` is now a no-op and all calls to `ControllerApplication.permit` will open joins on the coordinator, even when joins are permitted only through another router (https://github.com/zigpy/zigpy-znp/issues/53). A full solution will require changes to Z-Stack.
- Do not attempt manual child aging on older coordinators, as their firmware does not have the required command and MT serialization inconsistencies will cause errors to be logged.
- Prevent the installation of `pyserial_asyncio==0.5` on Windows, which breaks writes (https://github.com/pyserial/pyserial-asyncio/issues/69).