v5.0.1
⚠️ Breaking Changes
Removed dashboard card manipulation tools in favor of more powerful jq-based transformations:
- ❌ Removed:
ha_dashboard_add_card,ha_dashboard_update_card,ha_dashboard_remove_card - ✅ New:
jq_transformparameter for surgical config edits - ✅ New:
ha_dashboard_find_cardhelper
✨ Features
- jq_transform for dashboards: Use jq expressions for token-efficient, precise modifications (PR #333)
- find_card helper: Locate cards by entity_id or type, returns jq paths
- config_hash validation: Optimistic locking prevents concurrent conflicts
- Progressive disclosure: Hints for large configs (>10KB)
- Feature flag:
ENABLE_DASHBOARD_PARTIAL_TOOLSto disable if needed
🔄 Migration from 4.x
# Before (4.x)
await ha_dashboard_update_card(
url_path="lovelace",
card_index=2,
card_config={"type": "entities", "entities": ["light.bedroom"]}
)
# After (5.x)
result = await ha_dashboard_find_card(url_path="lovelace", entity_id="light.bedroom")
await ha_config_set_dashboard(
url_path="lovelace",
jq_transform=f'{result["jq_path"]} |= {{"type": "entities", "entities": ["light.bedroom"]}}',
config_hash=result["config_hash"]
)📝 Notes
Skipped v5.0.0 due to technical release issues. This is the first v5 release.