ha-mcp-dev 7.2.0.dev369__tar.gz → 7.2.0.dev370__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. {ha_mcp_dev-7.2.0.dev369/src/ha_mcp_dev.egg-info → ha_mcp_dev-7.2.0.dev370}/PKG-INFO +4 -3
  2. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/README.md +3 -2
  3. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/pyproject.toml +1 -1
  4. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370/src/ha_mcp_dev.egg-info}/PKG-INFO +4 -3
  5. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/LICENSE +0 -0
  6. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/MANIFEST.in +0 -0
  7. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/setup.cfg +0 -0
  8. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/__init__.py +0 -0
  9. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/__main__.py +0 -0
  10. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/_pypi_marker +0 -0
  11. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/auth/__init__.py +0 -0
  12. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/auth/consent_form.py +0 -0
  13. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/auth/provider.py +0 -0
  14. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/client/__init__.py +0 -0
  15. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/client/rest_client.py +0 -0
  16. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/client/websocket_client.py +0 -0
  17. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/client/websocket_listener.py +0 -0
  18. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/config.py +0 -0
  19. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/errors.py +0 -0
  20. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/py.typed +0 -0
  21. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/.claude/settings.json +0 -0
  22. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/.claude-plugin/marketplace.json +0 -0
  23. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/.claude-plugin/plugin.json +0 -0
  24. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/.github/ISSUE_TEMPLATE/skill-rca.md +0 -0
  25. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/AGENTS.md +0 -0
  26. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/CLAUDE.md +0 -0
  27. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/CONTRIBUTING.md +0 -0
  28. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/LICENSE +0 -0
  29. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/README.md +0 -0
  30. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/SKILL.md +0 -0
  31. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/evals/evals.json +0 -0
  32. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/automation-patterns.md +0 -0
  33. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-cards.md +0 -0
  34. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/dashboard-guide.md +0 -0
  35. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/device-control.md +0 -0
  36. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/domain-docs.md +0 -0
  37. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/examples.yaml +0 -0
  38. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/helper-selection.md +0 -0
  39. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/safe-refactoring.md +0 -0
  40. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/resources/skills-vendor/skills/home-assistant-best-practices/references/template-guidelines.md +0 -0
  41. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/server.py +0 -0
  42. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/smoke_test.py +0 -0
  43. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/__init__.py +0 -0
  44. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/backup.py +0 -0
  45. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/best_practice_checker.py +0 -0
  46. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/device_control.py +0 -0
  47. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/enhanced.py +0 -0
  48. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/helpers.py +0 -0
  49. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/registry.py +0 -0
  50. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/smart_search.py +0 -0
  51. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_addons.py +0 -0
  52. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_areas.py +0 -0
  53. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_blueprints.py +0 -0
  54. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_bug_report.py +0 -0
  55. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_calendar.py +0 -0
  56. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_camera.py +0 -0
  57. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_categories.py +0 -0
  58. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_automations.py +0 -0
  59. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_dashboards.py +0 -0
  60. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_entry_flow.py +0 -0
  61. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_helpers.py +0 -0
  62. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_config_scripts.py +0 -0
  63. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_entities.py +0 -0
  64. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_filesystem.py +0 -0
  65. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_groups.py +0 -0
  66. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_hacs.py +0 -0
  67. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_history.py +0 -0
  68. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_integrations.py +0 -0
  69. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_labels.py +0 -0
  70. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_mcp_component.py +0 -0
  71. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_registry.py +0 -0
  72. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_resources.py +0 -0
  73. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_search.py +0 -0
  74. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_service.py +0 -0
  75. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_services.py +0 -0
  76. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_system.py +0 -0
  77. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_todo.py +0 -0
  78. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_traces.py +0 -0
  79. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_updates.py +0 -0
  80. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_utility.py +0 -0
  81. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_voice_assistant.py +0 -0
  82. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_yaml_config.py +0 -0
  83. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/tools_zones.py +0 -0
  84. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/tools/util_helpers.py +0 -0
  85. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/transforms/__init__.py +0 -0
  86. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/transforms/categorized_search.py +0 -0
  87. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/__init__.py +0 -0
  88. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/config_hash.py +0 -0
  89. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/domain_handlers.py +0 -0
  90. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/fuzzy_search.py +0 -0
  91. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/operation_manager.py +0 -0
  92. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/python_sandbox.py +0 -0
  93. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp/utils/usage_logger.py +0 -0
  94. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp_dev.egg-info/SOURCES.txt +0 -0
  95. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp_dev.egg-info/dependency_links.txt +0 -0
  96. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp_dev.egg-info/entry_points.txt +0 -0
  97. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp_dev.egg-info/requires.txt +0 -0
  98. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/src/ha_mcp_dev.egg-info/top_level.txt +0 -0
  99. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/tests/__init__.py +0 -0
  100. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/tests/test_constants.py +0 -0
  101. {ha_mcp_dev-7.2.0.dev369 → ha_mcp_dev-7.2.0.dev370}/tests/test_env_manager.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 7.2.0.dev369
3
+ Version: 7.2.0.dev370
4
4
  Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
5
5
  Author-email: Julien <github@qc-h.net>
6
6
  License: MIT
@@ -27,7 +27,7 @@ Requires-Dist: websockets==16.0
27
27
  Requires-Dist: cryptography==46.0.7
28
28
  Dynamic: license-file
29
29
 
