Prepare 0.7.4 (#1135)

## [0.7.4](https://github.com/python-kasa/python-kasa/tree/0.7.4) (2024-09-27)

[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.3...0.7.4)

**Release summary:**

- KL135 color temp range corrected to 9000k max
- Minor enhancements and project maintenance

**Implemented enhancements:**

- Add factory\_reset\(\) to iotdevice [\#1125](https://github.com/python-kasa/python-kasa/pull/1125) (@rytilahti)
- Add reboot\(\) to the device interface [\#1124](https://github.com/python-kasa/python-kasa/pull/1124) (@rytilahti)
- Add factory-reset command to cli [\#1108](https://github.com/python-kasa/python-kasa/pull/1108) (@rytilahti)

**Fixed bugs:**

- Extend KL135 ct range up to 9000K [\#1123](https://github.com/python-kasa/python-kasa/pull/1123) (@rytilahti)
- Fix cli command for device off [\#1121](https://github.com/python-kasa/python-kasa/pull/1121) (@sdb9696)

**Project maintenance:**

- Use pytest-socket to ensure no tests are performing io [\#1133](https://github.com/python-kasa/python-kasa/pull/1133) (@sdb9696)
- Enable ruff lint pycodestyle warnings [\#1132](https://github.com/python-kasa/python-kasa/pull/1132) (@sdb9696)
- Add autouse fixture to patch asyncio.sleep [\#1131](https://github.com/python-kasa/python-kasa/pull/1131) (@sdb9696)
- Mock asyncio.sleep for klapprotocol tests [\#1130](https://github.com/python-kasa/python-kasa/pull/1130) (@rytilahti)
- Add fixture for T110 fw 1.9.0 [\#1129](https://github.com/python-kasa/python-kasa/pull/1129) (@rytilahti)
- Speed up and simplify github workflows [\#1128](https://github.com/python-kasa/python-kasa/pull/1128) (@sdb9696)
- Add KS200M\(US\) fw 1.0.12 fixture [\#1127](https://github.com/python-kasa/python-kasa/pull/1127) (@GatorEG)
- Add stale PR/Issue github workflow [\#1126](https://github.com/python-kasa/python-kasa/pull/1126) (@sdb9696)
- Add fixture for KL135\(US\) fw 1.0.15 [\#1122](https://github.com/python-kasa/python-kasa/pull/1122) (@rytilahti)
This commit is contained in:
Steven B.
2024-09-27 18:28:58 +01:00
committed by GitHub
parent 1ce5af2494
commit 2922c3f574
4 changed files with 379 additions and 347 deletions

View File

@@ -1,12 +1,44 @@
# Changelog
## [0.7.4](https://github.com/python-kasa/python-kasa/tree/0.7.4) (2024-09-27)
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.3...0.7.4)
**Release summary:**
- KL135 color temp range corrected to 9000k max
- Minor enhancements and project maintenance
**Implemented enhancements:**
- Add factory\_reset\(\) to iotdevice [\#1125](https://github.com/python-kasa/python-kasa/pull/1125) (@rytilahti)
- Add reboot\(\) to the device interface [\#1124](https://github.com/python-kasa/python-kasa/pull/1124) (@rytilahti)
- Add factory-reset command to cli [\#1108](https://github.com/python-kasa/python-kasa/pull/1108) (@rytilahti)
**Fixed bugs:**
- Extend KL135 ct range up to 9000K [\#1123](https://github.com/python-kasa/python-kasa/pull/1123) (@rytilahti)
- Fix cli command for device off [\#1121](https://github.com/python-kasa/python-kasa/pull/1121) (@sdb9696)
**Project maintenance:**
- Use pytest-socket to ensure no tests are performing io [\#1133](https://github.com/python-kasa/python-kasa/pull/1133) (@sdb9696)
- Enable ruff lint pycodestyle warnings [\#1132](https://github.com/python-kasa/python-kasa/pull/1132) (@sdb9696)
- Add autouse fixture to patch asyncio.sleep [\#1131](https://github.com/python-kasa/python-kasa/pull/1131) (@sdb9696)
- Mock asyncio.sleep for klapprotocol tests [\#1130](https://github.com/python-kasa/python-kasa/pull/1130) (@rytilahti)
- Add fixture for T110 fw 1.9.0 [\#1129](https://github.com/python-kasa/python-kasa/pull/1129) (@rytilahti)
- Speed up and simplify github workflows [\#1128](https://github.com/python-kasa/python-kasa/pull/1128) (@sdb9696)
- Add KS200M\(US\) fw 1.0.12 fixture [\#1127](https://github.com/python-kasa/python-kasa/pull/1127) (@GatorEG)
- Add stale PR/Issue github workflow [\#1126](https://github.com/python-kasa/python-kasa/pull/1126) (@sdb9696)
- Add fixture for KL135\(US\) fw 1.0.15 [\#1122](https://github.com/python-kasa/python-kasa/pull/1122) (@rytilahti)
## [0.7.3](https://github.com/python-kasa/python-kasa/tree/0.7.3) (2024-09-10)
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.2...0.7.3)
**Release summary:**
- Migrate from `poetry` to `uv` for package/project management.
**Release summary:**
- Migrate from `poetry` to `uv` for package/project management.
- Various minor code improvements
**Project maintenance:**
@@ -21,9 +53,9 @@
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.1...0.7.2)
**Release summary:**
- **Breaking** change to disable including the check for the latest firmware for tapo devices and newer kasa devices in the standard update cycle. To check for the latest firmware call `check_latest_firmware` on the firmware module or run the `check_latest_firmware` feature.
**Release summary:**
- **Breaking** change to disable including the check for the latest firmware for tapo devices and newer kasa devices in the standard update cycle. To check for the latest firmware call `check_latest_firmware` on the firmware module or run the `check_latest_firmware` feature.
- Minor bugfixes and improvements.
**Breaking changes:**
@@ -54,9 +86,9 @@
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.0.5...0.7.1)
**Release highlights:**
- This release consists mainly of bugfixes and project improvements.
- There is also new support for Tapo T100 motion sensors.
**Release highlights:**
- This release consists mainly of bugfixes and project improvements.
- There is also new support for Tapo T100 motion sensors.
- The CLI now supports child devices on all applicable commands.
**Implemented enhancements:**
@@ -122,7 +154,7 @@ A critical bugfix for an issue with some L530 Series devices and a redactor for
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.0.3...0.7.0.4)
Critical bugfixes for issues with P100s and thermostats
Critical bugfixes for issues with P100s and thermostats
**Fixed bugs:**
@@ -136,7 +168,7 @@ Critical bugfixes for issues with P100s and thermostats
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.0.2...0.7.0.3)
Critical bugfix for issue #1033 with ks225 and S505D light preset module errors.
Critical bugfix for issue #1033 with ks225 and S505D light preset module errors.
Partially fixes light preset module errors with L920 and L930.
**Fixed bugs:**
@@ -191,25 +223,25 @@ This patch release fixes some minor issues found out during testing against all
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.2.1...0.7.0)
We have been working hard behind the scenes to make this major release possible.
This release brings a major refactoring of the library to serve the ever-growing list of supported devices and paves the way for the future, yet unsupported devices.
The library now exposes device features through generic module and feature interfaces, that allows easy extension for future improvements.
With almost 180 merged pull requests, over 200 changed files and since the last release, this release includes lots of goodies for everyone:
* Support for multi-functional devices like the dimmable fan KS240.
* Initial support for hubs and hub-connected devices like thermostats and sensors.
* Both IOT (legacy kasa) and SMART (tapo and newer kasa) devices now expose features and share common API.
* Modules to allow controlling new devices and functions such as light presets, fan controls, thermostats, humidity sensors, firmware updates and alarms.
* The common APIs allow dynamic introspection of available device features, making it easy to create dynamic interfaces.
* Improved documentation.
Hope you enjoy the release, feel free to leave a comment and feedback!
If you have a device that works, but is not listed in our supported devices list, feel free to [contribute fixture files](https://python-kasa.readthedocs.io/en/latest/contribute.html#contributing-fixture-files) to help us to make the library even better!
> git diff 0.6.2.1..HEAD|diffstat
> 214 files changed, 26960 insertions(+), 6310 deletions(-)
We have been working hard behind the scenes to make this major release possible.
This release brings a major refactoring of the library to serve the ever-growing list of supported devices and paves the way for the future, yet unsupported devices.
The library now exposes device features through generic module and feature interfaces, that allows easy extension for future improvements.
With almost 180 merged pull requests, over 200 changed files and since the last release, this release includes lots of goodies for everyone:
* Support for multi-functional devices like the dimmable fan KS240.
* Initial support for hubs and hub-connected devices like thermostats and sensors.
* Both IOT (legacy kasa) and SMART (tapo and newer kasa) devices now expose features and share common API.
* Modules to allow controlling new devices and functions such as light presets, fan controls, thermostats, humidity sensors, firmware updates and alarms.
* The common APIs allow dynamic introspection of available device features, making it easy to create dynamic interfaces.
* Improved documentation.
Hope you enjoy the release, feel free to leave a comment and feedback!
If you have a device that works, but is not listed in our supported devices list, feel free to [contribute fixture files](https://python-kasa.readthedocs.io/en/latest/contribute.html#contributing-fixture-files) to help us to make the library even better!
> git diff 0.6.2.1..HEAD|diffstat
> 214 files changed, 26960 insertions(+), 6310 deletions(-)
For more information on the changes please checkout our [documentation on the API changes](https://python-kasa.readthedocs.io/en/latest/deprecated.html)
**Breaking changes:**
@@ -441,8 +473,8 @@ For more information on the changes please checkout our [documentation on the AP
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.1...0.6.2)
Release highlights:
* Support for tapo power strips (P300)
Release highlights:
* Support for tapo power strips (P300)
* Performance improvements and bug fixes
**Implemented enhancements:**
@@ -481,9 +513,9 @@ Release highlights:
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.0.1...0.6.1)
Release highlights:
* Support for tapo wall switches
* Support for unprovisioned devices
Release highlights:
* Support for tapo wall switches
* Support for unprovisioned devices
* Performance and stability improvements
**Implemented enhancements:**
@@ -556,17 +588,17 @@ A patch release to improve the protocol handling.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.4...0.6.0)
This major brings major changes to the library by adding support for devices that require authentication for communications, all of this being possible thanks to the great work by @sdb9696!
This release adds support to a large range of previously unsupported devices, including:
* Newer kasa-branded devices, including Matter-enabled devices like KP125M
* Newer hardware/firmware versions on some models, like EP25, that suddenly changed the used protocol
* Tapo-branded devices like plugs (P110), light bulbs (KL530), LED strips (L900, L920), and wall switches (KS205, KS225)
* UK variant of HS110, which was the first device using the new protocol
If your device that is not currently listed as supported is working, please consider contributing a test fixture file.
This major brings major changes to the library by adding support for devices that require authentication for communications, all of this being possible thanks to the great work by @sdb9696!
This release adds support to a large range of previously unsupported devices, including:
* Newer kasa-branded devices, including Matter-enabled devices like KP125M
* Newer hardware/firmware versions on some models, like EP25, that suddenly changed the used protocol
* Tapo-branded devices like plugs (P110), light bulbs (KL530), LED strips (L900, L920), and wall switches (KS205, KS225)
* UK variant of HS110, which was the first device using the new protocol
If your device that is not currently listed as supported is working, please consider contributing a test fixture file.
Special thanks goes to @SimonWilkinson who created the initial PR for the new communication protocol!
**Breaking changes:**
@@ -661,13 +693,13 @@ Special thanks goes to @SimonWilkinson who created the initial PR for the new co
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.3...0.5.4)
The highlights of this maintenance release:
* Support to the alternative discovery protocol and foundational work to support other communication protocols, thanks to @sdb9696.
* Reliability improvements by avoiding overflowing device buffers, thanks to @cobryan05.
* Optimizations for downstream device accesses, thanks to @bdraco.
* Support for both pydantic v1 and v2.
The highlights of this maintenance release:
* Support to the alternative discovery protocol and foundational work to support other communication protocols, thanks to @sdb9696.
* Reliability improvements by avoiding overflowing device buffers, thanks to @cobryan05.
* Optimizations for downstream device accesses, thanks to @bdraco.
* Support for both pydantic v1 and v2.
As always, see the full changelog for details.
**Implemented enhancements:**
@@ -727,8 +759,8 @@ This release adds support for defining the device port and introduces dependency
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.1...0.5.2)
Besides some small improvements, this release:
* Adds optional dependency for for `orjson` and `kasa-crypt` to speed-up protocol handling by an order of magnitude.
Besides some small improvements, this release:
* Adds optional dependency for for `orjson` and `kasa-crypt` to speed-up protocol handling by an order of magnitude.
* Drops Python 3.7 support as it is no longer maintained.
**Breaking changes:**
@@ -763,11 +795,11 @@ Besides some small improvements, this release:
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.0...0.5.1)
This minor release contains mostly small UX fine-tuning and documentation improvements alongside with bug fixes:
* Improved console tool (JSON output, colorized output if rich is installed)
* Pretty, colorized console output, if `rich` is installed
* Support for configuring bulb presets
* Usage data is now reported in the expected format
This minor release contains mostly small UX fine-tuning and documentation improvements alongside with bug fixes:
* Improved console tool (JSON output, colorized output if rich is installed)
* Pretty, colorized console output, if `rich` is installed
* Support for configuring bulb presets
* Usage data is now reported in the expected format
* Dependency pinning is relaxed to give downstreams more control
**Breaking changes:**
@@ -831,21 +863,21 @@ This minor release contains mostly small UX fine-tuning and documentation improv
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.4.3...0.5.0)
This is the first release of 0.5 series which includes converting the code base towards more modular approach where device-exposed modules (e.g., emeter, antitheft, or schedule) are implemented in their separate python modules to decouple them from the device-specific classes.
There should be no API breaking changes, but some previous issues hint that there may be as information from all supported modules are now requested during each update cycle (depending on the device type):
* Basic system info
* Emeter
* Time - properties (like `on_since`) use now time from the device for calculation to avoid jitter caused by different time between the host and the device
* Usage statistics - similar interface to emeter, but reports on-time statistics instead of energy consumption (new)
* Countdown (new)
* Antitheft (new)
* Schedule (new)
* Motion - for configuring motion settings on some dimmers (new)
* Ambientlight - for configuring brightness limits when motion sensor actuates on some dimmers (new)
* Cloud - information about cloud connectivity (new)
For developers, the new functionalities are currently only exposed through the implementation modules accessible through `modules` property.
This is the first release of 0.5 series which includes converting the code base towards more modular approach where device-exposed modules (e.g., emeter, antitheft, or schedule) are implemented in their separate python modules to decouple them from the device-specific classes.
There should be no API breaking changes, but some previous issues hint that there may be as information from all supported modules are now requested during each update cycle (depending on the device type):
* Basic system info
* Emeter
* Time - properties (like `on_since`) use now time from the device for calculation to avoid jitter caused by different time between the host and the device
* Usage statistics - similar interface to emeter, but reports on-time statistics instead of energy consumption (new)
* Countdown (new)
* Antitheft (new)
* Schedule (new)
* Motion - for configuring motion settings on some dimmers (new)
* Ambientlight - for configuring brightness limits when motion sensor actuates on some dimmers (new)
* Cloud - information about cloud connectivity (new)
For developers, the new functionalities are currently only exposed through the implementation modules accessible through `modules` property.
Pull requests improving the functionality of modules as well as adding better interfaces to device classes are welcome!
**Breaking changes:**