Add missing breaking changes to v2 migration guide#2044
Merged
Conversation
Cover items found during cross-reference with full branch diff:
- States/CommandDefinitions __getitem__ now raises KeyError
- Execution.action_group type change
- Gateway.connectivity optionality and read-only properties
- Client internals (check_response moved, event_listener_id read-only,
SUPPORTED_SERVERS immutable, get_device_definition return type)
- Parameter rename (deviceurl → device_url)
- Model defaults (Location None, OverkizError vs ValueError, obfuscate)
- Boolean parsing fix ("false" → False)
- PersistedActionGroup vs ActionGroup distinction
- Dependency changes (pyhumps removed, cattrs added, boto3 optional)
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the v2 migration guide to better reflect breaking changes introduced in the v2 branch, helping downstream users adapt their code and expectations when upgrading.
Changes:
- Expanded breaking-change coverage across scenarios/action groups, executions, collection lookups, gateway model, and client internals.
- Added notes on model defaults/behavior changes (e.g., boolean parsing) and dependency changes (cattrs required; Nexity extras optional).
- Clarified
PersistedActionGroupvsActionGroupand updated the execution methods table.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Remove incorrect ActionGroup.id optionality claim; clarify that PersistedActionGroup.oid is non-optional and .id is a read-only alias - Narrow OverkizError vs ValueError claim to the specific case (server config resolution) rather than a blanket statement
| | `client.check_response(response)` | `from pyoverkiz.response_handler import check_response` (module-level function) | | ||
| | `client.event_listener_id = ...` | Read-only property; managed internally | | ||
| | `SUPPORTED_SERVERS[key] = ...` | `SUPPORTED_SERVERS` is now immutable (`MappingProxyType`) | | ||
| | `get_device_definition()` returns `dict` | Returns `Definition` model | |
|
|
||
| ## Model defaults | ||
|
|
||
| - `Location` fields now default to `None` instead of empty strings. |
Comment on lines
+345
to
+347
| - `pyhumps` has been removed and replaced with an internal `_case` module. No action needed unless you imported from `pyhumps` directly. | ||
| - `cattrs` is a new required dependency (handles model structuring). | ||
| - `boto3` and `warrant-lite` are now optional. Install with `pip install pyoverkiz[nexity]` if you use the Nexity server. |
- Note check_response is async and show await usage - Fix get_device_definition return type to Definition | None - Narrow Location defaults claim to address/string fields only - Quote pyoverkiz[nexity] for zsh shell safety
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
v2/maindiff againstdocs/migration-v2.mdand added all missing breaking changesTest plan
notes.mdmkdocs serve)