1.8.0
What's changed
Changes since 1.7.0
π New features
- #2404 - Collect action and condition ranges from the live registries (@bdraco)
- #2411 - Peel cv.templatable extracts for refinement and bounds (@bdraco)
- #2416 - Mark lambda-or-plain union fields templatable (@bdraco)
- #2418 - Type multi-value entries from their ensure_list item validators (@bdraco)
- #2422 - Floor automation enrichment in the catalog smoke (@bdraco)
- #2429 - Pin the delegate-wrapper peel inventory against the live tree (@bdraco)
- #2432 - Add editor/migrate_config for one-click config migration (@bdraco)
- #2433 - Support nested component action-field locations (@bdraco)
- #2434 - Promote nested var-less trigger fields to TRIGGER (@bdraco)
- #2444 - Feed sync-discovered cv.rename_key pairs to migrate_config as data-driven rules (@bdraco)
- #2455 - Ship bus_constraints in the component index (@bdraco)
- #2460 - Migrate the deprecated rp2040 platform key to rp2 (@bdraco)
- #2462 - Discover component ALIASES as data-driven component_key migration rules (@bdraco)
- #2463 - Flip the canonical rp2040 platform key to rp2 (@bdraco)
- #2467 - Pin the art invariant through the resolver and the manifested catalog (@bdraco)
- frontend#1524 - Show the wiring presets for a substitution pin number (@bdraco)
- frontend#1541 - Stop offering legacy registry aliases and the legacy service field (@bdraco)
- frontend#1550 - Gate the migrate nudge on a backend dry-run instead of mirrored detection (@bdraco)
- frontend#1545 - Emit nested component action fields as dotted sections (@bdraco)
- frontend#1539 - Carry the full field path in edit-action-field routing (@bdraco)
- frontend#1538 - Add a one-click config-migration nudge (@bdraco)
- frontend#1560 - Share the widened id pool with top-level seeding (@bdraco)
- frontend#1553 - Prefill a unique id for nested-list rows that require one (@bdraco)
- frontend#1552 - Prefill the entity name from the catalog title in the add-component dialog (@bdraco)
- frontend#1567 - Flip the canonical rp2040 platform key to rp2 (@bdraco)
- frontend#1570 - Reattach dialog job follows after a connection loss instead of failing (@bdraco)
π Bug fixes
- #2356 - Preserve curated locked flags when re-importing board manifests (@bdraco)
- #2359 - Accept percent suffix on percentage_int fields in the catalog (@bdraco)
- #2365 - Peel schema_extractor wrappers when walking live CONFIG_SCHEMAs (@bdraco)
- #2367 - Drop unit refinement when a float_with_unit regex has no unit group (@bdraco)
- #2368 - Rekey the byte-size unit table to cv.validate_bytes (@bdraco)
- #2371 - Peel wrapper validators at any depth in the schema walk (@bdraco)
- #2374 - Run type refinement against the live automation registries (@bdraco)
- #2376 - Honor mDNS goodbyes by withdrawing the claim on Removed and letting ping decide (@bdraco)
- #2378 - Stamp introspected ranges only on numeric entries (@bdraco)
- #2383 - Keep the peer-link heartbeat from killing slow artifact downloads (@bdraco)
- #2385 - Refine hex_int fields to integers with hex display (@bdraco)
- #2386 - Require a live PTR for mDNS ownership; demote to ping without one (@bdraco)
- #2391 - Resolve childless nested entries at their three sources (@bdraco)
- #2393 - Anchor non-API mDNS ownership on the live _http._tcp PTR (@bdraco)
- #2395 - Drop the adopt state seed and key mdns claims on the device-named PTR (@bdraco)
- #2402 - Shed bled hub refinements and widen hex display to integer entries (@bdraco)
- #2417 - Pass OTA address-cache args when loaded_integrations is still unknown (@bdraco)
- #2420 - Read legacy api services spelling and respell to canonical on write (@bdraco)
- #2423 - Collapse the doubled period in the validation-failure message (@bdraco)
- #2428 - Scope extends cycles per ref and substitute shed refinements (@bdraco)
- #2439 - Locate flush-style api action lists (@bdraco)
- #2440 - Unify the key-block locators in helpers/yaml/inline.py (@bdraco)
- #2442 - Keep the adoption YAML when only the remote package fails to resolve (@bdraco)
- #2443 - Carry the maybe_simple_value key through the component catalog (@bdraco)
- #2448 - Substitute the platform's own bounds in the range shed (@bdraco)
- #2454 - Extend the package-failure classification to create-from-package (@bdraco)
- #2457 - Propagate supported_platforms through transitive dependencies (@bdraco)
- #2465 - Restore the generic RP2 board art lost in the canonical-key flip (@bdraco)
- frontend#1522 - Intercept dirty Back before the router commits the route (@bdraco)
- frontend#1521 - wireless β over the network (@breti)
- frontend#1515 - Surface connection waits on navigation, YAML load, and reconnects (@bdraco)
- frontend#1534 - Read the legacy api services block spelling (@bdraco)
- frontend#1533 - Adopt under the factory broadcast name and auto-start the rename flow (@bdraco)
- frontend#1529 - Skip validation for lambda values on typed templatable fields (@bdraco)
- frontend#1526 - Gate the caret-follow reveal on the whole render unit (@bdraco)
- frontend#1525 - Skip the caret-follow advanced reveal for fields that already render (@bdraco)
- frontend#1546 - Surface the backend's package-resolution warning after adopt (@bdraco)
- frontend#1544 - Flag wrong typed values in the add-component form as they land (@bdraco)
- frontend#1547 - Expand maybe_simple_value shorthands at section load (@bdraco)
- frontend#1542 - Submit the Add Component form view on Enter (@bdraco)
- frontend#1537 - Preserve hex input nibble width through the round-trip (@bdraco)
- frontend#1551 - Surface the create-from-package warning as a wizard toast (@bdraco)
- frontend#1561 - Seed the identity field a sub-entity's schema actually offers (@bdraco)
- frontend#1554 - Detour to a new uart when no existing bus can host the added component (@bdraco)
- frontend#1557 - Skip YAML-occupied pins when seeding board pin defaults (@bdraco)
- frontend#1562 - Detect a dead dashboard connection and surface it in the logs dialog (@bdraco)
π Refactor
- #2441 - Collapse resolve_action_field_target into the shared component target walk (@bdraco)
- frontend#1519 - Extract the page YAML-load ladder into a controller (@bdraco)
- frontend#1518 - Centralize the popstate leave guard in a controller (@bdraco)
- frontend#1536 - Add a one-line helper for renamed-key migration entries (@bdraco)
- frontend#1532 - Unify the per-entry advanced-gate rule behind one predicate (@bdraco)
- frontend#1530 - Move hasMaterialValue into the util layer (@bdraco)
- frontend#1559 - Hoist the indexed line-to-path walk into a shared walker (@bdraco)
- frontend#1558 - Move the instance-scalar primitives into their own module (@bdraco)
- frontend#1556 - Split validateEntry's typed checks into config-validation-core (@bdraco)
- frontend#1569 - Hoist the shared logs-dialog test scaffold into _logs-dialog-env (@bdraco)
- frontend#1568 - Extract the WS liveness subsystem into a LivenessMonitor (@bdraco)
π Documentation
- #2381 - Document remote build over slow links as best effort (@bdraco)
- #2419 - Carve deprecated and renamed keys out of the pass-through rule (@bdraco)
- #2421 - Document non-compliant mDNS middleboxes as out of scope (@bdraco)
- frontend#1523 - Document the no-wireless transport copy rule (@bdraco)
π§Ή Maintenance
- frontend#1531 - Remove the dead findFirstErrorTarget walker (@bdraco)
- frontend#1540 - Retire the section-level deprecation-nudge machinery (@bdraco)
β¬οΈ Dependencies / CI
3 changes
- #2354 - ci: bump CodSpeedHQ/action from 4.18.5 to 4.19.0 (@dependabot[bot])
- #2401 - ci: bump CodSpeedHQ/action from 4.19.0 to 4.19.1 (@dependabot[bot])
- #2445 - ci: bump CodSpeedHQ/action from 4.19.1 to 5.0.1 (@dependabot[bot])