Skip to content

docs: fill gaps in v2 migration guide#2119

Merged
iMicknl merged 2 commits into
mainfrom
docs/v2-migration-gaps
Jun 4, 2026
Merged

docs: fill gaps in v2 migration guide#2119
iMicknl merged 2 commits into
mainfrom
docs/v2-migration-gaps

Conversation

@iMicknl
Copy link
Copy Markdown
Owner

@iMicknl iMicknl commented Jun 4, 2026

Summary

Reviewed the v2 migration guide against the actual latest v1 release (v1.20.6) to find breaking changes that were missing. Three genuine gaps remain after verification; docs-only (docs/migration-v2.md).

Added

  • Iteration over States / CommandDefinitions / StateDefinitions — these now subclass collections.abc.Mapping, so for x in device.states yields keys (str) instead of the objects. Silent change (no exception), and the Home Assistant integration relies on the old behavior (sensor.py, executor.py). Added a dedicated section with a danger admonition and .values()/.items() examples.
  • Command is no longer a dict subclasscommand["name"] no longer works; use attribute access or to_payload(). Notes the new type field and OverkizCommandParam parameter support.
  • Event.setupoidEvent.setup_oid rename (+ new actions/owner/source fields), added to the parameter-renames table.

Note

My first pass mistakenly diffed against v1.9.1 (alphabetical tag sort hid v1.10v1.20.6). That produced several false "gaps" — verify_ssl, timestamp strint, eight "new" exceptions, two Server enum members, and APIType — all of which already shipped in v1.x. Those were removed in the second commit; everything remaining is verified against v1.20.6.

iMicknl added 2 commits June 4, 2026 18:07
Add the breaking changes that were missing from the v1->v2 migration
guide, found by diffing the public API surface between v1.9.1 and HEAD:

- Iteration over States/CommandDefinitions/StateDefinitions now yields
  keys (str) instead of objects (Mapping behavior) - silent change
- Command is no longer a dict subclass (attribute access, to_payload())
- Event.setupoid -> Event.setup_oid rename and new fields
- Setup/ActionGroup timestamp fields str -> int
- Additional new exception types, Server enum members, APIType
- verify_ssl constructor parameter
My first pass diffed against v1.9.1, but the actual latest v1 release is
v1.20.6. Several 'gaps' were already present in v1.20.6, so drop the
claims that are not actually v1->v2 changes:

- verify_ssl constructor param (added in v1.x)
- Setup/ActionGroup timestamp str->int (already int in v1.20.6)
- 8 'new' exceptions (exist in v1.20.6; only the *Exception->*Error
  rename applies, already documented)
- SAUTER_COZYTOUCH/THERMOR_COZYTOUCH Server members (already in v1.20.6)
- APIType enum (already in v1.20.6)

Verified against v1.20.6, the remaining additions are genuine v2 breaks:
Mapping iteration yields keys, Command no longer a dict, Event.setupoid
rename.
@iMicknl iMicknl marked this pull request as ready for review June 4, 2026 17:37
@iMicknl iMicknl requested a review from tetienne as a code owner June 4, 2026 17:37
Copilot AI review requested due to automatic review settings June 4, 2026 17:37
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@iMicknl iMicknl merged commit 49b5f8a into main Jun 4, 2026
11 of 12 checks passed
@iMicknl iMicknl deleted the docs/v2-migration-gaps branch June 4, 2026 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants