Skip to content

LCARdS 2026.10.0 ​

In testingBreaking changesDev builds on GitHub

Not released yet

These notes cover the dev builds of the next release and grow with each one. Dev builds are pre-releases on GitHub; install them only if you want to help test.

A big one. The chart and data grid cards are rebuilt from the ground up, every studio and Main Engineering panel now shares one look, and dashboards download a fraction of what they did. LCARdS now needs Home Assistant 2026.10.

  • Charts rebuilt: history, long-term statistics and data sources in one sources: list, time spans and grouping like apexcharts-card, and ApexCharts 7.
  • Data grid rebuilt: conditional cell colours, header rows, tap actions and change highlights.
  • Main Engineering and the studios: one consistent look, a live processor preview for data sources, a new template sandbox and a provenance inspector that shows where every value comes from.
  • Colours that behave the same everywhere: every colour format works in every card, and alert modes recolour all of it at once.
  • Faster: dashboards download about 420 KB instead of the whole 9 MB bundle; editors and the config panel load only when you open them.
  • Help when something breaks: a health check and a prefilled bug report in the config panel.
  • Docs you can play with: live cards, galleries and playgrounds on the docs site, and this new Releases section.

Before you update ​

  • Home Assistant 2026.10 or newer is required. On older versions the integration logs an error and does not load. Update Home Assistant first.
  • Older chart and data grid configs keep working. They are converted in memory on your dashboard; nothing is saved. When you open one in the card editor, it shows the converted config and a notice: press Save to keep it, Cancel to leave your config as it was. See the chart and data grid upgrade pages for what changes.
  • Rules: a plain-text condition: no longer matches. A condition such as condition: light.desk is on (no [[[ ]]] or {{ }}) used to count as true for every state. It now never matches and logs a warning. Wrap it as JavaScript or Jinja2; see rule conditions.
  • Rules: priority on cards now works the documented way round. Rules set on a card used to apply lower priority last, so it won. Now the higher priority wins, as the rules docs say. If you tuned priorities to get the result you wanted, check them.
  • Rules: apply.profiles is retired. It never had an effect; the editor now warns about it. Remove it from your rules.
  • Elbow: a single segment.color value now applies. A plain colour (rather than a per-state map) was ignored and the theme colour showed instead. Elbows with one colour set will now show it.
  • Data sources: the snake_case timing keys now apply. window_seconds, min_emit_ms, coalesce_ms, max_delay_ms and emit_on_same_value (what the data source editor writes) were ignored before. If you set them, your sources now update on that timing.

New features ​

Charts, rebuilt ​

Every series now lives in one sources: list, and each entry says where its data comes from: an entity's history, its long-term statistics, or an LCARdS data source.

An area chart of two temperature sensors over 24 hours
yaml
type: custom:lcards-chart
chart_type: line
graph_span: 24h
sources:
  - entity: sensor.outdoor_temperature
    name: Outside
  - entity: sensor.indoor_temperature
    statistics: { type: mean, period: hour }
    name: Inside (hourly)
  • Time like apexcharts-card: graph_span, span start, end and offset, and group_by (average, min, max, sum, median, delta and more, plus min/max bands, box plots and candlesticks).
  • Several y axes, per-series units, precision, colours, line style and chart type.
  • No point cap: charts fed by data sources were limited to 1000 points.
  • Pie, donut, gauge, radar and treemap charts now plot each series' latest value, so they render properly.
  • ApexCharts 7, loaded only on pages that show a chart.
  • Chart Studio: a new Time and axes section, a YAML tab with completion, and data source management inside the studio.
Chart Studio with the series editor and a live preview

Coming from apexcharts-card? The upgrade page maps its options. Full details in Series and time, and try it in the chart playground.

Data grid, rebuilt ​

  • Conditional cell colours: colour a cell by its value or state.
  • Header rows, tap actions on cells, column formats and a refresh_cells option.
  • Change highlights: highlight_changes flashes cells when their value changes.
  • Template and data source cells refresh reliably, and the Data Grid Studio adds, inserts and deletes columns correctly.
A data grid with a header row and cells coloured by state

See Data and Styling, or the data grid playground.

Main Engineering and the studios ​

Every studio (Chart, Data Grid, Layout, MSD, data sources, templates, provenance) now uses the same layout: tabs on the left, a live preview beside them, short help and the same buttons in the footer. Longer explanations sit in collapsible guides.

  • Data sources: a live preview runs your processors over the entity's real history and charts the result against the raw values. Processors are edited inline, in the order they run. "Use in a chart" copies a ready chart config for the source.
