8000 Prepare 0.7.4 (#1135) · msz-coder/python-kasa@2922c3f · GitHub
[go: up one dir, main page]

Skip to content

Commit 2922c3f

Browse files
authored
Prepare 0.7.4 (python-kasa#1135)
## [0.7.4](https://github.com/python-kasa/python-kasa/tree/0.7.4) (2024-09-27) [Full Changelog](python-kasa/python-kasa@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 [\python-kasa#1125](python-kasa#1125) (@rytilahti) - Add reboot\(\) to the device interface [\python-kasa#1124](python-kasa#1124) (@rytilahti) - Add factory-reset command to cli [\python-kasa#1108](python-kasa#1108) (@rytilahti) **Fixed bugs:** - Extend KL135 ct range up to 9000K [\python-kasa#1123](python-kasa#1123) (@rytilahti) - Fix cli command for device off [\python-kasa#1121](python-kasa#1121) (@sdb9696) **Project maintenance:** - Use pytest-socket to ensure no tests are performing io [\python-kasa#1133](python-kasa#1133) (@sdb9696) - Enable ruff lint pycodestyle warnings [\python-kasa#1132](python-kasa#1132) (@sdb9696) - Add autouse fixture to patch asyncio.sleep [\python-kasa#1131](python-kasa#1131) (@sdb9696) - Mock asyncio.sleep for klapprotocol tests [\python-kasa#1130](python-kasa#1130) (@rytilahti) - Add fixture for T110 fw 1.9.0 [\python-kasa#1129](python-kasa#1129) (@rytilahti) - Speed up and simplify github workflows [\python-kasa#1128](python-kasa#1128) (@sdb9696) - Add KS200M\(US\) fw 1.0.12 fixture [\python-kasa#1127](python-kasa#1127) (@GatorEG) - Add stale PR/Issue github workflow [\python-kasa#1126](python-kasa#1126) (@sdb9696) - Add fixture for KL135\(US\) fw 1.0.15 [\python-kasa#1122](python-kasa#1122) (@rytilahti)
1 parent 1ce5af2 commit 2922c3f

File tree

4 files changed

+382
-350
lines changed

4 files changed

+382
-350
lines changed

CHANGELOG.md

Lines changed: 107 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,44 @@
11
# Changelog
22

3+
## [0.7.4](https://github.com/python-kasa/python-kasa/tree/0.7.4) (2024-09-27)
4+
5+
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.3...0.7.4)
6+
7+
**Release summary:**
8+
9+
- KL135 color temp range corrected to 9000k max
10+
- Minor enhancements and project maintenance
11+
12+
**Implemented enhancements:**
13+
14+
- Add factory\_reset\(\) to iotdevice [\#1125](https://github.com/python-kasa/python-kasa/pull/1125) (@rytilahti)
15+
- Add reboot\(\) to the device interface [\#1124](https://github.com/python-kasa/python-kasa/pull/1124) (@rytilahti)
16+
- Add factory-reset command to cli [\#1108](https://github.com/python-kasa/python-kasa/pull/1108) (@rytilahti)
17+
18+
**Fixed bugs:**
19+
20+
- Extend KL135 ct range up to 9000K [\#1123](https://github.com/python-kasa/python-kasa/pull/1123) (@rytilahti)
21+
- Fix cli command for device off [\#1121](https://github.com/python-kasa/python-kasa/pull/1121) (@sdb9696)
22+
23+
**Project maintenance:**
24+
25+
- Use pytest-socket to ensure no tests are performing io [\#1133](https://github.com/python-kasa/python-kasa/pull/1133) (@sdb9696)
26+
- Enable ruff lint pycodestyle warnings [\#1132](https://github.com/python-kasa/python-kasa/pull/1132) (@sdb9696)
27+
- Add autouse fixture to patch asyncio.sleep [\#1131](https://github.com/python-kasa/python-kasa/pull/1131) (@sdb9696)
28+
- Mock asyncio.sleep for klapprotocol tests [\#1130](https://github.com/python-kasa/python-kasa/pull/1130) (@rytilahti)
29+
- Add fixture for T110 fw 1.9.0 [\#1129](https://github.com/python-kasa/python-kasa/pull/1129) (@rytilahti)
30+
- Speed up and simplify github workflows [\#1128](https://github.com/python-kasa/python-kasa/pull/1128) (@sdb9696)
31+
- Add KS200M\(US\) fw 1.0.12 fixture [\#1127](https://github.com/python-kasa/python-kasa/pull/1127) (@GatorEG)
32+
- Add stale PR/Issue github workflow [\#1126](https://github.com/python-kasa/python-kasa/pull/1126) (@sdb9696)
33+
- Add fixture for KL135\(US\) fw 1.0.15 [\#1122](https://github.com/python-kasa/python-kasa/pull/1122) (@rytilahti)
34+
335
## [0.7.3](https://github.com/python-kasa/python-kasa/tree/0.7.3) (2024-09-10)
436

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

7-
**Release summary:**
8-
9-
- Migrate from `poetry` to `uv` for package/project management.
39+
**Release summary:**
40+
41+
- Migrate from `poetry` to `uv` for package/project management.
1042
- Various minor code improvements
1143

1244
**Project maintenance:**
@@ -21,9 +53,9 @@
2153

2254
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.1...0.7.2)
2355

24-
**Release summary:**
25-
26-
- **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.
56+
**Release summary:**
57+
58+
- **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.
2759
- Minor bugfixes and improvements.
2860

2961
**Breaking changes:**
@@ -54,9 +86,9 @@
5486

5587
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.0.5...0.7.1)
5688

57-
**Release highlights:**
58-
- This release consists mainly of bugfixes and project improvements.
59-
- There is also new support for Tapo T100 motion sensors.
89+
**Release highlights:**
90+
- This release consists mainly of bugfixes and project improvements.
91+
- There is also new support for Tapo T100 motion sensors.
6092
- The CLI now supports child devices on all applicable commands.
6193

6294
**Implemented enhancements:**
@@ -122,7 +154,7 @@ A critical bugfix for an issue with some L530 Series devices and a redactor for
122154

123155
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.0.3...0.7.0.4)
124156

125-
Critical bugfixes for issues with P100s and thermostats
157+
Critical bugfixes for issues with P100s and thermostats
126158

127159

128160
**Fixed bugs:**
@@ -136,7 +168,7 @@ Critical bugfixes for issues with P100s and thermostats
136168

137169
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.0.2...0.7.0.3)
138170

139-
Critical bugfix for issue #1033 with ks225 and S505D light preset module errors.
171+
Critical bugfix for issue #1033 with ks225 and S505D light preset module errors.
140172
Partially fixes light preset module errors with L920 and L930.
141173

142174
**Fixed bugs:**
@@ -191,25 +223,25 @@ This patch release fixes some minor issues found out during testing against all
191223

192224
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.2.1...0.7.0)
193225

194-
We have been working hard behind the scenes to make this major release possible.
195-
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.
196-
The library now exposes device features through generic module and feature interfaces, that allows easy extension for future improvements.
197-
198-
With almost 180 merged pull requests, over 200 changed files and since the last release, this release includes lots of goodies for everyone:
199-
* Support for multi-functional devices like the dimmable fan KS240.
200-
* Initial support for hubs and hub-connected devices like thermostats and sensors.
201-
* Both IOT (legacy kasa) and SMART (tapo and newer kasa) devices now expose features and share common API.
202-
* Modules to allow controlling new devices and functions such as light presets, fan controls, thermostats, humidity sensors, firmware updates and alarms.
203-
* The common APIs allow dynamic introspection of available device features, making it easy to create dynamic interfaces.
204-
* Improved documentation.
205-
206-
Hope you enjoy the release, feel free to leave a comment and feedback!
207-
208-
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!
209-
210-
> git diff 0.6.2.1..HEAD|diffstat
211-
> 214 files changed, 26960 insertions(+), 6310 deletions(-)
212-
226+
We have been working hard behind the scenes to make this major release possible.
227+
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.
228+
The library now exposes device features through generic module and feature interfaces, that allows easy extension for future improvements.
229+
230+
With almost 180 merged pull requests, over 200 changed files and since the last release, this release includes lots of goodies for everyone:
231+
* Support for multi-functional devices like the dimmable fan KS240.
232+
* Initial support for hubs and hub-connected devices like thermostats and sensors.
233+
* Both IOT (legacy kasa) and SMART (tapo and newer kasa) devices now expose features and share common API.
234+
* Modules to allow controlling new devices and functions such as light presets, fan controls, thermostats, humidity sensors, firmware updates and alarms.
235+
* The common APIs allow dynamic introspection of available device features, making it easy to create dynamic interfaces.
236+
* Improved documentation.
237+
238+
Hope you enjoy the release, feel free to leave a comment and feedback!
239+
240+
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!
241+
242+
> git diff 0.6.2.1..HEAD|diffstat
243+
> 214 files changed, 26960 insertions(+), 6310 deletions(-)
244+
213245
For more information on the changes please checkout our [documentation on the API changes](https://python-kasa.readthedocs.io/en/latest/deprecated.html)
214246

215247
**Breaking changes:**
@@ -441,8 +473,8 @@ For more information on the changes please checkout our [documentation on the AP
441473

442474
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.1...0.6.2)
443475

444-
Release highlights:
445-
* Support for tapo power strips (P300)
476+
Release highlights:
477+
* Support for tapo power strips (P300)
446478
* Performance improvements and bug fixes
447479

448480
**Implemented enhancements:**
@@ -481,9 +513,9 @@ Release highlights:
481513

482514
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.0.1...0.6.1)
483515

484-
Release highlights:
485-
* Support for tapo wall switches
486-
* Support for unprovisioned devices
516+
Release highlights:
517+
* Support for tapo wall switches
518+
* Support for unprovisioned devices
487519
* Performance and stability improvements
488520

489521
**Implemented enhancements:**
@@ -556,17 +588,17 @@ A patch release to improve the protocol handling.
556588

557589
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.4...0.6.0)
558590

559-
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!
560-
561-
This release adds support to a large range of previously unsupported devices, including:
562-
563-
* Newer kasa-branded devices, including Matter-enabled devices like KP125M
564-
* Newer hardware/firmware versions on some models, like EP25, that suddenly changed the used protocol
565-
* Tapo-branded devices like plugs (P110), light bulbs (KL530), LED strips (L900, L920), and wall switches (KS205, KS225)
566-
* UK variant of HS110, which was the first device using the new protocol
567-
568-
If your device that is not currently listed as supported is working, please consider contributing a test fixture file.
569-
591+
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!
592+
593+
This release adds support to a large range of previously unsupported devices, including:
594+
595+
* Newer kasa-branded devices, including Matter-enabled devices like KP125M
596+
* Newer hardware/firmware versions on some models, like EP25, that suddenly changed the used protocol
597+
* Tapo-branded devices like plugs (P110), light bulbs (KL530), LED strips (L900, L920), and wall switches (KS205, KS225)
598+
* UK variant of HS110, which was the first device using the new protocol
599+
600+
If your device that is not currently listed as supported is working, please consider contributing a test fixture file.
601+
570602
Special thanks goes to @SimonWilkinson who created the initial PR for the new communication protocol!
571603

572604
**Breaking changes:**
@@ -661,13 +693,13 @@ Special thanks goes to @SimonWilkinson who created the initial PR for the new co
661693

662694
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.3...0.5.4)
663695

664-
The highlights of this maintenance release:
665-
666-
* Support to the alternative discovery protocol and foundational work to support other communication protocols, thanks to @sdb9696.
667-
* Reliability improvements by avoiding overflowing device buffers, thanks to @cobryan05.
668-
* Optimizations for downstream device accesses, thanks to @bdraco.
669-
* Support for both pydantic v1 and v2.
670-
696+
The highlights of this maintenance release:
697+
698+
* Support to the alternative discovery protocol and foundational work to support other communication protocols, thanks to @sdb9696.
699+
* Reliability improvements by avoiding overflowing device buffers, thanks to @cobryan05.
700+
* Optimizations for downstream device accesses, thanks to @bdraco.
701+
* Support for both pydantic v1 and v2.
702+
671703
As always, see the full changelog for details.
672704

673705
**Implemented enhancements:**
@@ -727,8 +759,8 @@ This release adds support for defining the device port and introduces dependency
727759

728760
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.1...0.5.2)
729761

730-
Besides some small improvements, this release:
731-
* Adds optional dependency for for `orjson` and `kasa-crypt` to speed-up protocol handling by an order of magnitude.
762+
Besides some small improvements, this release:
763+
* Adds optional dependency for for `orjson` and `kasa-crypt` to speed-up protocol handling by an order of magnitude.
732764
* Drops Python 3.7 support as it is no longer maintained.
733765

734766
**Breaking changes:**
@@ -763,11 +795,11 @@ Besides some small improvements, this release:
763795

764796
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.0...0.5.1)
765797

766-
This minor release contains mostly small UX fine-tuning and documentation improvements alongside with bug fixes:
767-
* Improved console tool (JSON output, colorized output if rich is installed)
768-
* Pretty, colorized console output, if `rich` is installed
769-
* Support for configuring bulb presets
770-
* Usage data is now reported in the expected format
798+
This minor release contains mostly small UX fine-tuning and documentation improvements alongside with bug fixes:
799+
* Improved console tool (JSON output, colorized output if rich is installed)
800+
* Pretty, colorized console output, if `rich` is installed
801+
* Support for configuring bulb presets
802+
* Usage data is now reported in the expected format
771803
* Dependency pinning is relaxed to give downstreams more control
772804

773805
**Breaking changes:**
@@ -831,21 +863,21 @@ This minor release contains mostly small UX fine-tuning and documentation improv
831863

832864
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.4.3...0.5.0)
833865

834-
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.
835-
836-
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):
837-
* Basic system info
838-
* Emeter
839-
* 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
840-
* Usage statistics - similar interface to emeter, but reports on-time statistics instead of energy consumption (new)
841-
* Countdown (new)
842-
* Antitheft (new)
843-
* Schedule (new)
844-
* Motion - for configuring motion settings on some dimmers (new)
845-
* Ambientlight - for configuring brightness limits when motion sensor actuates on some dimmers (new)
846-
* Cloud - information about cloud connectivity (new)
847-
848-
For developers, the new functionalities are currently only exposed through the implementation modules accessible through `modules` property.
866+
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.
867+
868+
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):
869+
* Basic system info
870+
* Emeter
871+
* 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
872+
* Usage statistics - similar interface to emeter, but reports on-time statistics instead of energy consumption (new)
873+
* Countdown (new)
874+
* Antitheft (new)
875+
* Schedule (new)
876+
* Motion - for configuring motion settings on some dimmers (new)
877+
* Ambientlight - for configuring brightness limits when motion sensor actuates on some dimmers (new)
878+
* Cloud - information about cloud connectivity (new)
879+
880+
For developers, the new functionalities are currently only exposed through the implementation modules accessible through `modules` property.
849881
Pull requests improving the functionality of modules as well as adding better interfaces to device classes are welcome!
850882

851883
**Breaking changes:**

RELEASING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ uv lock --upgrade
4747

4848
```bash
4949
uv run pre-commit run --all-files
50-
uv run pytest
50+
uv run pytest -n auto
5151
```
5252

5353
### Create release summary (skip for dev releases)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "python-kasa"
3-
version = "0.7.3"
3+
version = "0.7.4"
44
description = "Python API for TP-Link Kasa and Tapo devices"
55
license = {text = "GPL-3.0-or-later"}
66
authors = [ { name = "python-kasa developers" }]

0 commit comments

Comments
 (0)
0