- Cache map tiles per asset class and stop refetching what still works (@bramkragten - #54451)
- Draw the globe against a sky when the map is zoomed out (@bramkragten - #54485)
- Copy locale data to the landing page build (@sairon - #54488)
- Dismiss reboot/shutdown toast when frontend reconnects (@wendevlin - #54640)
- Add focus indicator to entity and sensor cards (@bramkragten - #54644)
- Mock editing the own profile in the demo (@bramkragten - #54645)
- Show the next demo card on the home page demo again (@bramkragten - #54646)
- Add realistic automations to the demo (@bramkragten - #54647)
- Align history timeline X axis with line charts (@MindFreeze - #54657)
- Restore left-column timeline names on the history-graph card (@marcinbauer-ohf - #54661)
- Snap the map overview bottom sheet to fixed positions (@piitaya - #54663)
- Fix create floor memoization issue (@karwosts - #54675)
- Wrap descriptions in voice assistant settings (@frenck - #54678)
- Load the HLS source once instead of on every media attach (@frenck - #54683)
- Fix ZHA reconfigure dialog errors after closing and on reconnect (@frenck - #54684)
- Keep boolean fields inline in the narrow action editor (@frenck - #54686)
- Keep the key order when duplicating a script (@frenck - #54687)
- Show the newest history states when the browser clock runs behind (@MindFreeze - #54688)
- Handle map labels without a name (@frenck - #54689)
- Keep a cleared input value when focusing it again (@frenck - #54690)
- Let long dropdown submenus scroll (@frenck - #54692)
- Replace map overview more info button with a header icon (@piitaya - #54704)
- Only cache the frontend's own static files in the service worker (@frenck - #54707)
- Show the right page title for more settings pages (@frenck - #54708)
- Respect custom icons for built-in panels in the sidebar (@frenck - #54709)
- Add side padding to the statistics search field (@piitaya - #54717)
- Center the map on a single entity instead of fitting it (@maartenla - #54718)
- Fix translation key for external config flow step description (@arturpragacz - #54722)
- Keep the label of color inputs raised (@frenck - #54737)
- Convert CSS color names to hex when saving a label (@frenck - #54738)
- Keep custom logbook messages for automations and scripts (@frenck - #54739)
- Restore compatibillity with older chromium devices in ScrollFadeController (@silamon - #54742)
- Hide Zigbee from the ESPHome device setup wizard (@MindFreeze - #54751)
- Fall back to local voice setup when the cloud status fails (@frenck - #54754)
- Fit the add integration list on short screens (@frenck - #54755)
- Show the ZHA config entry state when it isn't loaded (@frenck - #54756)
- Expose the real invalid state of inputs to screen readers (@frenck - #54757)
- Give dialogs an accessible name (@frenck - #54758)
- Show the speech-to-text duration without VAD (@frenck - #54759)
- Release streaming images when hui-image is detached (@frenck - #54760)
- Keep icon button labels off the ha-button host (@frenck - #54761)
- Keep dropdown menus clear of safe areas (@frenck - #54762)
- Hide hidden cards in grid sections without :has() (@frenck - #54764)
- Greet in the interface language when it is a variant of the pipeline language (@frenck - #54766)
- Translate attribute names every entity can have (@frenck - #54768)
- Don't count the characters of a string target (@frenck - #54769)
- Fix crash on null trigger entries in the automation editor (@jpbede - #54771)