Added
- Harden ha_config_set_yaml description and require justification
(#942) - Add python_transform support to automations and scripts
(#968) - history: Add offset pagination for history and statistics sources
(#964) - site: Redesign documentation site with professional visual identity
(#938) - Replace SequenceMatcher fuzzy search with BM25 scoring
(#932) - Consolidate ha_get_statistics into ha_get_history via source parameter
(#911) - site: Add Copilot CLI support to installation wizard
(#909) - Add ha_remove_entity tool (closes #874)
(#876) - Add pagination and detail_level to ha_list_services, ha_get_device, ha_get_integration
(#870) - Preserve YAML comments and HA tags in ha_config_set_yaml
(#869) - Expose category on automation, script, and helper config tools
(#850) - Add system/error logs, repairs, and ZHA radio metrics to existing tools (replaces #675)
(#836) - Reduce ha_get_overview context window usage
(#728)
Changed
- Tone down beta caveats, remove stale banner, update contributors [contributors-updated]
(#989) - Add Tests only type to PR template
(#953) - Document webhook proxy addon in README, setup site, and FAQ
(#931) - Add Windows pywin32 FAQ entry
(#933) - Clarify tool consolidation guidelines with anti-patterns
(#927) - security: Add scope, out-of-scope, and OAuth beta warning
(#917) - Trim AGENTS.md to stay under 40k char Claude Code limit
(#922) - Clarify ha_config_set_yaml comment preservation scope
(#920) - Add MCP tool docstring guidelines to AGENTS.md and styleguide
(#907) - Update contributors list [contributors-updated]
(934f573) - Add macOS troubleshooting for local network connection issues
(#897) - Document sync-tool-docs.yml workflow in AGENTS.md
(#898) - Add custom component documentation and HACS install badge
(#877)
Fixed
- Raise ToolError for statistic_types=[] in _fetch_statistics
(#979) - history: Add query_params echo to _fetch_statistics response
(#976) - history: Add "year" to valid statistics periods
(#975) - search: Validate limit and offset parameters in ha_deep_search
(#954) - search: Validate limit parameter with min_value=1 in ha_search_entities
(#946) - Persist input helper config changes via storage API
(#884) - addon: Use unique version for dev add-on so HA detects updates
(#918) - Enforce Python 3.13 in install scripts and at runtime
(#904) - site: Replace placeholder logo SVGs with real brand icons
(#910) - Fully stateless OAuth tokens, drop HOMEASSISTANT_TOKEN requirement
(#893) - Parallelize deep_search Tier 3 config fetches (closes #879)
(#882) - Add ast-grep rule and fix hand-built error dicts
(#895) - Fetch addon stats from /addons/{slug}/stats endpoint
(#865) - docs: Sync homeassistant-addon/DOCS.md via extract_tools.py
(#883) - Add missing get_entity_state mock to group unit tests
(#878) - Enable e2e filesystem tests and fix ha_mcp_tools integration
(#868) - Add post-operation verification to group config tools
(#853) - Init submodules and use portable path in /wt skill
(#859) - Block registry-disable on automation/script entities (#794)
(#796)
Performance Improvements
- Optimize e2e test execution time
(#872)
Refactoring
- Migrate 7 tool files to class-based pattern (batch 3)
(#944) - Migrate 12 tool files to class-based pattern (batch 2)
(#937) - Migrate 5 tool files to class-based pattern (batch 1)
(#935) - Enable C901 complexity checking and fix violations
(#923) - Merge ha_dashboard_find_card into ha_config_get_dashboard
(#905) - Consolidate 3 overlapping tool pairs
(#873) - Consolidate HACS read tools from 4 to 2
(#871)
Internal Changes
Fixed
- Replace BAT blind sleep with deterministic HA readiness checks
(#939)
Chores
- addon: Publish dev addon version 7.2.0.dev219 [skip ci]
(6aa9566) - addon: Publish dev addon version 7.2.0.dev218 [skip ci]
(2086ac2) - addon: Publish dev addon version 7.2.0.dev217 [skip ci]
(235a0a4) - addon: Publish dev addon version 7.2.0.dev216 [skip ci]
(cb5e4b4) - addon: Publish dev addon version 7.2.0.dev215 [skip ci]
(af4c14b) - Sync tool docs after merge [skip ci]
(39fd83e) - addon: Publish dev addon version 7.2.0.dev214 [skip ci]
(12cbb2b) - addon: Publish dev addon version 7.2.0.dev213 [skip ci]
(f200742) - addon: Publish dev addon version 7.2.0.dev212 [skip ci]
(9377017) - Sync tool docs after merge [skip ci]
(cdd59ca) - addon: Publish dev addon version 7.2.0.dev211 [skip ci]
(d60f4da) - addon: Publish dev addon version 7.2.0.dev210 [skip ci]
(9552141) - Sync tool docs after merge [skip ci]
(3378442) - addon: Publish dev addon version 7.2.0.dev209 [skip ci]
(9ef7db9) - addon: Publish dev addon version 7.2.0.dev208 [skip ci]
(2c620eb) - addon: Publish dev addon version 7.2.0.dev207 [skip ci]
(b6198d5) - addon: Publish dev addon version 7.2.0.dev206 [skip ci]
(4a5be2a) - Sync tool docs after merge [skip ci]
(9930a8f) - addon: Publish dev addon version 7.2.0.dev205 [skip ci]
(c5e0570) - addon: Publish dev addon version 7.2.0.dev204 [skip ci]
(ca2fda2) - Sync tool docs after merge [skip ci]
(9d27c81) - Sync tool docs after merge [skip ci]
(314fbea) - Sync tool docs after merge [skip ci]
(09f4b69) - Bump HA test image to 2026.4.1 and improve test stabilization
(#908) - deps: Bump vite from 6.4.1 to 6.4.2 in /site
(#906) - Sync tool docs after merge [skip ci]
(370f462) - Sync tool docs after merge [skip ci]
(57497c0) - Sync tool docs after merge [skip ci]
(1f783dd) - Sync tool docs after merge [skip ci]
(2c79011) - Sync tool docs after merge [skip ci]
(596a673) - deps: Bump defu from 6.1.4 to 6.1.6 in /site
(#860) - Sync tool docs after merge [skip ci]
(1b6138d) - Sync tool docs after merge [skip ci]
(c8afd28) - addon: Publish version 7.2.0 [skip ci]
(4b0be35)
Continuous Integration
- deps: Bump the github-actions group with 3 updates
(#969) - deps: Bump the github-actions group with 2 updates
(#887) - Auto-sync tools.json on merge instead of failing PRs
(#849)
Refactoring
- Eliminate redundant file reads in check_sync
(#888)
Testing
- registry: Improve assertion messages for domain mismatch and invalid format
(#974) - entity: Add negative-input tests for ha_set_entity
(#961) - e2e: Add negative-input tests for ha_get_history and ha_get_automation_traces
(#945) - e2e: Add negative-input test for ha_get_zone with nonexistent zone_id
(#957) - e2e: Add negative-input test for ha_config_get_label with nonexistent label_id
(#958)