|
2 | 2 |
|
3 | 3 | <!-- version list --> |
4 | 4 |
|
| 5 | +## v5.25.0 (2026-07-03) |
| 6 | + |
| 7 | +### Chores |
| 8 | + |
| 9 | +- Add dataclasses for Roborock mower |
| 10 | + ([#862](https://github.com/Python-roborock/python-roborock/pull/862), |
| 11 | + [`413d6e5`](https://github.com/Python-roborock/python-roborock/commit/413d6e57ae74d3d54f9f1d4c8918ffbe9d215b7b)) |
| 12 | + |
| 13 | +- Add some comments that better explain 'get_mop_only_vacuum_mode' |
| 14 | + ([#817](https://github.com/Python-roborock/python-roborock/pull/817), |
| 15 | + [`9474bfa`](https://github.com/Python-roborock/python-roborock/commit/9474bfaa607f15c7b66f520af17d81c849651f68)) |
| 16 | + |
| 17 | +- Address comments ([#817](https://github.com/Python-roborock/python-roborock/pull/817), |
| 18 | + [`9474bfa`](https://github.com/Python-roborock/python-roborock/commit/9474bfaa607f15c7b66f520af17d81c849651f68)) |
| 19 | + |
| 20 | +- Address comments from copilot |
| 21 | + ([#817](https://github.com/Python-roborock/python-roborock/pull/817), |
| 22 | + [`9474bfa`](https://github.com/Python-roborock/python-roborock/commit/9474bfaa607f15c7b66f520af17d81c849651f68)) |
| 23 | + |
| 24 | +- Apply suggestions from code review |
| 25 | + ([#862](https://github.com/Python-roborock/python-roborock/pull/862), |
| 26 | + [`413d6e5`](https://github.com/Python-roborock/python-roborock/commit/413d6e57ae74d3d54f9f1d4c8918ffbe9d215b7b)) |
| 27 | + |
| 28 | +- Drop int typing and improve comment |
| 29 | + ([#817](https://github.com/Python-roborock/python-roborock/pull/817), |
| 30 | + [`9474bfa`](https://github.com/Python-roborock/python-roborock/commit/9474bfaa607f15c7b66f520af17d81c849651f68)) |
| 31 | + |
| 32 | +### Features |
| 33 | + |
| 34 | +- Add better cleaning mode support |
| 35 | + ([#817](https://github.com/Python-roborock/python-roborock/pull/817), |
| 36 | + [`9474bfa`](https://github.com/Python-roborock/python-roborock/commit/9474bfaa607f15c7b66f520af17d81c849651f68)) |
| 37 | + |
| 38 | + |
| 39 | +## v5.24.0 (2026-07-03) |
| 40 | + |
| 41 | +### Features |
| 42 | + |
| 43 | +- Implement dynamic map update listeners and filtering on HomeTrait |
| 44 | + ([#861](https://github.com/Python-roborock/python-roborock/pull/861), |
| 45 | + [`a793c8e`](https://github.com/Python-roborock/python-roborock/commit/a793c8e0a3e0359027d491d406dd36f2d62d41f6)) |
| 46 | + |
| 47 | + |
| 48 | +## v5.23.1 (2026-07-03) |
| 49 | + |
| 50 | +### Bug Fixes |
| 51 | + |
| 52 | +- Verify MQTT connection requires successful subscription |
| 53 | + ([#858](https://github.com/Python-roborock/python-roborock/pull/858), |
| 54 | + [`e3c97c6`](https://github.com/Python-roborock/python-roborock/commit/e3c97c68ce5cf38022241bf85d68977c223b8922)) |
| 55 | + |
| 56 | +### Documentation |
| 57 | + |
| 58 | +- Clarify is_mqtt_connected docstring with motivation |
| 59 | + ([#858](https://github.com/Python-roborock/python-roborock/pull/858), |
| 60 | + [`e3c97c6`](https://github.com/Python-roborock/python-roborock/commit/e3c97c68ce5cf38022241bf85d68977c223b8922)) |
| 61 | + |
| 62 | +### Refactoring |
| 63 | + |
| 64 | +- Remove unused fixtures in tests |
| 65 | + ([#858](https://github.com/Python-roborock/python-roborock/pull/858), |
| 66 | + [`e3c97c6`](https://github.com/Python-roborock/python-roborock/commit/e3c97c68ce5cf38022241bf85d68977c223b8922)) |
| 67 | + |
| 68 | + |
| 69 | +## v5.23.0 (2026-07-03) |
| 70 | + |
| 71 | +### Features |
| 72 | + |
| 73 | +- Add Q10 (B01/ss07) clean-record history trait |
| 74 | + ([#857](https://github.com/Python-roborock/python-roborock/pull/857), |
| 75 | + [`79a996d`](https://github.com/Python-roborock/python-roborock/commit/79a996de463a59ff4de875579a417d157e8cc2e8)) |
| 76 | + |
| 77 | +- Q10 (B01/ss07) clean-record history trait |
| 78 | + ([#857](https://github.com/Python-roborock/python-roborock/pull/857), |
| 79 | + [`79a996d`](https://github.com/Python-roborock/python-roborock/commit/79a996de463a59ff4de875579a417d157e8cc2e8)) |
| 80 | + |
| 81 | +### Refactoring |
| 82 | + |
| 83 | +- Call the static parse_record via the class, not self |
| 84 | + ([#857](https://github.com/Python-roborock/python-roborock/pull/857), |
| 85 | + [`79a996d`](https://github.com/Python-roborock/python-roborock/commit/79a996de463a59ff4de875579a417d157e8cc2e8)) |
| 86 | + |
| 87 | +- Widen parse_record's parameter type to Any | None |
| 88 | + ([#857](https://github.com/Python-roborock/python-roborock/pull/857), |
| 89 | + [`79a996d`](https://github.com/Python-roborock/python-roborock/commit/79a996de463a59ff4de875579a417d157e8cc2e8)) |
| 90 | + |
| 91 | + |
| 92 | +## v5.22.0 (2026-06-28) |
| 93 | + |
| 94 | +### Bug Fixes |
| 95 | + |
| 96 | +- Avoid Q10 Consumable/NetworkInfo shadowing v1 in roborock.data |
| 97 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 98 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 99 | + |
| 100 | +- Correct Q10 vacuum command payloads, verified against ss07 hardware |
| 101 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 102 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 103 | + |
| 104 | +- Keep Q10 CLIFF_RESTRICTED_AREA_UP (103); ss07 pushes it |
| 105 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 106 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 107 | + |
| 108 | +- Show all Q10 read-model traits in status, wait for fresh push |
| 109 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 110 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 111 | + |
| 112 | +- Stop unmapped Q10 data points from logging "not a valid code" warnings |
| 113 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 114 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 115 | + |
| 116 | +### Features |
| 117 | + |
| 118 | +- Add Q10 (B01/ss07) settings writers |
| 119 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 120 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 121 | + |
| 122 | +- Add Q10 dust-collection frequency writer |
| 123 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 124 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 125 | + |
| 126 | +- Decode Q10 add_clean_state as a bool |
| 127 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 128 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 129 | + |
| 130 | +- Decode Q10 carpet/area/mop/floor-direction status into enums+bools |
| 131 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 132 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 133 | + |
| 134 | +- Expand Q10 (B01/ss07) status support and add device info |
| 135 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 136 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 137 | + |
| 138 | +- Q10 (B01/ss07) room/segment cleaning |
| 139 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 140 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 141 | + |
| 142 | +- Q10 (B01/ss07) room/segment cleaning (clean_segments) |
| 143 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 144 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 145 | + |
| 146 | +### Refactoring |
| 147 | + |
| 148 | +- Split Q10 status/settings into per-concern traits |
| 149 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 150 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 151 | + |
| 152 | +- Use YXDeviceCleanTask.ELECTORAL and inline misspelling note |
| 153 | + ([#851](https://github.com/Python-roborock/python-roborock/pull/851), |
| 154 | + [`e71611b`](https://github.com/Python-roborock/python-roborock/commit/e71611b2b57f2ca1dc1d2c42d6fce0d3f1b6169b)) |
| 155 | + |
| 156 | + |
5 | 157 | ## v5.21.0 (2026-06-25) |
6 | 158 |
|
7 | 159 | ### Bug Fixes |
|
0 commit comments