Skip to content

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 15:13
· 147 commits to main since this release
v1.2.0
2a5b83b

State changes cost less CPU on the broker and on workers, and Home Assistant traffic arrives in fewer, cheaper frames.

Changed

  • MQTT and Valkey connections turn on TCP_NODELAY, so a burst of small packets no longer waits on delayed ACKs
  • The Home Assistant client asks for coalesce_messages, so a burst of events arrives in fewer WebSocket frames
  • The runtime image keeps compiled PHP in /tmp (opcache.file_cache), so workers and console commands after the
    first start without compiling the framework again; code is still revalidated when files change
  • A state change's from comes from the worker's state cache, so it is always what getState() returned just before
    the change
  • Workers receive only the new state of each change, and the broker no longer decodes Home Assistant's old_state,
    so each state change costs less CPU on the broker and on every worker
  • The broker encodes state changes, snapshots and history for workers with hand-written converters instead of
    reflection, and waiting on one entity no longer clears every other entity's cached routing match

Fixed

  • stewart status, app:pause, app:resume, app:reset and worker:restart fail at once when no daemon
    listens, instead of retrying the control socket for six seconds whatever --timeout says
  • A Home Assistant frame with invalid UTF-8 is logged and dropped, instead of closing the connection and forcing a
    resync