You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ha_blueprintget/substitute now reject absolute or ..-laden paths, the
same guard delete already applied. HA joins the caller's path straight onto blueprints/<domain>/ with pathlib, so an unsanitized read op could point at a
file outside the blueprint folder.
ha_registrykind=entitylist/get now honor the token owner's per-entity
read policy: list drops entities the user can't read and get masks them as
"not found". A restricted non-admin token could previously enumerate the full
entity registry (and confirm existence of hidden entities via get), bypassing
the per-entity read policy enforced by the other read tools.
ha_historykind=logbook now requires a restricted non-admin token to scope
by entity_ids; an unscoped call previously returned the whole logbook,
bypassing the per-entity read policy.
ha_yaml_configlist/get are now admin-only — they return full
automation/script/scene logic (and any inlined secrets), matching ha_trace.
Internal failures no longer leak raw exception detail to the client. Beyond
the central JSON-RPC/tool-call handlers, per-tool except Exception paths
(config flow, blueprint, diagnostics, energy, trace, camera, system, yaml
reload) and the ws_call bridge now log the cause server-side and return only
a generic, actionable message. Validation feedback and HA's own user-facing
errors are unaffected.