Repository navigation
v1.2.0
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
fromcomes from the worker's state cache, so it is always whatgetState()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:resetandworker:restartfail at once when no daemon
listens, instead of retrying the control socket for six seconds whatever--timeoutsays- A Home Assistant frame with invalid UTF-8 is logged and dropped, instead of closing the connection and forcing a
resync