- Remove encryption from OAuth tokens for truly stateless implementation (#534)
- oauth: Auto-persist encryption key and auto-detect url (#532)
- Add agent skills section to README (#541)
- Add workaround for ChatGPT's non-standard /token/.well-known/openid-configuration request (#533)
- oauth: Add OpenID Configuration endpoint for ChatGPT compatibility (#531)
- traces: Support flat trace structure in ha_get_automation_traces (#529)
- Fix YAML frontmatter parsing in agent files (#519)
Internal Changes
- Add python_transform for cross-platform dashboard updates (#496)
- Enable stateless_http mode for restart resilience (#495)
- workflow: Clarify Gemini triage is read-only, add diff format for fixes
(
3e89988) - workflow: Skip automated triage for julienld's issues
(
2b74ee9) - Add AI-powered issue triage workflow and simplified YAML templates
(
69e2fd0) - entity: Add ha_update_entity tool for entity registry updates (#469)
- Improve ha_report_issue with title, duplicate check, and markdown formatting (#484)
- Add ha-mcp-dev executable with automatic DEBUG logging
(
79a1456) - Publish dev builds to separate ha-mcp-dev package
(
f768dd2) - Publish dev builds to PyPI for --pre flag support
(
e1e73e1)
- Add guidance to resolve review threads with comments
(
03ad555) - workflow: Clarify only gh issue list/view commands available
(
2501fde) - Update contributors section with recent contributions (#492)
- Add MCP tool authoring guide to AGENTS.md (#461)
- Move OAuth to separate guide, position as beta alternative (#487)
- Add comprehensive dev channel documentation (#476)
- Add uvx cache troubleshooting to FAQ
(
f21c431)
- Update ha_report_issue URLs and improve workflow PR extraction (#505)
- workflow: Restrict Gemini to read-only gh commands
(
5e27889) - Validate label IDs in ha_manage_entity_labels to prevent silent failures (#486)
- Update package name reference in version lookup for ha-mcp-dev
(
97df158) - Pin httpx to <1.0 to prevent incompatible prerelease versions (#483)
- Validate operations in ha_bulk_control and report errors (#385) (#473)
- Remove redundant asyncio.sleep calls in E2E helper tests (#470)
- Standardize MCP tool error handling and fix test compatibility (#494)
- agents: Rebrand level2-triage to issue-analysis workflow
(
d2748ab) - agents: Convert triage agent to level2-triaged workflow
(
407da6a)
Internal Changes
- ci: Add workflow to notify PRs/issues when merged to dev (#489)
- ci: Support squash merge format in notify workflow (#491)
- deps: Bump renovatebot/github-action from 44.2.4 to 44.2.6 (#499)
- Add @kingpanther13 and @Raygooo to contributors
(
590d0b7) - agents: Add "Leave the Campground Cleaner" principle
(
e11d766)
- Add socks support to httpx dependency (#450)
Internal Changes
- ci: Robust release publishing logic (#444)
- OAuth 2.1 Authentication with DCR and Consent Form (#368)
- Redesign changelog for end-user readability (#434)
- Change log path to user home and force uvx refresh in install scripts (#443)
Internal Changes
- deps: Bump h3 from 1.15.4 to 1.15.5 in /site (#436)
- deps: Bump devalue from 5.5.0 to 5.6.2 in /site (#435)
- deps: Bump astral-sh/uv (#426)
- deps: Bump renovatebot/github-action from 44.2.3 to 44.2.4 (#425)
- deps: Replace textdistance with stdlib difflib (#432)
- client: Ensure REST API paths are correctly resolved relative to /api/ (#418)
- Pin numpy to 2.3.x for CPU compatibility (#410)
Internal Changes
- Harmonize config entry tools and add Flow API support (#403)
- Improve bug report clarity and add agent behavior feedback (#401)
- Fix Cloudflared add-on Quick Tunnel documentation inaccuracy (#407)
- Move @cj-elevate to end of contributors list
(
7b452ed) - Add @cj-elevate to contributors for PR #355
(
bba1c89)
- Preserve nested conditions in or/and/not compound condition blocks (#409)
- Add Codex CLI support to setup wizard (#387)
- Redesign label management with add/remove/set operations (#397)
- Add truncation indicator to ha_search_entities (#393)
- Apply domain filter before fuzzy search, not after (#394)
- Update pr-checker agent with PR execution philosophy
(
80bf518) - Update issue-to-pr-resolver agent with PR execution philosophy
(
075b64a)
- Add workflow for implementing improvements in separate PRs
(
dd6aafc) - Add PR execution philosophy and final reporting guidelines
(
b6a5473) - Clarify PR workflow with explicit comment checking
(
d9d6b35) - Simplify ha_call_service docstring (117→34 lines) (#379)
- Change sponsor badge to blueviolet
(
1a1102f) - Update sponsor badge text and color
(
939a09e) - Change sponsor emoji from heart to coffee
(
8f026df) - Add sponsor badge, community section, and star history
(
2fe299b)
- Preserve 'conditions' (plural) in choose/if blocks (#388)
- Resolve WebSocket race conditions and improve error handling (#378)
Internal Changes
- deps: Bump astral-sh/uv (#390)
- Exclude jq dependency on all Windows platforms (#371)
- Document hotfix workflow with stable tag verification and timing
(
6bbd782)
- Support blueprint automations in ha_config_set_automation (#364)
- docs: Update AGENTS.md with ha-mcp-web command
(
25ddcb7) - docs: Update Docker commands to use ha-mcp-web and remove backslashes
(
90822c0)
Internal Changes
- ci: Correct regex - match version digits only
(
970c358) - ci: Improve renovate regex pattern for HA container version
(
32da751) - ci: Clear ignorePaths to allow scanning tests/
(
b363519) - ci: Use correct manager name custom.regex
(
e8bded1) - ci: Configure Renovate to only handle HA test container
(
22eefd1) - ci: Update HA test container and separate Renovate schedule
(
0a4bc2f) - ci: Configure Renovate to scan current repository
(
553917a)
- Make jq optional on Windows ARM64 (#359)
- Resolve Docker environment variable validation error (#354) (#356)
Internal Changes
- ci: Complete workflow fixes for unified release
(
c64f41a) - ci: Create draft pre-releases for dev builds (#352)
- ci: Add git checkout for gh release upload (#351)
- ci: Filter artifact downloads to skip Docker build cache (#350)
- ci: Correct build command in reusable workflow (#349)
- ci: Checkout current commit instead of tag in build jobs
(
6f6da4e) - ci: Create pre-release as draft before uploading binaries
(
821bcf4) - ci: Add checkout step for gh release upload
(
4df604a) - ci: Only download binary artifacts, skip Docker build cache
(
6ca14b3) - ci: Correct build command in reusable workflow
(
e299bf0)
- deps: Bump astral-sh/uv (#344)
- dashboard: Add jq_transform and find_card for efficient editing (#333)
- antigravity: Remove known issues reference
(
f37eed9) - Add FASTMCP_SHOW_CLI_BANNER workaround for Antigravity
(
eb222dd)
- Respect FASTMCP_SHOW_CLI_BANNER env var for banner control (#336)
- Update MCP Registry schema to 2025-12-11
(
c0f0a2e) - Update MCP Registry schema to current draft version
(
2401a05)
Internal Changes
- antigravity: Recommend stdio mode, add troubleshooting
(
8dac62e)
Internal Changes
- ci: Don't suppress upload errors in build-binary
(
3185c28) - ci: Resolve recurring workflow failures
(
ae1934b)
- deps: Bump actions/upload-artifact from 4 to 6 (#328)
- deps: Bump actions/setup-python from 5 to 6 (#327)
- deps: Bump astral-sh/setup-uv from 4 to 7 (#326)
- deps: Bump actions/download-artifact from 6 to 7 (#325)
- ci: Use draft releases for atomic release creation
(
5214097)
- Add all helpers with WebSocket API support (#323)
- Add informational tool for HA configuration access (#322)
- Add fact-checking caveat to model knowledge testing
(
ea5cb33) - Add no-context sub-agent strategy for testing model knowledge
(
9e737a0) - Add context engineering & progressive disclosure principles
(
40ab2a6)
- Apply LOG_LEVEL environment variable to Python logging (#321)
Internal Changes
- deps: Bump astral-sh/uv (#330)
- deps: Bump renovatebot/github-action from 44.0.5 to 44.1.0 (#329)
- Add ENABLED_TOOL_MODULES env var for tool filtering (#316)
- Update Open WebUI instructions and setup wizard
(
67d03df)
- Add ha_create_dashboard_resource tool for inline JS/CSS hosting (#297)
- Reorganize FAQ and update client list
(
e7852ac) - Improve Setup Wizard section in README
(
4e1efab) - Update README links and add Docker platform to setup wizard
(
56f62a6) - Add @sergeykad to contributors
(
9d85ac0)
- Add --version/-V flag to CLI (#312)
- Use --version instead of --help in installer scripts (#310)
- Add --version/-V flag to CLI (#309)
- Update favicon to Home Assistant icon
(
02f33db)
Internal Changes
- deps: Bump astral-sh/uv (#303)
- deps: Bump actions/download-artifact from 4 to 6 (#305)
- deps: Bump actions/upload-pages-artifact from 3 to 4 (#304)
- deps: Bump actions/checkout from 4 to 6 (#302)
- deps: Bump actions/setup-node from 4 to 6 (#300)
- deps: Bump actions/configure-pages from 4 to 5 (#299)
- deps: Bump renovatebot/github-action from 44.0.4 to 44.0.5 (#301)
- Add filesystem access tools for Home Assistant config files (#276)
- Add dashboard resource management tools (#278)
- Weekly stable releases with hotfix support (#292)
- Update AGENTS.md with parallel triage workflow
(
5239b29)
- Use system CA certificates for SSL verification (#294)
- Preserve voice assistant exposure settings when renaming entities (#271)
- Correct cleanup logic to parse tag from gh release list
(
e3abb76)
- Implement parallel operations for improved performance (#258) (#269)
Internal Changes
- Rename github-issue-analyzer agent to triage with enhanced behavior
(
a730fd4)
- site: Add stdio support for Antigravity (same config as Windsurf)
(
0fbf5e8)
- site: Add Open WebUI client configuration instructions
(
75f7f8b)
- site: Add Open WebUI client configuration
(
2320fa6)
- Regenerate package-lock.json for CI compatibility
(
3462d5e)
- Add MCP client configuration docs site (#286)
- Return helpful error message for YAML script delete attempts (#268)
- Filter artifact download to avoid Docker buildx cache
(
1757e53)
- Implement dual-channel release strategy (dev + stable) (#291)
- macos: Use full path to uvx in Claude Desktop config (#284)
- Include system info in ha_get_overview response (#283)
- Simplify signin and move manual install to step 2 (#282)
- Write JSON config without UTF-8 BOM on Windows (#281)
- Improve onboarding UX with demo environment (#265)
- Installer UX improvements (#280)
- Enhance ha_get_device with Zigbee integration support (Z2M & ZHA) (#262)
- Add lab setup script with auto-updates and weekly reset (#263)
Internal Changes
- Add github-issue-analyzer agent with standard comment title
(
5211d45)
- Add HACS integration to E2E test environment (#259)
- Add HACS integration tools for custom component discovery (#250)
- Clarify bug description prompt in template
(
96b9bc7) - Update bug report template to emphasize ha_bug_report tool
(
2e72f16)
- Add missing py.typed marker file for type hint distribution (#251)
- Improve bug report tool with better diagnostics (#256)
- Disable VCS release via GitHub Action input (#257)
- Correct semantic-release v10 config and add release fallback (#255)
- Create GitHub release from build-binary workflow (#254)
- Use gh release upload to avoid target_commitish conflict (#252)
- Trigger binary builds after SemVer Release via workflow_run (#249)
- Remove MCP prompts feature (#248)
- Update uvx instructions to use @latest (#241)
- Use correct WebSocket command type for Supervisor API (#246)
- Improve startup time with lazy initialization (#237)
- Add diagnostic mode for empty automation traces (#235)
- Add structured error handling with error codes and suggestions (#238)
- Add server icon to FastMCP configuration (#236)
- Add ha_bug_report tool for collecting diagnostic info (#233)
- Add graceful shutdown on SIGTERM/SIGINT signals (#232)
- search: Add graceful degradation with fallback for ha_search_entities (#231)
- Improve error handling for missing env variables (#234)
- Add HA_TEST_PORT env var for custom test container port
(
4743ee8)
- Include resource files in PyPI package distribution (#230)
- Resolve entity_id to unique_id for trace lookup (#229)
- Add error handling to search tools for better diagnostics (#227)
- Fetch Core release notes from GitHub releases API (#228)
- Add error handling to ha_deep_search (#226)
- Normalize automation GET config for round-trip compatibility (#221)
- Add boolean coercion for string parameters from XML-style calls (#219)
- Add idempotentHint and title to service tools
(
bbd2796) - Use light icon (transparent) as main, add 32x32 size
(
9ce27c5) - mcpb: Add tool annotations and update icon
(
2d3ea51) - Reorganize distribution files and add smoke test
(
f720e8a) - Polish mcpb manifest for submission
(
9bd2531) - Auto-generate mcpb manifest with discovered tools
(
4af79a0) - Add CD workflow with mcpb packaging and GitHub releases
(
d3f8e86) - Add PyInstaller standalone binary builds
(
05630dc)
- Write privacy policy to cover future telemetry without updates
(
7b0c632) - Clarify telemetry is not currently implemented
(
4d47a47) - Make telemetry default behavior neutral
(
959f7b9) - Fix third-party terminology in privacy policy
(
e9abd2d) - Update privacy policy for future telemetry and MCP client agnostic
(
3070140) - Adjust privacy policy language to use "might collect"
(
3f17068)
- Add string coercion for numeric parameters (fixes #205, #206) (#217)
- Query area/entity registries for accurate area count in overview (#216)
- Normalize automation config field names (trigger/triggers) (#215)
- Icon bundle and manifest + add annotation tests
(
6d800ef) - Include all icons in mcpb bundle (dark variants + SVG)
(
c22f656) - Add required destructiveHint to all modifying tools
(
8881fcf) - Include 32x32 icon in mcpb bundle
(
681b769) - Use platform_overrides for multi-platform mcpb manifest
(
61c94c8) - mcpb: Use checkmarks in long_description
(
5049d0f) - mcpb: Single line breaks in long_description
(
d3d4cc4) - mcpb: Use asterisks for bullet points
(
4191145) - mcpb: Add multiple icon sizes and use tool titles
(
5fb1a8b) - mcpb: Use icons array with size specification
(
629e863) - mcpb: Fix long_description formatting
(
7b62654) - mcpb: Remove annotations from manifest (not in schema)
(
ac2807f) - Address security scanner warnings and fix privacy policy
(
1cba8b6) - Handle Windows encoding in smoke test
(
c0b1cca) - Move pyinstaller_hooks to packaging/binary/
(
6f8e6d1) - Correct PROJECT_ROOT calculation in spec file
(
332b388) - Use absolute paths in PyInstaller spec file
(
18d1073) - Use UTF-8 encoding in generate_manifest.py for Windows compatibility
(
c57d47e) - Add runtime hook to register idna codec at startup
(
42eb0a6) - Add more commonly missing PyInstaller hidden imports
(
ca77fa7) - Add idna codec hidden imports for PyInstaller
(
ea84d73) - Include click module for uvicorn dependency
(
a908a90) - Add user_config for HA URL and token in mcpb manifest
(
f1ca800) - Add explicit permissions block to workflow
(
ea4fbc5) - Use portable timeout approach for macOS
(
2be7a9e) - Use Python 3.13 and venv for PyInstaller builds
(
3ad28f5)
- Consolidate macOS and Windows into single mcpb bundle
(
cde7e36)
Internal Changes
- Add source SVG icon for future use
(
5fa0eea)
- Improve Windows test diagnostics
(
3cd3633)
- Add VS Code one-click install button (#195)
- Handle read-only filesystem in usage logger (#196)
- Correct WebSocket URL construction for Supervisor proxy (#193)
- Add macOS UV setup guide (#191)
- Remove duplicate CONTRIBUTING.md reference
(
a57e315) - Reorder installation methods in README (#188)
- Handle None values in update entity attributes (#192)
Internal Changes
- Update README and addon docs for new v4.x tools (#178)
- Auto-discover tool modules to prevent merge conflicts (#183)
- Add historical data access tools (history + statistics) (#176)
- build: Include tests package for hamcp-test-env script (#177)
- Add ha_get_camera_image tool to retrieve camera snapshots (#175)
- Add addon management tools (ha_list_addons, ha_list_available_addons) (#174)
- tools: Add ZHA device detection and integration source tools (#172)
- Add Group management tools (#171)
- Add ha_get_automation_traces tool for debugging automations (#170)
- tests: Pin Home Assistant container version with Renovate tracking (#167)
- Update README with all 63 tools (#168)
- search: Resolve search_types validation and domain_filter issues (#165)
- Major release with 11 new tool modules (#146)
- addon: Add changelog for Home Assistant add-on updates (#119)
- tools: Recommend description field for automations (#111)
Internal Changes
- ci: Add explicit permissions to prepare job (#117)
- Remove CHANGELOG.md (#89)
- deps: Bump actions/checkout from 5 to 6 (#90)
- docs: Add missing --transport flag for mcp-proxy in add-on docs (#94)
Internal Changes
- deps: Bump astral-sh/uv (#92)
- deps: Bump renovatebot/github-action from 44.0.3 to 44.0.4 (#91)
- Python 3.13 only with automated Renovate upgrades (#88)
- Update dashboard guide with modern best practices (#81)
- Improve test isolation in test_deep_search_no_results (#80)
- Add dashboard management tools for Lovelace UI (#75)
- Remove Code Refactoring Patterns section from AGENTS.md
(
f4612c9) - Update AGENTS.md to reflect registry refactoring architecture
(
97111a5)
Internal Changes
- Align release workflow and server manifest (#64)
- Validate server manifest via script (#63)
- Correct release workflow indentation (#62)
- Add SSE FastMCP deployment config (#60)
- Repair codex autofix workflow conditions (#58)
- Simplifies the installation instructions
(
fd8f68d)
- Add pypi publish
(
bd6d358)
- Clarify agent guidance on e2e requirements (#53)
Internal Changes
- Try multiple codex models per step (#42)
- Retain textdistance version constraints (#39)
- Migrate fuzzy search to textdistance (#36)
- Add Windows UV guide and reorganize assets (#34)
- Align add-on schema with HA Supervisor (#33)
- Remove redundant static docs (#26)
- Drop duplicate convenience tools (#25)
- Ha_deep_search docs (#23)
- Return subscription id from WebSocket result (#22)
- Add ha_deep_search tool to documentation (#20)
- Split registry.py into focused modules (2106 → 76 lines) (#21)
- Add ha_deep_search tool for searching automation/script/helper configs (#19)
- Correct logbook API endpoint format (Issue #16) (#18)
- Finalize Docker and addon documentation with tested syntax (#15)
- Make addon build wait for semantic-release to complete
(
2ae666a)
- Add git add to build_command to include config.yaml in version commits
(
0d50f24)
- Use semantic-release build_command to sync addon version in same commit
(
c725aaa) - Use direct mcp.run() instead of os.execvp with debug output
(
91b698b)
Internal Changes
- Sync addon version to 2.5.4
(
0055dda) - Configure semantic-release to update addon config.yaml version
(
ff65337) - Sync addon version with package semver and fix slug
(
8b90a76)
- Update addon startup tests for direct mcp.run() approach
(
1d7ee6b)
- Enable host network mode for local network access
(
b991ddf)
Internal Changes
- Update uv.lock
(
80842ab)
- Add integration tests for addon container startup
(
1881075)
- Specify ha_mcp module in fastmcp run command
(
22ddb0b)
- Correct COPY paths in Dockerfile for project root context
(
bcb6568)
- Use Debian-based uv image instead of non-existent Alpine variant
(
3e94860)
- Add HA token authentication for add-on (#14)
- Add-on pre-built images with HTTP transport (#13)
- Document repository.yaml requirement in AGENTS.md
(
7dfd746) - Revert README to simple installation instructions
(
2f501cf)
- Add repository.yaml for HA add-on repository identification
(
c57e433)
- Limit platforms to 64-bit (amd64/arm64) supported by uv image (#12)
- Docker deployment and Home Assistant add-on support (#10)
- Clarify YouTube link is same demo
(
cc3527c) - Add YouTube demo link
(
f189df9) - Move logo to img directory
(
19e8394) - Add demo animation to README
(
8670474) - Add demo animation to README
(
8d0c574)
- Add backup creation and restore tools (#9)
- Add detail_level parameter to ha_get_overview with 4 levels (#8)
- Add Claude Code acknowledgment and remove footer tagline
(
291ce86)
- Rename package and repository to ha-mcp (#7)
- Remove non-reusable package rename documentation from AGENTS.md
(
d0602ba) - Add lessons learned from ha_config_* refactoring to AGENTS.md
(
25a8f66)
- Fix typos and formatting in README
(
ebfa004)
- Split ha_manage_* into ha_config_{get,set,remove}_* tools (#6)
- Resolve GitHub Action semantic-release configuration issues (#3)
- Documentation formatting and accuracy improvements (#2)
Internal Changes
- deps: Bump python-semantic-release/python-semantic-release
(
a09cd92)
- Remove Docker ecosystem from dependabot config
(
b393282)