Data source dialog: two smoothing processors previewed against the raw history - **Templates:** each field with a template shows its live result. The new sandbox has completion for entities, attributes, data sources and theme tokens, test values and "Save to field". Template sandbox with a Jinja2 template, its result and the entities it used - **Rules:** this card's rules edit as YAML with completion; new rules show at once, and edited ones say when a refresh is needed. - **Provenance:** pick any field to see how it got its value: your config, presets, theme tokens, templates and rules applying now. It updates live. Provenance inspector tracing a background colour to a theme token - **Theme:** the tokens this card uses, with their values, and links to the Theme Studio. - **Schema help in every YAML tab:** completion, hover descriptions, an "Options here" panel and links to the docs.

See Main Engineering.

Support and system info ​

The config panel's Welcome tab now has a health check: Home Assistant version, frontend and integration versions matching, card-mod or UIX setup, leftover resources, the HA-LCARS theme and safe mode, each with a fix. Report an issue opens GitHub's bug form already filled in with your system info; you see exactly what is shared before you submit. See Getting help.

The Support and system info health check

Slider: drag value badge ​

While you drag a slider, a small badge follows your finger with the value it will set, like Home Assistant's own sliders. Colours, size, number format and how it fades out are configurable. See Drag value badge.

Live docs ​

The docs now render real LCARdS cards. Examples for buttons, elbows, sliders, select menus, charts and data grids are live; card pages have galleries of every preset and style; each card has a playground with completion and Copy YAML; and the processor reference runs each processor over sample data.

Improvements ​

  • Colours, one set of rules: every colour field in every card accepts the same formats: hex, any CSS colour name, rgb() and hsl() in comma or space syntax, oklch(), color-mix(), CSS variables, theme tokens and the colour functions (alpha, darken, lighten, saturate, desaturate, mix, base). Functions nest, such as alpha(darken(var(--lcards-orange), 0.2), 0.5), and a plain colour works the same as a state map. See Colours.
  • Alert modes recolour everything at once: cards repaint while the alert transition is still running, so the new palette is already there when it clears. That includes charts, MSD lines and shapes, data grid cascades and background animations, which used to keep the old colours until something redrew them.
  • base() everywhere: alert-proof colours now also work in animation and effect settings.
  • Faster dashboards: about 420 KB to download instead of the whole 9 MB bundle. Card editors, the config panel and the Theme Studio load when you open them, and the files are served compressed.
  • Dialogs inside Home Assistant: entity pickers and other HA controls in LCARdS dialogs work again (for example "New from Entity" in the Chart Studio).
  • Overlays: cards shown in alert, connection or portal overlays stay live on pages without LCARdS cards, and their actions (more-info and so on) reach Home Assistant.
  • Layout view: rows collapse for every kind of visibility condition set in HA's Visibility tab, and no longer recalculate on every state change.
  • Data sources load history at full resolution first (hourly statistics only when there is none), and wait for Home Assistant before loading on a cold start.
  • No emoji or em dashes in the editors; messages are shorter and use Home Assistant's own dialogs.

Fixes ​

All fixes
  • Button: colour animations on the button background and border now play (#401).
  • Rules: rules on a card stopped applying after Home Assistant moved the card (edit mode, layout changes, navigation); entity_attr conditions never matched; JavaScript conditions read the previous state; JavaScript and Jinja2 conditions didn't react to their entities; condition: | blocks broke JavaScript parsing.
  • Templates: inline {theme:...} tokens rendered empty; a label mixing {token} and {{ jinja }} lost the Jinja2 part.
  • Charts: month names were garbled ("May" became "5ay"); custom tooltips were invisible; gradients, legend and label font sizes and annotation colours were ignored; long decimals on the y axis; statistics charts squeezed every column to a hairline; charts stopped after leaving and returning to a view.
  • Data sources: statistics and smoothing ignored input_source; an expression listed before its sources read nothing; attribute: state series were empty; new sources from the editor found no history.
  • Data grid: card size errors, cells escaped twice, animations leaking after the card was removed.
  • Slider: units for lights, covers, fans, humidifiers and valves default to %, and units show for non-numeric entities.
  • Layout card: the Layout Studio's grid tools were missing on a fresh page.
  • Colours: a new slider or button reported false "Format validation failed" warnings; mix() colours were flagged as invalid; nested colour functions (including the documented alpha(base(...))) and theme tokens inside a function did not work; a colour function written as a plain value reached charts unevaluated; theme:darken(...) in card config was never evaluated; darken(), lighten() and saturate() dropped transparency; base() followed the alert for theme colours defined with color-mix() or a colour name.
  • Validation: chart series names with a dot (such as statistics.min) were reported as missing entities.
  • Shape textures: a colour template could not return a colour function or theme token, and match-light only worked for color.
  • Editors: several icon buttons had no icon, and colour chips showed as deselected when re-clicked.