1.5.0
What's changed
Changes since 1.4.3
๐ New features
- #1967 - Stamp compile start/end wall-clocks on firmware jobs (@bdraco)
- #1970 - Read mac and config_hash off the _http._tcp identity TXT (@bdraco)
- #2002 - Add Waveshare ESP32-C3-Zero (@DeepCoreSystem)
- #2009 - Guard the full board sync against a mismatched ESPHome (@bdraco)
- #2011 - Emit catalog index files one entry per line (@bdraco)
- #2013 - Warn on hardware fields that break catalog conventions (@bdraco)
- #2017 - Auto-regenerate the board catalog on manifest PRs (@bdraco)
- #2019 - Adopt the per-line layout for the components and automations indexes (@bdraco)
- #2025 - Report the uncapped per-file match count from yaml/search (@bdraco)
- frontend#1183 - Nudge slow local compiles toward sending builds to a faster machine (@bdraco)
- frontend#1205 - Batch the install dialog's log streaming like the command dialog (@bdraco)
- frontend#1198 - Warn when a bulk update will restart in-flight builds (@bdraco)
- frontend#1197 - Keep Edit clickable while a job runs (@bdraco)
- frontend#1193 - Open the running job from the menu and drawer Install/Update too (@bdraco)
- frontend#1191 - Open the running job from Update/Install instead of greying out (@bdraco)
- frontend#1209 - Suppress the slow-build offload hint on ESPHome Desktop (@bdraco)
- frontend#1208 - Add Visit web UI to the editor device actions menu (@bdraco)
- frontend#1222 - Use a Desktop-appropriate build-offload intro in Settings (@bdraco)
- frontend#1214 - Add reviewable Lokalise orphan-key export/cleanup scripts (@jesserockz)
- frontend#1045 - Guided tour onboarding (@stvncode)
- frontend#1228 - Give bundle cards the same expand affordance as component cards (@bdraco)
๐ Bug fixes
- #1974 - Hide api.actions and api.services from the visual form (@bdraco)
- #1978 - Derive featured card display names from their presets (@bdraco)
- #1979 - Carry nested featured presets and guard required fields in the device sync (@bdraco)
- #1982 - Lift every page dependency and validate imported full setups with ESPHome (@bdraco)
- #1992 - Reuse featured buses in lifts and prune dropped entries' pins (@bdraco)
- #1995 - Carry AUTO_LOADed dependencies into the catalog so IR hubs lift (@bdraco)
- #1997 - Resolve page substitutions at import time so templated values extract (@bdraco)
- #1999 - Resolve mDNS first before pinging or flipping a device offline (@bdraco)
- #2001 - Remove the stale generic-ln882hki board LibreTiny renamed away (@bdraco)
- #2014 - Revive stuck-offline devices from the persisted IP after identity verification (@bdraco)
- #2024 - Align waveshare_esp32_s3_nano ram_size with the platformio convention (@bdraco)
- #2027 - Align _resolve_images with the featured-image path traversal guard (@bdraco)
- #2031 - Opt the data-only fork checkout out of checkout v7's pwn-request guard (@bdraco)
- #2034 - Keep the last-known Device.ip in RAM through a confirmed mDNS Removed (@bdraco)
- frontend#1204 - Make Retry wait out a foreign running build before re-flashing (@bdraco)
- frontend#1201 - Make Download wait for the running build instead of superseding it (@bdraco)
- frontend#1199 - Guard the install seams against superseding a running build (@bdraco)
- frontend#1215 - Focus the structured-editor field from URL deep links on load (@bdraco)
- frontend#1213 - Extend YAML-cursor deep focus to the script and api-action editors (@bdraco)
- frontend#1210 - Deep-target nested automation fields from a YAML-pane click (@bdraco)
- frontend#1224 - Keep the section editor's advanced fields from jumping around the toggle (@bdraco)
- frontend#1221 - Say Recommended everywhere and make the chip stand out (@bdraco)
- frontend#1217 - Fall back to the dependency's default when resolving depends_on visibility (@bdraco)
- frontend#1227 - Hide the card expand button when the description fits its clamp (@bdraco)
- frontend#1226 - Show the Recommended chip on bundle cards (@bdraco)
- frontend#1229 - Say list view, not table view, in the tour's dashboard step (@bdraco)
- frontend#1230 - Show the file's full match count when YAML search truncates to 5 (@bdraco)
๐ Refactor
- #2035 - Rehome the sweep-loop base and adopt it in PingSource (@bdraco)
- #2037 - Expose DeviceStateMonitor sources as public seams and drop the PLR0904 grandfather (@bdraco)
- #2038 - Give the mDNS clear op its own seam instead of the empty-ip sentinel (@bdraco)
- #2040 - Rehome probe_device on MdnsSource and make resolve_then public (@bdraco)
- #2042 - Unify the mDNS cache-first resolve tails behind one helper (@bdraco)
- #2045 - Tidy MdnsSource: shared seams, owned lifecycle, and truthful docs (@bdraco)
- #2046 - Simplify the ping sweep after the sweep-base and public-seam refactors (@bdraco)
- #2048 - Give the monitor a confirmed-offline seam owning the ledger teardown (@bdraco)
- frontend#1207 - Move logs-dialog's capped log batching onto LineBatcher (@bdraco)
- frontend#1188 - Consolidate the compact duration formatters onto one ladder (@bdraco)
- frontend#1190 - Coordinate cross-dialog navigation through an open-dialog registry (@bdraco)
- frontend#1189 - Extract shared light-dismiss controller for hand-rolled popovers (@bdraco)
- frontend#1223 - Make RenderCtx.entries required (@bdraco)
๐ Documentation
- #2004 - apollo-esk-1: fix docs_url that returns 404 (@bharvey88)
๐งน Maintenance
- #1983 - Regenerate the imported board catalog with the repaired sync (@bdraco)
- #1996 - Regenerate the catalogs with the AUTO_LOAD dependency closure (@bdraco)
- #1998 - Regenerate the board catalog with page substitutions resolved (@bdraco)
- #2008 - Drop "preview toggle" note from install-method options (@jesserockz)
- #2030 - Skip the catalog drift test on CI's Windows and macOS runners (@bdraco)
- frontend#1216 - Pin the block-scalar cursor-path test to the exact resolved path (@bdraco)