What's Changed
- Strip empty strings from http config by @bramkragten in #53377
- Show integration logo and name in the replace device dialog by @piitaya in #53384
- Update Node.js to v24.18.1 by @renovate[bot] in #53386
- Update dependency globals to v17.8.0 by @renovate[bot] in #53387
- Show the automation state on mobile in the automations table by @marcinbauer-ohf in #53375
- Remove empty items on narrow data table secondary lines by @timmo001 in #53382
- Prefetch home dashboard resources concurrently by @timmo001 in #53373
- Allow area card name to wrap to two lines in vertical layout by @piitaya in #53370
- Tools > Template use WA Split Panel by @maartenla in #53021
- Launch screen tweaks by @timmo001 in #53380
- Add live updates to Z-Wave JS node config parameters by @raman325 in #53013
- Update dependency jsdom to v30 by @renovate[bot] in #53395
- Managed background builds and shared process management by @timmo001 in #53374
- Fix numeric input feature editor showing the wrong default style by @MindFreeze in #53398
- Show which energy power statistic is missing by @MindFreeze in #53404
- Fix schedule editor dirty tracking by @karwosts in #53401
- Search a media player's own library from the media browser by @marcelveldt in #53402
- Update dependency @codemirror/view to v6.43.7 by @renovate[bot] in #53409
- Reject non-http URLs from integrations before using them as links by @MindFreeze in #53379
- Prevent http confirm dialog from getting closed by @bramkragten in #53406
- use defaults provided by core for ports in strings, add url to new lo… by @bramkragten in #53407
- Add a few missing logbook csv fields by @karwosts in #53412
- Fix typo in Google Home Matter pairing instructions by @johng3587 in #53413
- Prevent concurrent managed frontend workflows by @timmo001 in #53396
- Use backend slugify for the entity ID format preview by @piitaya in #53394
- Validate dialog-form on submit by @karwosts in #53381
- RTL fixes by @yosilevy in #53414
- Fix profile theme link colour by @timmo001 in #53415
- Fix tile name truncated too early by @piitaya in #53416
- Update dependency @rspack/core to v2.1.6 by @renovate[bot] in #53420
- Add managed translation fetching to dev servers by @timmo001 in #53417
- Wait for settings overview readiness by @timmo001 in #53352
- Keep progress button labelled while showing its result by @MindFreeze in #53426
- Offer to stop conflicting managed workflows by @timmo001 in #53418
- Ask which occurrences to change in the recurring event dialog by @MindFreeze in #53423
- Recover from a stale index.html at boot by @bramkragten in #53378
- Wait for dashboard initial readiness by @timmo001 in #53357
- Wait for calendar and media browser readiness by @timmo001 in #53367
- Reuse state-display for entities secondary info by @karwosts in #53260
- Update dependency @rspack/core to v2.1.7 by @renovate[bot] in #53430
- Update dependency jsdom to v30.0.1 by @renovate[bot] in #53431
- Bump the codeql-action group across 1 directory with 2 updates by @dependabot[bot] in #53439
- Update Yarn to v4.18.0 by @renovate[bot] in #53432
- Bump home-assistant/actions/helpers/verify-version from e3fb68ebda13d88a0d695082f471ba2c83d025fb to ab22029681aa532bfe7de5774a9972d67bfbd2c0 by @dependabot[bot] in #53440
- Update Playwright by @renovate[bot] in #53446
- Allow to favorite the manual card by @karwosts in #53445
- Fix js float weirdness in hui-energy-grid-balance-card by @Hypfer in #53442
- Update dependency intl-messageformat to v11.2.13 by @renovate[bot] in #53450
- Update formatjs by @renovate[bot] in #53451
- Home Assistant event handler types skill by @timmo001 in #53452
- Update dependency lint-staged to v17.3.0 by @renovate[bot] in #53456
- Type and Lit skills by @timmo001 in #53457
- Stop the statistics graph card editor looping while typing a name by @MindFreeze in #53434
- Fix unsaved-mixin race condition by @karwosts in #53435
- Show progress on the Zigbee backup button while the backup is created by @MindFreeze in #53422
- Apply minimum release age to all dependencies by @timmo001 in #53464
- Type component event handlers by @timmo001 in #53458
- Type application event contracts by @timmo001 in #53459
- Update Node.js to v24.19.0 by @renovate[bot] in #53463
- Fix energy default period being saved under the wrong storage key by @MindFreeze in #53462
- Fix slow loading of entity rows in device page by @karwosts in #53471
- Bump ip-address from 10.2.0 to 10.4.0 by @dependabot[bot] in #53470
- Bump postcss from 8.5.19 to 8.5.25 by @dependabot[bot] in #53465
- Type feature event handlers by @timmo001 in #53461
- Update dependency @types/leaflet to v1.9.22 by @renovate[bot] in #53473
- Bump undici from 6.27.0 to 6.28.0 by @dependabot[bot] in #53475
- Bump fast-uri from 3.1.4 to 3.1.5 by @dependabot[bot] in #53474
- Fix automation paste with variables by @karwosts in #53441
- Drop websocket collections created by an iframe panel on teardown by @farmio in #53448
- Update dependency js-yaml to v5.2.3 by @renovate[bot] in #53478
- Fix map loading fully zoomed out when fitted before layout by @jeffdunn in #53428
- Add frontend review guidance by @timmo001 in #53482
- Add form divider between actions in interaction editor by @piitaya in #53483
- Update dependency @types/luxon to v3.7.3 by @renovate[bot] in #53484
- Fix unreachable remove button on input chips with long labels by @pszypowicz in #53487
- Color icons for "on" automations in automation-picker by @karwosts in #53360
- Compress faster by running zopfli in a worker pool by @MindFreeze in #53488
- Revert "Show the automation state on mobile in the automations table" by @balloob in #53493
- Fix wrong month in date picker calendar header by @MindFreeze in #53453
- Remove dead UV_THREADPOOL_SIZE assignment from gulpfile by @MindFreeze in #53490
- Update octokit monorepo by @renovate[bot] in #53505
- Fix missing label in solar forecast dialog by @karwosts in #53506
- Fix back navigation loop on the cloud page by @piitaya in #53497
- Add expand_legend option to energy graph cards by @MindFreeze in #53476
- Keep numeric slider and buttons within min and max when the step overshoots by @MindFreeze in #53489
- Fix missing Internet heading in Home Assistant URL settings by @larry0x in #53498
- Compress faster by running brotli in parallel by @piitaya in #53495
- Type configuration event handlers by @timmo001 in #53460
- Add support for climate in target humidity feature by @pcan08 in #53502
- Wait for Integrations panel readiness by @timmo001 in #53481
- Use typed gallery demo card configs by @timmo001 in #53492
- Remove orphaned for_you translation key by @MindFreeze in #53509
- Fix notification stacking by @timmo001 in #53486
- Only show the sidebar tab switcher when its tabs are labelled by @MindFreeze in #53508
- Accept hostnames and localize validation messages in the HTTP config form by @MindFreeze in #53511
- Don't disable interaction when row is disabled by @bramkragten in #53517
- Mock entity ID format WS commands in the demo by @balloob in #53520
- Remove cloud demo controls by @klejejs in #53524
- Update dependency globals to v17.9.0 by @renovate[bot] in #53519
- Stack the sidebar when only one column fits by @piitaya in #53515
- Delay camera cleanup when hidden by @abmantis in #53518
- Map card scale ruler by @AuraHerreroRuiz in #53494
- Add onboarding end-to-end test by @timmo001 in #53514
- Show target-state entity icon in scene editor review mode by @pszypowicz in #52520
- Remove "dev" from tools actions description by @timmo001 in #53528
- Update dependency @rspack/dev-server to v2.2.0 by @renovate[bot] in #53529
- Fix link to different port being handled as internal link by @bramkragten in #53530
- Keep selected option visible in disabled select box by @MindFreeze in #53535
- Wait with showing pending http changes dialog until loading screen is… by @bramkragten in #53534
- Add cloud page UI to the Gallery by @klejejs in #53532
- Update dependency typescript-eslint to v8.66.0 by @renovate[bot] in #53541
- Update dependency marked to v18.0.9 by @renovate[bot] in #53544
- Update dependency @rspack/core to v2.1.8 by @renovate[bot] in #53547
- Fix disabled save button when leaving an automation with unsaved changes by @piitaya in #53538
- Check for wheel on PyPI simple index instead of JSON API by @bramkragten in #53549
- Update dependency core-js to v3.50.0 by @renovate[bot] in #53557
- Update dependency @codemirror/view to v6.43.8 by @renovate[bot] in #53556
- Add initial value setting to input_boolean helper dialog by @MindFreeze in #53516
- Update dependency hls.js to v1.6.17 by @renovate[bot] in #53562
- Fix camera domain "recording" state not being considered an active state by @AuraHerreroRuiz in #53546
- Bump the codeql-action group across 1 directory with 2 updates by @dependabot[bot] in #53565
- Bump release-drafter/release-drafter from 7.6.0 to 7.7.0 by @dependabot[bot] in #53567
- Bump actions/stale from 10.4.0 to 11.0.0 by @dependabot[bot] in #53569
- Bump home-assistant/actions/helpers/verify-version from ab22029681aa532bfe7de5774a9972d67bfbd2c0 to a7c616ce81ccda50150bf1595786c71b1883fabb by @dependabot[bot] in #53566
- Bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 by @dependabot[bot] in #53568
- Fix panels missing updates by @bramkragten in #53548
- Fix date display in logs by @yosilevy in #53575
- Fix sensor card graph footers not receiving hass on lazy upgrade by @MindFreeze in #53576
- Fix ha-selector-number by @yosilevy in #53577
- Fix areas/floors reorder config page by @karwosts in #53553
- Cache compression output across builds to speed up releases by @bramkragten in #53561
- Dont download core translations when releasing app by @bramkragten in #53585
- Dont ship unused old translation keys by @bramkragten in #53583
- Add vacuum-fan-speed tile card feature and add related tile suggestions by @pcan08 in #53551
- Update dependency @types/luxon to v3.7.4 by @renovate[bot] in #53588
- Update dependency eslint to v10.8.1 by @renovate[bot] in #53591
- Fix history graphs redrawing with a different shape every few seconds by @MindFreeze in #53578
- Add light-effect tile card feature and related suggestion by @pcan08 in #53589
- Replace remove device command by @bramkragten in #53594
- Reserve scrollbar gutter in more-info dialog to prevent flicker by @demilul in #53522
- Unify back navigation across subpages by @piitaya in #53501
- Align highlighted config entries to the top by @timmo001 in #53595
- Add device link to Bluetooth advertisement dialog by @timmo001 in #53599
- Recover from a stale build after boot by @bramkragten in #53582
- Change area navigation to icon button in device page by @timmo001 in #53600
- Render the target picker entities count as a button by @piitaya in #53598
- Show loading screen while Labs features load by @timmo001 in #53601
- Fix loading states for async config pages by @timmo001 in #53604
- Match tokens card actions position and size of button with others by @timmo001 in #53605
- Decouple translations artifact from the nightly build by @bramkragten in #53602
- Add icon button group animation by @piitaya in #53597
- Fix time condition summary when before is midnight by @MindFreeze in #53608
- Fix lowercase view button in blueprint in-use dialog by @MindFreeze in #53609
- Don't trim the selected value in pickers by @MindFreeze in #53613
- Fix row target badge height and font by @piitaya in #53612
- Stop number box rows from reserving unused space by @MindFreeze in #53614
- Add rspack persistent cache (nightly writes, CI reads) by @bramkragten in #53611
- Render state and numeric state entities as row targets by @piitaya in #53610
- Wait for analytics data during onboarding by @bramkragten in #53621
- Run the frontend build in parallel with lint and tests by @bramkragten in #53623
- Add ha-grouped-list component by @piitaya in #53618
- Add child devices to the device registry by @bramkragten in #53617
- Always group updates page entities by integration by @balloob in #53480
- Add context to entity details by @timmo001 in #53624
- List running automations & scripts in restart dialog by @karwosts in #53523
- Skip source maps in the gallery build for e2e by @bramkragten in #53625
- Seed selector values when enabling optional service fields by @MindFreeze in #53629
- Add background editor to dashboard detail editor by @timmo001 in #51644
- Show remaining tile card features below when position is inline by @JulianHock in #53310
- Child devices UI by @bramkragten in #53619
- Fix clipped focus ring on media player playback buttons by @piitaya in #53632
- Keep control select in the tab order without a selection by @piitaya in #53633
- Lay out inline features in two columns by @piitaya in #53631
- Add device context to energy individual device names by @MindFreeze in #53603
- Update dependency typescript-eslint to v8.67.0 by @renovate[bot] in #53634
- Guard registry lookups in the target picker item row by @MindFreeze in #53637
- Fix sub device tree indicator by @bramkragten in #53638
- Add activity detail dialog by @piitaya in #53362
- Add more deep links to more-info dialogs by @timmo001 in #53628
- Make date picker navigation arrows themeable by @timmo001 in #53639
- Update dependency @rspack/core to v2.1.9 by @renovate[bot] in #53642
- Replace automation state color with a badge by @piitaya in #53627
- Restore bundle size budget headroom by @loganrosen in #53659
- Bump the codeql-action group across 1 directory with 2 updates by @dependabot[bot] in #53661
- Update dependency hls.js to v1.7.0 by @renovate[bot] in #53649
- Fix choose selector minor issues by @karwosts in #53648
- Add disabled to button group by @karwosts in #53651
- Update dependency globals to v17.11.0 by @renovate[bot] in #53647
- Ability to link a person to an existing user by @karwosts in #53550
- Remove deprecated battery props from vacuum by @gjohansson-ST in #53005
- Fix negative button of duration selector by @karwosts in #53646
- Prevent the sidebar from scrolling the dashboard by @piitaya in #53644
- Update dependency @rsdoctor/rspack-plugin to v1.6.2 by @renovate[bot] in #53662
- Update dependency @rspack/core to v2.1.10 by @renovate[bot] in #53663
- Remove weather card pointer cursor when it has no action by @neyzm in #53654
- Add themes to yaml reload menu by @karwosts in #53673
- Fix custom weather icons by @karwosts in #53667
- Log console error when a dashboard resource fails to load by @MindFreeze in #53675
- Fix Energy configuration back navigation by @loganrosen in #53574
- Fall back to option key for untranslated repair menu options by @agners in #53681
- Group sankey devices by count as well as by value by @MindFreeze in #53680
- Extract the data table filter chip into ha-filter-pane-chip by @piitaya in #53682
- Update dependency js-yaml to v5.3.0 by @renovate[bot] in #53679
- Fix the clear button alignment in the domains filter by @piitaya in #53687
- Allow using description in create_entry for repair flows by @gjohansson-ST in #53671
- Fix Z-Wave network visualization showing wrong route edges by @MindFreeze in #53676
- Fix backup progress segment order to match backend execution order by @agners in #53652
- Addons RTL fix by @yosilevy in #53692
- Show entity name in template autocomplete info panel by @piitaya in #53695
- Add improved mqtt panel to config section by @jbouwh in #53653
- Lock file maintenance by @renovate[bot] in #53698
- Fix check for updates toasts stacking by @piitaya in #53696
- Add Matter network topology visualization page by @MindFreeze in #53247
- Skip entities assigned to another area when resolving area targets by @piitaya in #53693
- Redesign History and Activity filtering into a sources pane by @bramkragten in #53630
- Update dependency barcode-detector to v3.2.2 by @renovate[bot] in #53702
- Remove the unused compact mode from the target picker by @piitaya in #53685
- Ignore stale History statistics fetches after the selection changes by @MindFreeze in #53700
- Fix filter pane expand animation and use a bottom sheet in narrow mode by @piitaya in #53684
- Update CodeMirror by @renovate[bot] in #53705
- Fix outlined button border colors by @marcinbauer-ohf in #53704
- Update browserlist by @maartenla in #53691
- Show per-mount storage usage on the storage page by @MindFreeze in #53683
- Add indeterminate and controlled selection to lists by @piitaya in #53706
- Update dependency @html-eslint/eslint-plugin to v0.65.0 by @renovate[bot] in #53714
- Add
RepairsFlowas anext_flowfrom aRepairsFlowby @iluvdata in #51744 - Show Assist greeting in the assistant's language by @maartenla in #53707
- Add keyboard and screen reader navigation to charts by @MindFreeze in #53533
- Show result of action for button presses by @zweckj in #53645
- Cleanup some attributes code by @karwosts in #53713
- Update dependency intl-messageformat to v11.2.14 by @renovate[bot] in #53722
- Fix stacked toasts when a dashboard is updated in another session by @piitaya in #53719
- Update dependency marked to v18.0.10 by @renovate[bot] in #53725
- Update vitest monorepo to v4.1.11 by @renovate[bot] in #53732
- Replace a remembered yesterday energy period when picking now by @MindFreeze in #53735
- Update dependency hls.js to v1.7.1 by @renovate[bot] in #53741
- Bump the codeql-action group across 1 directory with 2 updates by @dependabot[bot] in #53744
- Update dependency echarts-extension-chart2music to v0.1.1 by @renovate[bot] in #53753
- Fix error badge creation on cold load by @dawnwang3692 in #53752
- Add a serial panel by @puddly in #53699
- Fix editing nested multiple object selector items by @nokside in #53709
- Fix energy period rollover overnight and in the first hour by @MindFreeze in #53717
- Key more-info details memoize on attribute name formatter by @maartenla in #53755
- Add keyboard and screen reader navigation to the energy device charts by @MindFreeze in #53754
- Show climate summary card with only temperature sensors by @piitaya in #53760
- Update dependency @rsdoctor/rspack-plugin to v1.6.3 by @renovate[bot] in #53761
- Update dependency eslint to v10.9.0 by @renovate[bot] in #53765
- Allow media selector to optionally select a media directory by @karwosts in #27873
- Add supported_speeds parameter for cover movement actions by @wollew in #53572
- Fix Z-Wave add node security strategy selection not sticking by @raman325 in #53769
- Fix more-info setting dirty state tracking by @karwosts in #53762
- Update dependency @types/luxon to v3.7.5 by @renovate[bot] in #53770
- Merge the domain and device class filters into a type filter by @piitaya in #53710
- Update dependency @rspack/dev-server to v2.2.1 by @renovate[bot] in #53772
- Add alert card by @timmo001 in #53758
- Show area and disable pulse by default in alert card by @piitaya in #53774
- Clarify when agents should add tests by @piitaya in #53775
- Reflect the active filters in the target picker counts by @piitaya in #53716
- Focus nested form-dialog fields when a nested level is pushed by @MindFreeze in #53757
- Expand sensor entity constants and add device classes by @jbouwh in #53748
- Fix timeCachePromiseFunc cache handling by @nokside in #53773
- Fix ha-control-select losing its value when activated by a screen reader by @tormazs in #53777
- Remove template and default-value tests by @piitaya in #53779
- Add active alerts to Security dashboard by @timmo001 in #53031
- Add favorites to Security dashboard by @timmo001 in #53512
- Show targets in automation traces by @piitaya in #53718
- Update dependency @bundle-stats/plugin-webpack-filter to v4.22.3 by @renovate[bot] in #53783
- Remove pulse from security dashboard alerts by @piitaya in #53784
- Share favorites editor and security entity filter by @piitaya in #53785
- Allow cross domain translations for config entry setup errors by @zweckj in #53791
- Fix choose-view dialog showing another dashboard's views by @MindFreeze in #53792
- Improve cloud login/sign up pages, add auto login by @klejejs in #53790
- Add device class selector by @jbouwh in #53672
- Update dependency cropperjs to v1.6.3 by @renovate[bot] in #53796
- Add reusable device class picker by @piitaya in #53798
- Cache media source resolutions for view backgrounds by @MindFreeze in #53615
- Keep the frame minimum when a gap marker shares the frame by @MindFreeze in #53580
New Contributors
- @johng3587 made their first contribution in #53413
- @jeffdunn made their first contribution in #53428
- @larry0x made their first contribution in #53498
- @AuraHerreroRuiz made their first contribution in #53494
- @demilul made their first contribution in #53522
- @JulianHock made their first contribution in #53310
- @neyzm made their first contribution in #53654
- @dawnwang3692 made their first contribution in #53752
- @nokside made their first contribution in #53709
- @wollew made their first contribution in #53572
- @tormazs made their first contribution in #53777
Full Changelog: 20260729.7...20260826.0