What's Changed
- Fix release build integrity and pin ESPHome Docker image by @jtenniswood in #25
- Cleanup: remove dead code, diagnostics, and unused declarations by @jtenniswood in #34
- Remove dead code, unused font, and fix doc drift by @jtenniswood in #26
- Consolidate RGB565 conversion and trim vendored image libraries by @jtenniswood in #27
- Add compile-check workflow for PRs by @jtenniswood in #31
- Fix remote_image reliability bugs and harden error handling by @jtenniswood in #35
- Replace hardcoded LVGL dimensions and captive portal IP with substitutions by @jtenniswood in #36
- Align documentation with firmware features by @jtenniswood in #39
- Extract large YAML lambdas into C++ helper functions by @jtenniswood in #40
- Harden GSL3680 touch driver and document vendor code by @jtenniswood in #41
- Use display substitutions for LVGL dimensions and cache interval values by @jtenniswood in #28
- Improve web UI: minify assets, surface errors, validate imports by @jtenniswood in #38
- Harden CI: pin ESPHome image, checkout tagged commit, add compile check by @jtenniswood in #37
- Centralize day/night logic and merge 60s intervals by @jtenniswood in #29
- Add HTTP error classifiers and improve error visibility by @jtenniswood in #44
- Add get_slot() helper and replace ternary slot dispatches by @jtenniswood in #45
- Extract decode_url_commas helper and deduplicate filter flush logic by @jtenniswood in #46
- Update ghcr.io/esphome/esphome Docker tag to v2026.4.0 by @renovate[bot] in #43
Full Changelog: v1.5.0...v1.5.1