v0.49.1 — TRMNL pushes no longer require an MQTT broker
Fix
The push pipeline was unconditionally calling `transport.publish()` for every renderer, including HTTP-polled TRMNL clients. On hosts without an MQTT broker (e.g. no Home Assistant Mosquitto add-on installed) the publish raised `RuntimeError: transport not connected`, the latest-render pointer never got stamped, and `/api/display` kept serving the placeholder image.
Fixed: `PushManager` learns to detect HTTP-polled devices (their manifest declares no `status_topic`) and skips the MQTT publish for them. The frame still lands on disk and the latest-renders map gets stamped so `/api/display` picks it up on the next poll. Broker requirement is now lifted for TRMNL-only setups.
Reported by @tommerty on discussion #8.
Upgrade notes
No action needed. Update via your usual path (HA add-on store / Docker pull) and TRMNL pushes will go through without a broker.
For users running broker-backed devices (Pi, ESP32), nothing changes: those devices' manifests declare a `status_topic` and continue to publish to MQTT as before.
Tests
+2 regression tests in `tests/test_push.py` covering the HTTP-polled-skip and the broker-not-connected paths (the exact failure shape from the report). 970 passing, ruff + mypy strict clean.