Added
- Make HTTP bind host configurable via MCP_HOST (closes #1434)
(#1436) - Tool Security Policies — per-tool approval gating (#966)
(#1421) - Rename ha_delete_helpers_integrations → ha_remove_helpers_integrations + raise on missing target
(#1424) - Auto-backup edited entities before write/destructive tool calls (closes #1288)
(#1403) - Persistent settings UI for stdio mode
(#1381) - Add fields= projection to ha_search_entities, ha_get_overview, ha_get_state, ha_get_history, ha_config_list_areas, ha_list_services (#1199)
(#1225) - Route entity-registration wait through WS events (closes #1152)
(#1382) - Add config subentry support
(#1393) - Add Assist pipeline management tool
(#1392) - Add knx to ha_config_set_yaml allowlist
(#1374) - Extend automation_id parity to set/remove automation responses
(#1343) - haos-e2e: Add parallel inaddon test tier (ha-mcp runs inside HAOS addon)
(#1361) - Expose integration diagnostics via ha_get_integration and ha_get_system_health (closes #1148)
(#1328) - Return canonical script_id from ha_config_get_script (#1334)
(#1352) - Add automation_id parity key to ha_config_get_automation
(#1329) - Reject empty/whitespace identifiers on registry-metadata writes (closes #1294)
(#1312) - Add HA brand assets for custom integration
(#1317) - Unify ha_config_set_helper response shape (closes #1293)
(#1303) - Mirror create-side validation guards onto update path (closes #1292)
(#1304) - Add array_patch mode to ha_manage_addon for atomic GET-modify-POST
(#1063)
Changed
- agents: Drop ha_backup_create + ha_backup_restore from accepted exceptions
(#1445) - Update contributors list [contributors-updated]
(c7665a6) - overview: Enumerate dismissed_repair_count in fields= description + static drift test
(#1411) - Credit @tomwilkie and six other contributors in README
(#1400) - #1157: Bump skills-vendor + auto-update via Renovate + native for: field + scrub eval_template anti-patterns
(#1383) - Extend Boy Scout weasel-phrase list with common variants; clarify semantic match
(#1373) - Merge Boy Scout Rule + Handling Discovered Improvements; tighten deferral gate
(#1359) - Categorize Issue Labels table and document 6 reverse-drift labels
(#1335) - Strip stale L-refs from test_identifier_validation_family docstrings
(#1324) - Align label refs with live label set and fix triaged-removal trigger
(#1316) - Surface tool-discovery / categorized search
(#1123) - Fix two stale ha_get_skill_guide references missed in #1289
(#1305) - Clarify setup wizard placeholders need braces removed (#1284)
(#1286)
Fixed
- Remove counter from ha_reload_core targets (#1453)
(#1456) - backup: Post-timeout match correctness + state-gate (closes #1433)
(#1435) - Sync addon settings UI with Supervisor options end-to-end
(#1420) - calendar: Switch ha_config_remove_calendar_event to WebSocket (closes #1413, #1416)
(#1418) - Error-shape consistency for non-entity not-found (closes #1297)
(#1397) - Guard against silent automation overwrite on id mismatch (#1404)
(#1405) - Cache YAML instance to prevent CPU spikes in bulk edits (#1370)
(#1371) - client: Route get_error_log via hassio proxy on external-HAOS clients
(#1360) - Classify dashboard 404s ("unknown config specified") as RESOURCE_NOT_FOUND
(#1345) - Detect HA addon installs as http transport, not stdio (#1322)
(#1327) - Actionable 403 suggestion when addon has unmapped container ports (#1319)
(#1325) - Filter dismissed repairs in overview and system_health (#1307)
(#1309) - Exit on HA container death + daily reset before CI check
(#1295) - Align ha_config_set_dashboard with sibling re-fetch-after-save pattern (#1291)
(#1301) - Allow str.replace in python_transform; hint at search mode on IndexError
(#1287) - array_patch: Tighten validation and surface silent failures
(#1285) - HA Core proxy fallback for ha_get_logs(source=system_service) on non-addon installs
(#1283)
Performance Improvements
- Tighten _poll_for_automation_entity first-poll cadence
(#1384) - Parallelize ha_get_system_health optional sections via asyncio.gather
(#1336)
Refactoring
- service: Compact ha_call_service result default (#1446)
(#1447) - Rename ha_update_device → ha_set_device
(#1444) - Remove duplicate flat area/floor list tools (consolidation followup to #1016)
(#1429) - complexity: Migrate tools_utility.py to class-based pattern
(#1423) - complexity: Reduce C901 violations in tools/ — batch 4
(#1408) - Route _poll_for_automation_entity through WS event waiter (closes #1395)
(#1406) - yaml: Use threading.local subclass for cached instance
(#1396) - Align dashboards 404 shape with sibling config tools
(#1386) - Complete singular warning → warnings list migration repo-wide (closes #1332)
(#1341) - Complete warnings-list migration for lifecycle-write tools
(#1340) - Drop redundant identifier echo key from ha_config_get_automation
(#1354) - Drop logger.error in config-tool except blocks (#1302)
(#1353) - Extend validate_identifier_not_empty to automations/scripts/dashboards CRUD (closes #1313)
(#1321) - Migrate tools_config_scenes inline empty-id guards to shared helper
(#1320) - Remove ha_get_helper_schema (closes #1186)
(#1315) - Consolidate skill tools; fix stable submodule packaging
(#1289) - Align tools_config_automations.py error-handling with sibling pattern (#1290)
(#1298)
Internal Changes
Fixed
- ci: Install libguestfs in HAOS publish workflow
(#1358)
Build System
- deps: Bump esbuild from 0.24.2 to 0.25.0 in /tests/js
(#1427) - deps: Bump devalue from 5.6.4 to 5.8.1 in /site
(#1282) - deps: Bump astro from 6.1.6 to 6.1.10 in /site
(#1274)
Chores
- addon: Publish dev addon version 7.5.0.dev360 [skip ci]
(ad7aed1) - Sync tool docs after merge [skip ci]
(9c4984f) - deps: Update ghcr.io/home-assistant/home-assistant docker tag to v2026.5.4
(#1450) - addon: Publish dev addon version 7.5.0.dev359 [skip ci]
(b82d4ee) - deps: Update ghcr.io/astral-sh/uv docker tag to v0.11.16
(#1449) - addon: Publish dev addon version 7.5.0.dev358 [skip ci]
(53fba6d) - Sync tool docs after merge [skip ci]
(dc7750d) - addon: Publish dev addon version 7.5.0.dev357 [skip ci]
(fd150c9) - addon: Publish dev addon version 7.5.0.dev356 [skip ci]
(5fa1463) - addon: Publish dev addon version 7.5.0.dev355 [skip ci]
(174ac5d) - addon: Publish dev addon version 7.5.0.dev354 [skip ci]
(4f93989) - addon: Publish dev addon version 7.5.0.dev353 [skip ci]
(53f282f) - addon: Publish dev addon version 7.5.0.dev352 [skip ci]
(4911d46) - Sync tool docs after merge [skip ci]
(8a79837) - addon: Publish dev addon version 7.5.0.dev351 [skip ci]
(13afa9d) - addon: Publish dev addon version 7.5.0.dev350 [skip ci]
(e93d680) - addon: Publish dev addon version 7.5.0.dev349 [skip ci]
(1631ad1) - addon: Publish dev addon version 7.5.0.dev348 [skip ci]
(18a8aef) - Sync tool docs after merge [skip ci]
(9e0493d) - addon: Publish dev addon version 7.5.0.dev347 [skip ci]
(e2067e4) - Sync tool docs after merge [skip ci]
(7bdb3d4) - addon: Publish dev addon version 7.5.0.dev346 [skip ci]
(c2d4dd7) - Sync tool docs after merge [skip ci]
(393b354) - addon: Publish dev addon version 7.5.0.dev345 [skip ci]
(42ede8b) - addon: Publish dev addon version 7.5.0.dev344 [skip ci]
(e6cc7a1) - Sync tool docs after merge [skip ci]
(fb35f30) - addon: Publish dev addon version 7.5.0.dev343 [skip ci]
(401b7b4) - addon: Publish dev addon version 7.5.0.dev342 [skip ci]
(0679371) - Sync tool docs after merge [skip ci]
(f6796ec) - addon: Publish dev addon version 7.5.0.dev341 [skip ci]
(3654478) - addon: Publish dev addon version 7.5.0.dev340 [skip ci]
(64f00b6) - addon: Publish dev addon version 7.5.0.dev339 [skip ci]
(d6e8873) - Sync tool docs after merge [skip ci]
(7525e93) - addon: Publish dev addon version 7.5.0.dev338 [skip ci]
(288ca4a) - addon: Publish dev addon version 7.5.0.dev337 [skip ci]
(f539ae5) - addon: Publish dev addon version 7.5.0.dev336 [skip ci]
(5568a86) - addon: Publish dev addon version 7.5.0.dev335 [skip ci]
(e069405) - addon: Publish dev addon version 7.5.0.dev334 [skip ci]
(f7be6ea) - addon: Publish dev addon version 7.5.0.dev333 [skip ci]
(cb480ea) - Sync tool docs after merge [skip ci]
(9a5bc3c) - addon: Publish dev addon version 7.5.0.dev332 [skip ci]
(e0e59ee) - Sync tool docs after merge [skip ci]
(499ebf0) - addon: Publish dev addon version 7.5.0.dev331 [skip ci]
(3e0ce92) - addon: Publish dev addon version 7.5.0.dev330 [skip ci]
(e48d056) - deps: Update ghcr.io/astral-sh/uv docker tag to v0.11.15
(#1376) - deps: Update ghcr.io/home-assistant/home-assistant docker tag to v2026.5.3
(#1377) - addon: Publish dev addon version 7.5.0.dev329 [skip ci]
(c523c50) - Sync tool docs after merge [skip ci]
(5b7a8aa) - addon: Publish dev addon version 7.5.0.dev328 [skip ci]
(6c42fba) - addon: Publish dev addon version 7.5.0.dev327 [skip ci]
(aecd025) - addon: Publish dev addon version 7.5.0.dev326 [skip ci]
(399c17c) - addon: Publish dev addon version 7.5.0.dev325 [skip ci]
(b580b45) - Sync tool docs after merge [skip ci]
(8567c3a) - addon: Publish dev addon version 7.5.0.dev324 [skip ci]
(a65579d) - addon: Publish dev addon version 7.5.0.dev323 [skip ci]
(c7667ba) - addon: Publish dev addon version 7.5.0.dev322 [skip ci]
(44d15a8) - addon: Publish dev addon version 7.5.0.dev321 [skip ci]
(8739f6c) - addon: Publish dev addon version 7.5.0.dev320 [skip ci]
(02b6e47) - Sync tool docs after merge [skip ci]
(ab68c9a) - addon: Publish dev addon version 7.5.0.dev319 [skip ci]
(4472904) - addon: Publish dev addon version 7.5.0.dev318 [skip ci]
(e030dbc) - addon: Publish dev addon version 7.5.0.dev317 [skip ci]
(d87855c) - Sync tool docs after merge [skip ci]
(a72a4e8) - addon: Publish dev addon version 7.5.0.dev316 [skip ci]
(bd9397f) - addon: Publish dev addon version 7.5.0.dev315 [skip ci]
(264bfc2) - addon: Publish dev addon version 7.5.0.dev314 [skip ci]
(df62881) - addon: Publish dev addon version 7.5.0.dev313 [skip ci]
(f6c47ca) - addon: Publish dev addon version 7.5.0.dev312 [skip ci]
(2bb7a74) - Sync tool docs after merge [skip ci]
(137e279) - addon: Publish dev addon version 7.5.0.dev311 [skip ci]
(28324ea) - Sync tool docs after merge [skip ci]
(9a753d4) - addon: Publish dev addon version 7.5.0.dev310 [skip ci]
(f893b2e) - addon: Publish dev addon version 7.5.0.dev309 [skip ci]
(8cbdb7b) - addon: Publish dev addon version 7.5.0.dev308 [skip ci]
(2d18016) - addon: Publish dev addon version 7.5.0.dev307 [skip ci]
(3fc3b28) - Sync tool docs after merge [skip ci]
(9e6cff8) - addon: Publish dev addon version 7.5.0.dev306 [skip ci]
(8bdd0fc) - addon: Publish dev addon version 7.5.0.dev305 [skip ci]
(83535b9) - addon: Publish dev addon version 7.5.0.dev304 [skip ci]
(1435b3a) - addon: Publish dev addon version 7.5.0.dev303 [skip ci]
(e2da659) - Sync tool docs after merge [skip ci]
(23789fa) - addon: Publish dev addon version 7.5.0.dev302 [skip ci]
(6c8e574) - Sync tool docs after merge [skip ci]
(d2329cb) - addon: Publish dev addon version 7.5.0.dev301 [skip ci]
(bb538f7) - Sync tool docs after merge [skip ci]
(f70f0e1) - addon: Publish version 7.5.0 [skip ci]
(9c5eb37)
Continuous Integration
- deps: Bump actions/upload-artifact in the github-actions group
(#1437) - Share qcow2 cache + GHCR fallback between HAOS lanes
(#1407) - Add ruff format --check on changed Python files
(#1387) - Exempt assigned issues from stale bot
(#1368) - deps: Bump the github-actions group with 3 updates
(#1362)
Refactoring
- Consolidate lovelace/dashboards/list through shared helper
(#1344)
Testing
- haos-e2e: Bake + install webhook-proxy addon and exercise its runtime
(#1443) - config-subentry: Mark forecast_solar e2e as known flaky + relative-import sweep
(#1430) - haos-e2e: Trim cache-save race, compress GHCR qcow2, eval boot snapshot
(#1428) - JSDOM behaviour harness + auto-discovery parse coverage for every rendered <script>
(#1425) - hacs: Retry TestMcpToolsInstallation on flake
(#1426) - e2e: Drop redundant lifecycle roundtrips, keep only Matter Server (#1414)
(#1419) - e2e: Assert backend dispatch matches workflow env on every lane
(#1409) - Escape ideographic space and format file (#1237)
(#1410) - e2e: Measure _POLL_CADENCE p50/p99 to validate or retune (closes #1389)
(#1398) - e2e: Wait for addon state=started in haos proxy header test
(#1402) - Pin remaining _classify_by_message branches
(#1385) - haos-e2e: Slim addon set + real-addon ha_manage_addon coverage (closes #1350)
(#1379) - haos-e2e: Close out #1349 — lifecycle, integrations, supervisor_mock migration, no more skips
(#1375) - e2e: Consolidate readiness gates onto /api/core/state (refs #366)
(#1372) - e2e: Tighten 5 readiness-gate budgets with 2-63x headroom (refs #366)
(#1369) - Scaffold HAOS E2E tier image-build pipeline (refs #1281)
(#1326) - e2e: Instrument HA_MCP_TOOLS_WAIT readiness gate (refs #366)
(#1346) - e2e: Centralize wait_for_entity_registration helper (refs #366)
(#1308) - e2e: Unify dict-error message extraction across e2e tests (refs #366)
(#1311) - e2e: Surface readiness-gate elapsed times in CI logs (refs #366)
(#1310)