Skip to content

Releases: Python-roborock/python-roborock

v5.27.0

Choose a tag to compare

@humbertogontijo humbertogontijo released this 07 Jul 00:09
Immutable release. Only release title and notes can be modified.

v5.27.0 (2026-07-07)

This release is published under the GPL-3.0-only License.

Documentation

  • Add comment explaining dss field in v1_simulator (#860, c963ad7)

Features

  • Add roborock.testing module for stateful integration testing (#860, c963ad7)

  • Expose dock_type configuration in V1VacuumSimulator (#860, c963ad7)

  • Expose in_cleaning, in_returning, charge_status, and dss on V1VacuumSimulator (#860, c963ad7)

  • Honor publish_side_effect in simulator and raise NotImplementedError in base _handle_publish (#860, c963ad7)

Refactoring

  • Decouple default product id from device duid and share DEFAULT_PRODUCT_ID constant (#860, c963ad7)

  • Delete redundant properties from V1VacuumSimulator and update trigger_push_update (#860, c963ad7)

  • Export and define all simulator state default constants at package level (#860, c963ad7)

  • Expose raw status and app_init dataclasses on simulator for direct test manipulation (#860, c963ad7)

  • Inherit FakeChannel from Channel Protocol (#860, c963ad7)

  • Rename self.servers to self.simulated_devices and restore hardcoded qiCNieZa in mock_data (#860, c963ad7)

  • Replace FakeUserState with library UserData dataclass on FakeRoborockCloud (#860, c963ad7)

  • Type simulator consumables state using Consumable dataclass (#860, c963ad7)

  • Type simulator dnd, clean summary and record using real dataclasses (#860, c963ad7)

  • Type simulator status, network info and init status using real dataclasses (#860, c963ad7)

  • Update _handle_app_get_init_status to serialize self.app_init and dynamically resolve status_info fields from self.status (#860, c963ad7)


Detailed Changes: v5.26.0...v5.27.0

v5.26.0

Choose a tag to compare

@humbertogontijo humbertogontijo released this 06 Jul 03:39
Immutable release. Only release title and notes can be modified.

v5.26.0 (2026-07-06)

This release is published under the GPL-3.0-only License.

Documentation

  • Add 569 back to the docstring's Q7-divergence list (#863, 32f9747)

  • Mark fault 12 hw-confirmed (fired at 14% battery, corpus recount) (#863, 32f9747)

  • Mark fault 2 hw-confirmed (bumper held during commanded motion) (#863, 32f9747)

  • Mark fault 407 hw-confirmed (deterministically reproduced: due schedule ignored mid-clean) (#863, 32f9747)

  • Mark fault 46 hw-confirmed (docked with dust bag removed) (#863, 32f9747)

  • Mark fault 5 hw-confirmed (physically ground-truthed brush jams) (#863, 32f9747)

  • Note fault 501 fires per completed task (#863, 32f9747)

  • Note the error state can carry no fault code (observed live) (#863, 32f9747)

  • Refer to the ss07 fault spec, not the app (review feedback) (#863, 32f9747)

Features

  • Decode Q10 (B01/ss07) dpFault codes into a YXFault map (#863, 32f9747)

  • Decode Q10 (B01/ss07) dpFault codes with a YXFault enum (#863, 32f9747)

  • Re-add fault 569 as too_frequent_emptying, hw-confirmed (dock refuses a too-soon empty) (#863, 32f9747)

Refactoring

  • Decouple B01 (Q7/Q10) protocol layer from transport layer (#859, b00d60b)

  • Type Q10Status.fault as YXFault, mirroring the Q7 fault field (#863, 32f9747)


Detailed Changes: v5.25.0...v5.26.0

v5.25.0

Choose a tag to compare

@humbertogontijo humbertogontijo released this 03 Jul 23:19
Immutable release. Only release title and notes can be modified.

v5.25.0 (2026-07-03)

This release is published under the GPL-3.0-only License.

Chores

Features


Detailed Changes: v5.24.0...v5.25.0

v5.24.0

Choose a tag to compare

@humbertogontijo humbertogontijo released this 03 Jul 18:34
Immutable release. Only release title and notes can be modified.

v5.24.0 (2026-07-03)

This release is published under the GPL-3.0-only License.

Features

  • Implement dynamic map update listeners and filtering on HomeTrait (#861, a793c8e)

Detailed Changes: v5.23.1...v5.24.0

v5.23.1

Choose a tag to compare

@humbertogontijo humbertogontijo released this 03 Jul 02:33
Immutable release. Only release title and notes can be modified.

v5.23.1 (2026-07-03)

This release is published under the GPL-3.0-only License.

Bug Fixes

  • Verify MQTT connection requires successful subscription (#858, e3c97c6)

Documentation

  • Clarify is_mqtt_connected docstring with motivation (#858, e3c97c6)

Refactoring


Detailed Changes: v5.23.0...v5.23.1

v5.23.0

Choose a tag to compare

@humbertogontijo humbertogontijo released this 03 Jul 01:31
Immutable release. Only release title and notes can be modified.

v5.23.0 (2026-07-03)

This release is published under the GPL-3.0-only License.

Features

  • Add Q10 (B01/ss07) clean-record history trait (#857, 79a996d)

  • Q10 (B01/ss07) clean-record history trait (#857, 79a996d)

Refactoring

  • Call the static parse_record via the class, not self (#857, 79a996d)

  • Widen parse_record's parameter type to Any | None (#857, 79a996d)


Detailed Changes: v5.22.0...v5.23.0

v5.22.0

Choose a tag to compare

@humbertogontijo humbertogontijo released this 28 Jun 16:39
Immutable release. Only release title and notes can be modified.

v5.22.0 (2026-06-28)

This release is published under the GPL-3.0-only License.

Bug Fixes

  • Avoid Q10 Consumable/NetworkInfo shadowing v1 in roborock.data (#851, e71611b)

  • Correct Q10 vacuum command payloads, verified against ss07 hardware (#851, e71611b)

  • Keep Q10 CLIFF_RESTRICTED_AREA_UP (103); ss07 pushes it (#851, e71611b)

  • Show all Q10 read-model traits in status, wait for fresh push (#851, e71611b)

  • Stop unmapped Q10 data points from logging "not a valid code" warnings (#851, e71611b)

Features

  • Add Q10 (B01/ss07) settings writers (#851, e71611b)

  • Add Q10 dust-collection frequency writer (#851, e71611b)

  • Decode Q10 add_clean_state as a bool (#851, e71611b)

  • Decode Q10 carpet/area/mop/floor-direction status into enums+bools (#851, e71611b)

  • Expand Q10 (B01/ss07) status support and add device info (#851, e71611b)

  • Q10 (B01/ss07) room/segment cleaning (#851, e71611b)

  • Q10 (B01/ss07) room/segment cleaning (clean_segments) (#851, e71611b)

Refactoring

  • Split Q10 status/settings into per-concern traits (#851, e71611b)

  • Use YXDeviceCleanTask.ELECTORAL and inline misspelling note (#851, e71611b)


Detailed Changes: v5.21.0...v5.22.0

v5.21.0

Choose a tag to compare

@humbertogontijo humbertogontijo released this 25 Jun 14:34
Immutable release. Only release title and notes can be modified.

v5.21.0 (2026-06-25)

This release is published under the GPL-3.0-only License.

Bug Fixes

  • Avoid Q10 Consumable/NetworkInfo shadowing v1 in roborock.data (#846, b656ca6)

  • Correct Q10 vacuum command payloads, verified against ss07 hardware (#846, b656ca6)

  • Keep Q10 CLIFF_RESTRICTED_AREA_UP (103); ss07 pushes it (#846, b656ca6)

  • Key B01/Q10 RemoteTrait COMMON params by the DP code, not the enum member (#854, 56c540f)

  • Show all Q10 read-model traits in status, wait for fresh push (#846, b656ca6)

  • Stop unmapped Q10 data points from logging "not a valid code" warnings (#846, b656ca6)

Features

  • Add Q10 (B01/ss07) settings writers (#846, b656ca6)

  • Add Q10 dust-collection frequency writer (#846, b656ca6)

  • Decode Q10 add_clean_state as a bool (#846, b656ca6)

  • Decode Q10 carpet/area/mop/floor-direction status into enums+bools (#846, b656ca6)

  • Expand Q10 (B01/ss07) status support and add device info (#846, b656ca6)

Refactoring

  • Keep Q10 consumable fields as deprecated aliases; add ip_address alias (#846, b656ca6)

  • Split Q10 status/settings into per-concern traits (#846, b656ca6)


Detailed Changes: v5.20.1...v5.21.0

v5.20.1

Choose a tag to compare

@humbertogontijo humbertogontijo released this 22 Jun 16:45
Immutable release. Only release title and notes can be modified.

v5.20.1 (2026-06-22)

This release is published under the GPL-3.0-only License.

Bug Fixes

  • Make V1Channel re-subscribable after a failed subscribe (#845, 03193d7)

  • Narrow subscribe/connect cleanup to Exception; use 16-byte test nonce (#845, 03193d7)

Refactoring

  • Distinguish expected vs unexpected exceptions in subscribe/connect cleanup (#845, 03193d7)

Detailed Changes: v5.20.0...v5.20.1

v5.20.0

Choose a tag to compare

@humbertogontijo humbertogontijo released this 22 Jun 04:01
Immutable release. Only release title and notes can be modified.

v5.20.0 (2026-06-22)

This release is published under the GPL-3.0-only License.

Bug Fixes

  • Allow Q10 maps without room records (#847, 10e51f5)

  • Frame Q10 02 01 trace as full cleaning-session path (#847, 10e51f5)

  • Q10 map header is u16be width+height; drop stray trace point (#847, 10e51f5)

  • Tighten Q10 map CLI push handling (#847, 10e51f5)

  • Unblock lint when tests import roborock.cli (#847, 10e51f5)

Features

  • Add Q10 (B01/ss07) map support with rooms and rendered image (#847, 10e51f5)

  • Add Q10 live position parsing from 02 01 packets (#847, 10e51f5)

  • Q10 (B01/ss07) map support — rooms + rendered map image (#847, 10e51f5)

Refactoring

  • Make Q10 map support fully push-driven (#847, 10e51f5)

  • Parse Q10 map/trace packets in the protocol layer (#847, 10e51f5)


Detailed Changes: v5.19.0...v5.20.0