v0.0.14
Highlights
- Adds opt-in local Home Assistant intent handling for fast state, temperature, date/time, timer, and recognised command responses, with pre-execution safety filtering and explicit HA pipeline boundaries. Thanks @byjaps for the feature and follow-up work in #46.
- Restores Hermes WebSocket connections automatically after gateway restarts, with owned reconnect tasks, exponential backoff, and session cleanup. Thanks @byjaps for #42.
Fixes
- Makes frontend static-route registration reload-safe on Home Assistant 2026.9+, addressing #43 as reported by @EdwardMoyse through #44.
- Corrects the interactive plugin check and authenticated WebSocket smoke-test documentation requested by @EdwardMoyse in #40 through #41.
- Prevents sentence-trigger automations from running inside the integration-level local intent path.
- Prevents altered or truncated requests from becoming executable local commands.
- Prevents commands from being sent to Hermes after a local side effect if Home Assistant fails while publishing the response.
- Extends the Assist query timeout consistently to 45 seconds.
Safety and configuration
- Local HA intent handling remains
offby default. answerspermits only known read-only intent handlers;commandsis a separate explicit opt-in.- The README and options UI distinguish this setting from Home Assistant's upstream sentence-trigger automations and Prefer handling commands locally pipeline option.
- Oversized transcripts are rejected rather than truncated, and Hermes receives the original fallback transcript unchanged.
Validation
- 158 tests passed in the isolated release environment.
- 141 tests passed with 17 expected stub-only skips against Home Assistant 2026.9.
- Real Home Assistant 2026.9 probes covered safe time-query handling, command filtering before execution, and post-action failure without duplicate dispatch.
- Python 3.11 and 3.12 CI passed.
- Wheel and source distribution contents passed the repository release-integrity checks.
Full changelog: v0.0.13...v0.0.14