30
- > ⚠️ **Breaking change in OAuth mode (v7.0.0)** — Set `HOMEASSISTANT_URL` server-side. The consent form now accepts only the token. [Migration guide →](docs/OAUTH.md#migrating-from-v6x)
30
+ > **Breaking change (v7.3.0):** `ha_config_set_yaml` has been moved to [beta](docs/beta.md).
31
31
 
32
32
  <div align="center">
33
33
  <img src="docs/img/ha-mcp-logo.png" alt="Home Assistant MCP Server Logo" width="300"/>
@@ -336,9 +336,10 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
336
336
  - **[@restriction](https://github.com/restriction)** — Responsible disclosure: python_transform sandbox missing call target validation.
337
337
  - **[@lcrostarosa](https://github.com/lcrostarosa)** — Diagnostic and health monitoring tools concept (#675), inspiring system/error logs, repairs, and ZHA radio metrics integration.
338
338
  - **[@roysha1](https://github.com/roysha1)** — Copilot CLI support in the installation wizard.
339
- - **[@Patch76](https://github.com/Patch76)** — `ha_remove_entity` tool, docs sync automation, and file-read deduplication in check_sync.
339
+ - **[@Patch76](https://github.com/Patch76)** — `ha_remove_entity` tool, history/statistics pagination and validation, docs sync automation, docstring guidelines, dashboard tool consolidation.
340
340
  - **[@teancom](https://github.com/teancom)** — Fix add-on stats endpoint (`/addons/{slug}/stats`).
341
341
  - **[@TomasDJo](https://github.com/TomasDJo)** — Category support for automations, scripts, and scenes.
342
+ - **[@bzelch](https://github.com/bzelch)** — `python_transform` support for automations and scripts.
342
343
 
343
344
  ---
344
345
 
@@ -1,4 +1,4 @@
1
- > ⚠️ **Breaking change in OAuth mode (v7.0.0)** — Set `HOMEASSISTANT_URL` server-side. The consent form now accepts only the token. [Migration guide →](docs/OAUTH.md#migrating-from-v6x)
1
+ > **Breaking change (v7.3.0):** `ha_config_set_yaml` has been moved to [beta](docs/beta.md).
2
2
 
3
3
  <div align="center">
4
4
  <img src="docs/img/ha-mcp-logo.png" alt="Home Assistant MCP Server Logo" width="300"/>
@@ -307,9 +307,10 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
307
307
  - **[@restriction](https://github.com/restriction)** — Responsible disclosure: python_transform sandbox missing call target validation.
308
308
  - **[@lcrostarosa](https://github.com/lcrostarosa)** — Diagnostic and health monitoring tools concept (#675), inspiring system/error logs, repairs, and ZHA radio metrics integration.
309
309
  - **[@roysha1](https://github.com/roysha1)** — Copilot CLI support in the installation wizard.
310
- - **[@Patch76](https://github.com/Patch76)** — `ha_remove_entity` tool, docs sync automation, and file-read deduplication in check_sync.
310
+ - **[@Patch76](https://github.com/Patch76)** — `ha_remove_entity` tool, history/statistics pagination and validation, docs sync automation, docstring guidelines, dashboard tool consolidation.
311
311
  - **[@teancom](https://github.com/teancom)** — Fix add-on stats endpoint (`/addons/{slug}/stats`).
312
312
  - **[@TomasDJo](https://github.com/TomasDJo)** — Category support for automations, scripts, and scenes.
313
+ - **[@bzelch](https://github.com/bzelch)** — `python_transform` support for automations and scripts.
313
314
 
314
315
  ---
315
316
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ha-mcp-dev"
7
- version = "7.2.0.dev369"
7
+ version = "7.2.0.dev370"
8
8
  description = "Home Assistant MCP Server - Complete control of Home Assistant through MCP"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13,<3.14"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ha-mcp-dev
3
- Version: 7.2.0.dev369
3
+ Version: 7.2.0.dev370
4
4
  Summary: Home Assistant MCP Server - Complete control of Home Assistant through MCP
5
5
  Author-email: Julien <github@qc-h.net>
6
6
  License: MIT
@@ -27,7 +27,7 @@ Requires-Dist: websockets==16.0
27
27
  Requires-Dist: cryptography==46.0.7
28
28
  Dynamic: license-file
29
29
 
30
- > ⚠️ **Breaking change in OAuth mode (v7.0.0)** — Set `HOMEASSISTANT_URL` server-side. The consent form now accepts only the token. [Migration guide →](docs/OAUTH.md#migrating-from-v6x)
30
+ > **Breaking change (v7.3.0):** `ha_config_set_yaml` has been moved to [beta](docs/beta.md).
31
31
 
32
32
  <div align="center">
33
33
  <img src="docs/img/ha-mcp-logo.png" alt="Home Assistant MCP Server Logo" width="300"/>
@@ -336,9 +336,10 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
336
336
  - **[@restriction](https://github.com/restriction)** — Responsible disclosure: python_transform sandbox missing call target validation.
337
337
  - **[@lcrostarosa](https://github.com/lcrostarosa)** — Diagnostic and health monitoring tools concept (#675), inspiring system/error logs, repairs, and ZHA radio metrics integration.
338
338
  - **[@roysha1](https://github.com/roysha1)** — Copilot CLI support in the installation wizard.
339
- - **[@Patch76](https://github.com/Patch76)** — `ha_remove_entity` tool, docs sync automation, and file-read deduplication in check_sync.
339
+ - **[@Patch76](https://github.com/Patch76)** — `ha_remove_entity` tool, history/statistics pagination and validation, docs sync automation, docstring guidelines, dashboard tool consolidation.
340
340
  - **[@teancom](https://github.com/teancom)** — Fix add-on stats endpoint (`/addons/{slug}/stats`).
341
341
  - **[@TomasDJo](https://github.com/TomasDJo)** — Category support for automations, scripts, and scenes.
342
+ - **[@bzelch](https://github.com/bzelch)** — `python_transform` support for automations and scripts.
342
343
 
343
344
  ---
344
345