Skip to content

2026.07.01.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Jul 16:40

A release focused on bringing some new UX features and a lot of bug fixes. Thank you everyone who report issues you find as you use LCARdS, it's very much appreciated!

We have one new (and many fixed) background effects, a significantly improved colour picker, proper state-based colour support for the lcards-slider card, a new HA lcards.play_sound action, and a major overhaul of the connectivity overlay system. Plus a good number of internal fixes throughout.

Breaking changes: if you use MSD there may be some breaking changes that require a one-time update in config coordinates - See MSD section below.


New Features

Colour Picker Overhaul (#372)

The LCARdS colour picker has been significantly redesigned:

lcards-colour-picker-2

Find colours quickly by:

  • using group filter chips that show CSS variables from HA-LCARS/LCARdS theme, HA's full list, or all.
  • filtering colours by family/hue (ie. reds, blues, etc.)
  • sorting the list by name, or by gradient
  • using a new full custom colour input. A hex-alpha colour entry field is provided via vanilla-colorful You can have precise control over colour selection including transparency.
  • selecting from standard CSS colour list
  • providing your own custom string (ie. cascading variables)

Contour Field Background Effect

Inspired by star chart displays in LCARS - a new animated background preset Contour Field is available.

The effect generates a topographic-style layered field using fractional Brownian motion (fBm) noise, rendered as banded colour contours.

image

Control the look with many configuation options:

  • Band count and sparsity: control how many contour layers are rendered and how dense the field appears
  • Colour palette: use the card's configured colour array, or fall back gracefully to a default palette
  • Fill level and fill colour: optionally render a fill region below a configurable threshold level
  • Blend mode: hard-edge band boundaries or smooth gradient transitions

Play sounds from Automations: lcards.play_sound HA Action (#375)

LCARdS now provides a lcards.play_sound action that can be called from automations, scripts, or any HA action context
This is a targetable action - you can specify target devices and users.

action: lcards.play_sound
data:
  event_type: system_ready        # any configured LCARdS event sound
  - or - 
  asset_key: lcards_default_tap   # any registered LCARdS sound asset

Enhancements & Fixes

Slider Card

State-Based Colour Support (#380)

lcards-slider should now have full parity with lcards-button and lcards-elbow for state-based colour configuration.
All style targets - now support the same state/range/attribute colour resolution pipeline.
The slider's indicator visible field now also accepts a template string for conditional show/hide logic.

Slider Card: Media Player Volume Display (#379)

When a slider is bound to a media_player entity's volume_level attribute, the value is now correctly displayed as a percentage (0–100%) rather than the raw HA attribute value (0.0–1.0).
Read and write scaling are handled automatically - no configuration required.


Connectivity Overlay (#381)

The connectivity overlay and its settings panel (lcards-connectivity-tab) have been substantially rewritten.

tl;dr: things should be working properly and consistently now

  • Overlay is now disabled by default and is exclusively opt-in

  • Configurable Threshold tolerance: allows for a grace period on websocket disconnection before invoking the overlay. This helps prevent spurious activations on transient disconnections (particularly noticible on HA restarts)

  • The overlay was silently missing the first WebSocket disconnect of a browser session. Root cause related to SoundManager's connection listener was self-removing.

  • *Scoped settings targeting: Settings per-scope are now spread and targeted, not just a complete config object anymore.

  • The write and clear operations in ScopedSettingsService now accept opts for targeting a specific user or device, enabling more granular control over which clients receive configuration changes.

  • Overriden options now display proper chips indicating the scope where the setting is being derived from.

  • Remote broadcast and config change handling: mechanism to broadcast a reload command to all connected devices and pages simultaneously.

  • Discard Changes button restores the panel to the last saved state


MSD: Design Dimensions & Attachment Fixes (fix #377)

Possible breaking changes

Troubleshooting issues as reported in (#377) identified several other internal issues related to legacy config schema refactoring and other changes.
If you used default attachment point references (not explicit), you may notice some misalignment after the update.
This is a one time change you may need to make to your MSD config to compensate. The underlying issue is that the default attachement point is center now and not top_left

This helps:

  • correct handling of design dimension values in MSD's AdvancedRenderer code. Dimensions are now resolved correctly in all layout modes
  • control overlay configuration and attachment logic refactored in ConfigProcessor; reduced coupling between overlay wiring and renderer internals
  • fix scaling of controls when the MSD size changes (ie. when adapting to window size changes, sidebar activation, etc.)

Other Fixes & Improvements

  • Animation recreation in TriggerManageron_entity_change-driven animations now correctly recreate rather than stack duplicate instances (report from Discord of animations not stopping when expected.)
  • Overlay scope cleanup — animation overlay scopes for buttons and sliders are now properly cleaned up when action handlers are torn down, preventing stale overlays after card removal
  • max_height / max_width resolution — fixed an edge case where size constraints were not applied when the value was provided as a number without units
  • Studio dialog button size: corrected a regression where filter and studio dialog buttons used the deprecated size="small" attribute (updated to size="s")
  • Canvas Background Color Resolution: Background animation effects that render to a canvas (textures, screen effects, scanlines, contour field) now apply the correct two-step color resolution: CSS variable lookup followed by ColorUtils.resolveCssVariable(). Previously, colors in canvas contexts could render as literal var(--lcars-...) strings rather than resolved colour values. All built-in background presets and the ScreenEffectManager have been updated.

Full Changelog: 2026.06.16.1...2026.07.01.0