EspControl v2.7.0
Changes since v2.6.3.
What changed?
- User-facing features: 144 changes. Notable: Add alarm delay audio feedback; Handle alarm audio lifecycle edge cases.
- User-facing bug fixes: 44 changes. Notable: Fix alarm delay audio scheduling; Preserve announcement audio ducking.
Update guidance
- Recommended for users who want the latest firmware, setup page, device fixes, or documented behavior.
- Affected devices: All supported displays may be affected because shared firmware, setup, or build files changed.
Known issues
- No release-specific known issues are listed automatically for this release.
- Check open GitHub issues before updating devices you rely on every day.
Summary
- 188 user-facing changes are included in this release.
- Release range:
v2.6.3tov2.7.0.
User-facing changes
User-facing features
- Add alarm delay audio feedback
- Handle alarm audio lifecycle edge cases
- Refresh active alarm audio settings
- Handle overlapping alarm audio delays
- Skip duplicate alarm audio contexts
- Support step-based media volume controls
- Match 4.3-inch cover art fonts
- Refresh step volume controls from reported state
- Allow step volume down before level reports
- Add temporary cover art font diagnostics
- Remove temporary cover art diagnostics
- Restore stable P4 WiFi link speed
- Remove obsolete e-paper theme remnants
- Expose voice TTS URI events
- Add confirmation prompts for garage door cards
- Add spacing between night schedule fields
- Add atomic configuration storage foundation
- Move web state behind typed module boundary
- Publish configuration headers atomically
- Add versioned configuration service
- Protect configuration selection metadata
- Add secondary media routing for cover art
- Hide cover art for external inputs
- Rename alarm audio setting
- Refine Cover Art card settings panels
- Group Cover Art screensaver settings
- Refine external source settings
- Group playback wake with screensaver settings
- Rename Cover Art screensaver panel
- Handle inactive secondary cover art sources
- Group cover art with sleep settings
- Refine external source settings
- Address cover art routing feedback
- Introduce central firmware application owner
- Show cover art when media source is unavailable
- Recover completed cover art downloads
- Group voice and sound settings
- Place idle below backlight
- Include application owner header in codegen
- Make firmware releases atomic
- Pin corrected alarm beep assets
- Add experimental battery status icon for JC8012P4A1
- Apply cleanup pass to battery status feature
- Use non-deprecated 12dB ADC attenuation value
- Use device_class: battery for proper HA icon/semantics
- Optimize battery feature and add status icon glyph check
- Update battery status for current main
- Add multi-speaker media controls
- Use lightweight speaker selection controls
- Complete speaker group verification coverage
- Address multi-speaker review feedback
- Rehydrate reusable speaker subscriptions
- Rehydrate recreated speaker rows
- Recover timed-out speaker actions
- Deduplicate reusable speaker rebinds
- Cancel pending speaker actions on teardown
- Restore media layout after speakers tab
- Discover compatible speakers automatically
- Load speaker discovery when tab opens
- Improve multiroom speaker controls
- Register speaker discovery at startup
- Trace speaker discovery registration
- Redesign multiroom speaker controls
- Improve grouped speaker card layout
- Increase speaker volume touch targets
- Redesign speaker group list
- Refine speaker row spacing
- Harden multi-speaker controls
- Address multi-speaker review feedback
- Match speaker tab icon sizing
- Remove pending speaker ellipsis
- Fit speaker rows to their content
- Prevent speaker list scroll crashes
- Align speaker cards with source design
- Refine grouped speaker icons
- Honor alarm beep volume for raw tones
- Center speaker card content vertically
- Address multi-speaker review feedback
- Soften speaker volume text
- Prevent grouped volume taps from toggling speakers
- Protect unrelated announcements during alarm cleanup
- Apply configuration changes live instead of rebooting
- Rebuild new cards after web configuration changes
- Clean up deleted cards during live rebuild
- Apply web card changes sooner
- Rebuild only changed cards after web edits
- Reuse Home Assistant subscriptions during live edits
- Defer web updates when S3 heap is low
- Bound live Home Assistant subscriptions
- Recover web streams after low memory
- Apply card edits automatically
- Add bounded card reconciliation model
- Add revision-aware configuration saves
- Add configuration snapshot API boundary
- Add bounded card resource ownership
- Add lease-based Home Assistant state broker
- Classify live card updates before teardown
- Replace live state coordinator with bounded leases
- Add versioned legacy entity documents
- Support fixed ESPHome entity registries
- Add bounded durable configuration storage
- Add revisioned configuration transport
- Save web configuration as atomic revisions
- Bound card ownership and publish revisions
- Guard bounded live configuration refreshes
- Update web transaction size baseline
- Move live configuration state to PSRAM
- Return accurate configuration transport statuses
- Address live configuration review feedback
- Retry configuration transport after boot
- Add Russian localization
- Sync 10-inch diagnostic configuration
- Add P4 C6 recovery installer
- Mipi_rgb: fix parallel-RGB models for ESPHome 2026.7 (swap_xy=UNDEFINED removed)
- Migrate saved configuration entity sets
- Address live configuration review feedback
- Reclaim obsolete configuration chunks
- Harden MIPI RGB model compatibility
- Size HA channels for live replacement
- Cancel stale Home Assistant reads during rebuilds
- Bound configuration storage to available NVS
- Rebuild media cards after layout changes
- Refresh live configuration subscriptions
- Update JC8012 panel revision guidance
- Add explicit backlight control modes (#1300)
- Resolve clock bar night mode conflicts (#1303)
- Add conditional media power controls (#1306)
- Add 4x3 camera card support (#1302)
- Decode HTML entities in media metadata (#1308)
- Restore speaker subscriptions for cover art controls
- Prevent speaker tab construction re-entry
- Revert "Merge pull request #1255 from jtenniswood/transactional-live-config"
- Use compact speaker rows on low-heap displays
- Restore full S3 speaker card controls
- Show full speaker names on S3
- Hide unsupported 3x3 card size on compact grids
- Rename largest card sizes (#1317)
- Prevent date card refresh crash after screen cleanup (#1318)
- Address speaker group review feedback
- Address follow-up speaker group feedback
- Address final speaker group feedback
- Add requested MDI icons
- Show support badge on Settings tab (#1324)
- Configure optional battery support
User-facing bug fixes
- Fix alarm delay audio scheduling
- Preserve announcement audio ducking
- Fix alarm delay audio asset URLs
- Reduce P4 4.3 modal tab icons
- Keep step volume summaries uncapped
- Fix alarm audio review findings
- Fix manual display off during screensaver
- Fix garage confirmation direction changes
- Keep cover art hidden until source loads
- Keep failed configuration publication unpublished
- Fix alarm delay beep audio format
- Fix cover art boot loop on layout refresh
- Clear stale cover art route before rebinding
- Clear cover art route before source binding
- Fix missing battery icon glyphs and topbar spacing
- Fix alarm delay audio sequencing
- Reduce speaker subscription memory overhead
- Fix speaker card sizing and visibility
- Reduce speaker row height
- Fix S3 display framebuffer wrap
- Keep grouped volume state current
- Fix time sensor layout clipping
- Fix alarm delay TTS and beep playback
- Fix alarm TTS and media ducking
- Preserve media controls during live card refresh
- Keep cover art during live card updates
- Fix configuration transport build guard
- Keep diagnostics connected during API refresh
- Preserve speaker volume on capped decreases
- Fix S3 media card rebuild compile
- Keep configuration setters revisioned
- Fix alarm TTS satellite targeting
- Fix duplicate media artwork processing
- Fix live configuration rebuild edge cases
- Fix configuration test includes
- Fix Russian push action label
- Fix vertical slider endpoints
- Keep transient state out of configuration
- Preserve light temperature slider endpoints
- Fix stale media metadata across media types (#1305)
- Fix cover art modal metadata routing
- Fix Latin Extended Additional glyph rendering (#1304)
- Preserve alarm countdown during TTS (#1313)
- Fix ESPHome 2026.7.3 compile warnings (#1323)