Skip to content

Releases: snootched/lcards

2026.04.19.0

19 Apr 22:13

Choose a tag to compare

2026.04.19.0 Pre-release
Pre-release

Another smaller release that adds a few requested features, squashed some bugs, and improves upon overall reliability of some internals.

Templated Colour Configs

  • Adds template support to all state-based colour resolution keys. You can now use jinja2/js templates to evaluate and provide colours to fields like color.active color.default etc.
  • Entities used within the templates are automatically tracked for changes and re-evaluate automatically.
  • For manual addition to the tracked entities a new config key triggers_update is now provided. Simply provide a list of entities to add that will trigger re-evaluation. This is similar to the same config key in custom-button-card.
  • Thanks for reporting! (https://github.com/snootched/lcards/discussions/343)

Card Interactive Mode Selection

  • Ability to disable the interactive graphical elements of the card.
  • Disables on_hover animations and cursor changes (and also the ability to set a custom cursor)
  • Useful for using cards as part of non-interactive elements like panels, backgrounds etc.
  • Thanks for requesting! (https://github.com/snootched/lcards/discussions/343 #344)

Card Sizing updates

  • Card auto-sizing updates to better handle various scenarios
  • When using custom-layout-card, LCARdS will now calculate sizing and flow better (see docs for more details.)

Documentation

Huge documentation update:

  • better navigation and simpler flow to get up and running
  • content reogranized, pages updated/overhauled

Other Updates

  • (Slider) - update slider presets to standarize on theme tokens
  • (DeviceIdentityManager) - add graceful degradation for UUID generation when crypto functions are unavailable (non-SSL sessions)

Full Changelog: 2026.04.13.1...2026.04.19.0

๐Ÿ–– LCARdS 2026.04.13.1

13 Apr 21:26
0585bd6

Choose a tag to compare

A bit of a smaller release that fixes issues a couple frontend issues, and with a bit more focus on the backend/internals to help support future features/requests.

New Features

Elbow Card - Expanded Zone Definitions

Zone auto-calculation for elbow cards has been expanded with new configurations for L-corner (left and right) and open/contained presets. All standard zone names (vertical_bar, horizontal_bar, body, full, and layout-specific aliases like left_bar, right_bar) are now consistently defined across all elbow geometry variants. (#340)

Preview Features System

A new Preview Features toggle has been added to the LCARdS integration configuration (Settings โ†’ Devices & Services โ†’ LCARdS โ†’ Configure).

New features are already included in the release โ€” opting-in with this setting will surface their configuration across the UI so you can control them. Without it, the features operate behind the scenes with established defaults - you simply won't see the settings. To see which features are currently behind the gate - check the Preview Features section of the About tab in the LCARdS Config Panel.

Why a gate instead of a dev build?
Preview features are functional and tested, but their config schema or UI may shift before they are promoted to stable. The gate lets you opt in knowing that small breaking changes could arrive in a subsequent release.


Updates & Fixes

  • Fix (Animations): while-condition lifecycle handling corrected โ€” conditions now properly start/stop looping animations when the entity state changes without requiring a page reload. check_on_load now defaults to true, so a looping animation with a while condition activates immediately on card load if the condition is already met (#341)
  • Update (Config Panel): The Storage tab is now only shown to HA admin users. Non-admin users no longer see the backend storage explorer.

Preview Features

Per-Device & Per-User Settings

A new fully scoped-settings system for the backend is included in this release. This enables persistent storage with APIs for per-user/per-device settings. The first feature to utilize this new system is the Sound system.

Per-Device & Per-User Sound

Sound settings can be configured independently per browser session and per HA user. A wall-mounted kiosk can run at lower volume than a desktop; a specific user can disable sounds entirely without affecting anyone else. All of this is configurable centrally from the Config Panel โ€” no need to make changes from the target device.

Users & Devices Management

Each browser/device receives a stable unique identity that persists across page reloads. Devices can be given friendly display names ("Kitchen Tablet", "Bedroom Tablet") for easy to use referencing.

A new Users & Devices tab appears in the LCARdS Config Panel that provides a central view of all registered devices and users with stored scoped settings, and provides the ability to manage their overrides without needing to be on the target device.

Targeted HA Services

All lcards.* HA services (alert modes, clear alert, reload page, log level) can now be targeted at specific devices or users rather than broadcasting to all sessions. Four targeting fields are supported:

  • target_device_ids โ€” target by device/browser UUID
  • target_user_ids โ€” target by HA user ID
  • target_device_names โ€” target by friendly device name (case-insensitive, resolved server-side)
  • target_user_names โ€” target by HA user display name (case-insensitive, resolved server-side)

Omitting all fields broadcasts to everyone โ€” fully backward-compatible with existing automations.

Targeted Alert Modes

Alert modes (red/yellow/blue alert etc.) can now be triggered on individual devices or users without changing the global alert state. A red alert on the kitchen tablet doesn't affect any other screen, and clearing it stays local.

Full Changelog: 2026.04.11.2...2026.04.13.1

2026.04.13.0-dev3

13 Apr 20:58

Choose a tag to compare

2026.04.13.0-dev3 Pre-release
Pre-release
feat(previews): update version and enhance preview features in the UI

LCARdS 2026.04.11.2

11 Apr 21:51
f230e92

Choose a tag to compare

New Features

Image Support

Image support has been added to both card Textures and Backgrounds (#336)
You can configure images as layers, just like you do animations. Just like any layer, they can be stacked with the others, allowing for some interesting and creative visuals. Select builtin images from the asset library, or provide your own (served from a local Home Assistant or any URL)

image

Asset Library - Images - raster image type has been added to the Asset Library system, and some freely distributable images are included as a bultin content pack.

Text Zones - Icon Area Support

Text zones will now auto-calculate and respect icon areas (#335)
Now you can place text fields in the icon area (icon), in the body/content area (body), or anywhere on the full card (full):

image

Animations: on_entity_change trigger condition system

The on_entity_change animation trigger now supports three condition modes, turning it from a simple "fire on every change" event into a proper lifecycle-aware animation gate:

from_state / to_state - are single-use fire-and-forget guards. The animation only plays when the entity transitions from a specific state, to a specific state, or both. Great for one-shot effects like a flash when a light turns on.

while - ongoing lifecycle condition. Combined with loop: true, the animation starts automatically when the condition becomes true and stops itself when it clears. Perfect for looping alerts or indicators that should run exactly as long as a condition holds (e.g. blink while a switch is on, when there is a weather alert, etc.)

check_on_load: evaluates the condition against the entity's current state on card load, so a looping animation starts immediately if the condition is already met rather than waiting for the next state change.

attribute - any condition can target an attribute instead of the main state, including the virtual helper attribute brightness_pct which allows for checking light brightness based on percent.

vs. the Rules Engine: use on_entity_change conditions for animation-only, single-entity logic that lives entirely within one card's config. Use Rules for anything that needs to apply style patches (colors, borders) across multiple overlays or evaluate multi-entity compound conditions. For a simple "blink this button while active", the trigger conditions are less config than a full rule.

Updates & Fixes

  • Update: Card overflow: visible is honoured preventing clipped animations if the card is scaled outside its bounds.
  • Update: Sound System: remove browser localStorage fallback and only use the back-end storage via WebSocket to the integration.
  • Update: enabled virtual attriubute brightness_pct to be used available to all cards via the state resolution system. This allows to easily reference light brightness as a percentage [0..100] without the need of mapping the range [0..255]
  • Fix: Elbow card using frame preset now properly clips the texture layer to the shape (preventing overlap with content/background area)
  • Fix: RulesEngine - various fixes including streamlined entity management by removing cached entity list and utilizing live dependency index. Additional console debug commands added.
  • Fix: drag&drop in animations editor lists.
  • Fix: Animations: fixed regression for ease/easing parameter confusion. Fixed animation parameters for top-level config keys that were buried in the params object (and non-functional, like ease)

    Note: due to the nature of the bugs in the animation system and the required fixes - your animation configs may need to be updated. The editor will automatically fix the configs if you edit the animation and make a change to them (the edit fires the code that will write the fixed configurations.)

Full Changelog: 2026.04.1.1...2026.04.11.2

LCARdS 2026.04.6.1

06 Apr 22:11
50da6ca

Choose a tag to compare

Small fix release to fix card sizing issues when using height key in config (due to changes introduced in 2026.04.5.1)

  • fix: height resolution ordering (#333)
  • Fix double-registation in window.customCards

New Features

This is a smaller release with a few new features and fixes.

Updates & Fixes

Alert System: updated design to allow non-admin user functionality (#331)
Icons: introduced state-based icon selection in addition to colours (#330)
Elbow Card: fixed elbow card arc autosizing bugs (#327) (#319)
Symbiont: fixed issue where certain cards configured as symbionts were not always visible (HA lazy-loaded cards) (#323)
Button Card: fixed corner-radius clamping issue.

Card Sizing:

  • added min_height min_width parameters for custom sizing scenarios
  • fixed autosizing methodology for placement in dimensionless containers/fractional sizing (custom layout card, etc.)

release 2026.04.5.1 by @snootched in #332
Full Changelog: 2026.04.3.1...2026.04.5.1

LCARdS 2026.04.5.1

06 Apr 00:45
dd9e75c

Choose a tag to compare

New Features

This is a smaller release with a few new features and fixes.

Updates & Fixes

Alert System: updated design to allow non-admin user functionality (#331)
Icons: introduced state-based icon selection in addition to colours (#330)
Elbow Card: fixed elbow card arc autosizing bugs (#327) (#319)
Symbiont: fixed issue where certain cards configured as symbionts were not always visible (HA lazy-loaded cards) (#323)
Button Card: fixed corner-radius clamping issue.

Card Sizing:

  • added min_height min_width parameters for custom sizing scenarios
  • fixed autosizing methodology for placement in dimensionless containers/fractional sizing (custom layout card, etc.)

release 2026.04.5.1 by @snootched in #332
Full Changelog: 2026.04.3.1...2026.04.5.1

LCARdS 2026.04.3.1

03 Apr 19:44
f488d68

Choose a tag to compare

New Features

Text Fields & Zones

LCARdS now ships a full text + zone layout system across Button, Slider, and Elbow cards.

image

Auto-zones โ€” every card type automatically calculates named zones from its geometry (e.g. horizontal_bar / vertical_bar on an elbow, track on a slider, body on a button). No configuration required โ€” they're always there.

Text field routing โ€” any text field can target a zone by name with zone: <name>. Positioning, padding, and font sizing all operate within the zone bounds.

Proportional sizing โ€” font_size_percent: 100 makes cap-height glyphs fill the full zone height; pair with stretch: true to also fill the zone width. Both scale automatically as the card is resized.

Custom zones โ€” define additional zones under config.zones using pixels, percent, or a mix per axis. Custom zone names replace auto-calculated ones of the same name.

Debug overlay โ€” add debug_zones: true to any card to render a colour-coded zone overlay for layout design.

โ†’ Full announcement & examples: Text Fields & Zones โ€” LCARdS Dynamic and Customizable Text Layout System

State-based Slider Colours

Raised from issue #315 - the slider card has been updated with full state-based colour support across the components.

You can now:

  • assign any colour to any state (just like buttons, gauge ticks, etc.)
  • match-light colour for gradient start/end (active state)
  • optionally apply light brightness multiplier on each
  • independent colour selection for gradient start/end (inactive state)
  • filled/unfilled opacity still works (and is a multiplier if apply light brightness is also enabled)
  • state-based colours permit calculated colours as well (alpha() lighten() darken() saturate() desaturate() mix())

Updates & Fixes

  • enhancement: colour/hue matching for coloured bulbs in white mode #314
  • many small fixes and enhancements

Full Changelog: 2026.03.29.1...2026.04.3.1

2026.03.29.1

29 Mar 19:06
469c73f

Choose a tag to compare

LCARdS 2026.03.29.1

Installation via HACS (recommended)

  1. Open HACS โ†’ Integrations โ†’ โ‹ฎ โ†’ Custom repositories
  2. Add https://github.com/snootched/lcards โ€” category Integration
  3. Install LCARdS and restart Home Assistant
  4. Add the integration via Settings โ†’ Integrations โ†’ Add integration โ†’ LCARdS

Manual installation

  1. Download lcards.zip
  2. Extract into config/custom_components/lcards/
  3. Restart Home Assistant
  4. Add the integration via Settings โ†’ Integrations

What's Changed

  • feat: HACS integration Phase 2 โ€” storage, services, push channel + CI overhaul by @snootched in #296
  • fix: hassfest manifest compliance + CI hassfest validation job by @snootched in #297
  • fix: update version to 2026.03.27.1 by @snootched in #298
  • rel: 2026.3.28.1 Add new icons and update button preset configurations by @snootched in #299
  • ci: workflow_dispatch-only release; branch-aware prerelease detection by @snootched in #301
  • feat: slider state-based colours; text background sizing options by @snootched in #303
  • fix: add progress bar color configuration for gauge presets by @snootched in #305
  • Enhance slider functionality with dynamic ranges, colors, and updates by @snootched in #310

Full Changelog: 2026.03.28.2...2026.03.29.1

2026.03.28.2

28 Mar 20:31

Choose a tag to compare

LCARdS 2026.03.28.2

Installation via HACS (recommended)

  1. Open HACS โ†’ Integrations โ†’ โ‹ฎ โ†’ Custom repositories
  2. Add https://github.com/snootched/lcards โ€” category Integration
  3. Install LCARdS and restart Home Assistant
  4. Add the integration via Settings โ†’ Integrations โ†’ Add integration โ†’ LCARdS

Manual installation

  1. Download lcards.zip
  2. Extract into config/custom_components/lcards/
  3. Restart Home Assistant
  4. Add the integration via Settings โ†’ Integrations

Full Changelog: https://github.com/snootched/lcards/commits/2026.03.28.2

2026.03.27.1

27 Mar 21:06
26236f0

Choose a tag to compare

LCARdS 2026.03.27.1

Installation via HACS (recommended)

  1. Open HACS โ†’ Integrations โ†’ โ‹ฎ โ†’ Custom repositories
  2. Add https://github.com/snootched/lcards โ€” category Integration
  3. Install LCARdS and restart Home Assistant
  4. Add the integration via Settings โ†’ Integrations โ†’ Add integration โ†’ LCARdS

Manual installation

  1. Download lcards.zip
  2. Extract into config/custom_components/lcards/
  3. Restart Home Assistant
  4. Add the integration via Settings โ†’ Integrations

What's Changed

  • fix: hassfest manifest compliance + CI hassfest validation job by @snootched in #297
  • fix: update version to 2026.03.27.1 by @snootched in #298

Full Changelog: 2026.03.27...2026.03.27.1