github rusty4444/hermes-voice-ha-integration v0.0.15
Release v0.0.15

4 hours ago

v0.0.15

Highlights

  • Makes the Home Assistant WebSocket receiver idempotent when another Hermes process for the same profile already serves the configured endpoint.
  • Keeps real port conflicts visible when the listener belongs to a foreign service, another profile, an unidentified/older receiver, or a different WebSocket path.
  • Reports running only after a successful bind rather than after any completed startup attempt.

Profile and lifecycle safety

  • Resolves receiver enablement, host, port, path, and authentication through Hermes’ profile-scoped secret environment, preventing launch-profile credentials from leaking into multiplexed profiles.
  • Preserves the owning profile’s context for Assist callbacks and exposes an opaque profile identity through /health for safe cross-process duplicate detection.
  • Rebinds forced reloads to the new plugin context instead of retaining stale module callbacks.
  • Stops the receiver on plugin unload, closes active Home Assistant sockets, cancels in-flight Assist requests, terminates the receiver thread, and releases captured plugin state.
  • Cleans up connection tracking when a peer resets during the initial WebSocket greeting.

Validation

  • 184 tests passed locally.
  • Real Hermes PluginManager tests covered conflicting profile configuration/authentication, callback scope, cross-profile refusal, and unload during an in-flight Assist request.
  • Python 3.11 and 3.12 GitHub CI passed on the release commit.
  • Wheel and source distribution contents passed the repository release-integrity checks.
  • Independent release-blocker review returned READY for the merged implementation.

Contributor credit

Thanks to Joel Silva (@byjaps) for the original receiver bind/idempotency work in #47. Joel’s commits and authorship are preserved in the merge history.

Full changelog: v0.0.14...v0.0.15

Don't miss a new hermes-voice-ha-integration release

NewReleases is sending notifications on new releases.