Skip to content

v2026.4.0

Choose a tag to compare

@Barma-lej Barma-lej released this 10 Apr 16:50

🚀 What's New in 2026.4.0

This release drops support for Landroid Cloud 6 and fully migrates to
Landroid Cloud 7 (HA integration lawn_mower). The card has been
significantly reworked under the hood for better performance and reliability.


✨ UI & Visual Editor

  • Entity reordering in the visual editor — drag & drop to change order
    of entities in Info, Statistics, Battery and Settings cards
  • Auto-discovery of Settings entities — entities with config category
    are picked up automatically, no manual config needed
  • Error state is now shown directly in the status line (highlighted in red)
  • Status line extended: shows rain delay countdown, next schedule time,
    active zone, party mode and lock mode — all in one place
  • French translation updated (thanks @JBa-5176)

⚙️ Actions (new format for shortcuts & toolbar)

Shortcuts now use standard HA action objects instead of service/service_data:

# OLD (Landroid Cloud 6 / v1.x)
shortcuts:
  - name: Zone 1
    service: landroid_cloud.set_zone
    service_data:
      zone: 1

# NEW (2026.4.0)
shortcuts:
  - name: Zone 1
    action:
      action: perform-action
      perform_action: landroid_cloud.set_zone
      data:
        zone: 1

Supported action types: perform-action, navigate, url, more-info.


🔧 Performance

  • Entity lists, device entities and patched state objects are now cached —
    no redundant recalculations on every render
  • shouldUpdate optimized — re-renders only when relevant state changes

💥 Breaking Changes

What changed Old New
HA integration landroid_cloud (platform) lawn_mower (entity domain)
Main entity sensor.xxx / vacuum.xxx lawn_mower.xxx
settings key settings: settings_card: (settings still works as fallback)
Shortcuts format service + service_data action object (see above)

🔄 Migrating from Landroid Cloud 6

  1. Update Landroid Cloud integration to v7+
  2. In your card config replace the entity:
    # before
    entity: vacuum.my_mower
    # after
    entity: lawn_mower.my_mower
  3. Rename settings:settings_card: (optional, old key still works)
  4. Update shortcuts to new action format (see above)
  5. Remove any manual info_card / battery_card / statistics_card entity
    lists — they are now auto-discovered from the device

ℹ️ If your shortcuts were working before without changes, they remain
backward-compatible — old service/service_data format still works.

What's Changed

  • feat: add 'show_edgecut' option to display edgecut button in toolbar by @Barma-lej in #585
  • chore: update CHANGELOG for version 1.2.6 with new features and dependency updates by @Barma-lej in #586
  • feat: add overflow clip style to enhance layout handling by @Barma-lej in #589
  • chore: update dependencies and devDependencies in package.json by @Barma-lej in #606
  • fix: update attribute access to use optional chaining for safer property retrieval by @Barma-lej in #618
  • chore: update dependencies and devDependencies in package.json by @Barma-lej in #619
  • refactor: streamline terser configuration and ensure serve options are applied correctly by @Barma-lej in #622
  • fix: update translation strings to remove "(Optional)" from image size descriptions by @Barma-lej in #623
  • refactor: replace ha-select with ha-selector for improved entity selection and layout adjustments by @Barma-lej in #625
  • refactor: replace ha-formfield with ha-selector for improved configuration handling and layout adjustments by @Barma-lej in #626
  • refactor: remove ha-formfield styles and update ha-select to ha-selector for consistency by @Barma-lej in #627
  • refactor: update state determination logic to use SENSOR_WIFI_SUFFIX constant for improved clarity by @Barma-lej in #628
  • refactor: update state determination logic to use SENSOR_WIFI_SUFFIX constant for improved clarity by @Barma-lej in #629
  • Refactor card entity management for clarity and consistency by @Barma-lej in #630
  • chore: update dependencies and devDependencies in package.json by @Barma-lej in #631
  • Refactor landroid-card.js to remove unused imports by @Barma-lej in #632
  • Refactor language handling logic and improve documentation clarity by @Barma-lej in #633
  • refactor: update entity assignment logic in setConfig for improved handling by @Barma-lej in #634
  • refactor: simplify language retrieval logic in localize function by @Barma-lej in #635
  • refactor: extract MOWER_ENTITY_DOMAINS constant for improved clarity and reuse by @Barma-lej in #636
  • refactor: improve isObject function for better accuracy in object detection by @Barma-lej in #637
  • New Crowdin updates by @Barma-lej in #624
  • New Crowdin updates by @Barma-lej in #638
  • Dev by @Barma-lej in #639
  • Add _entityIds property and update cache on config change in LandroidCard by @Barma-lej in #640
  • Refactor entity ID retrieval method to improve clarity and efficiency by @Barma-lej in #641
  • Enhance service call error handling and improve hui card element caching by @Barma-lej in #642
  • Remove unused constants and commented-out code in constants.js by @Barma-lej in #643
  • Add lc-button, lc-stats, and lc-toolbar components for enhanced UI functionality by @Barma-lej in #645
  • Refactor lc-stats component styles and structure for improved layout and readability by @Barma-lej in #646
  • Refactor lc-stats component styles for improved layout and consistency by @Barma-lej in #647
  • Add active tab management and enhance UI with new entity picker and styling by @Barma-lej in #648
  • Enhance LandroidCardEditor with default entity handling and improved settings management by @Barma-lej in #650
  • Fix SENSOR_WIFI_SUFFIX comment for clarity by @Barma-lej in #651
  • Add missing translations for editor tab keys by @Barma-lej in #652
  • New Crowdin updates by @Barma-lej in #653
  • i18n(sl): translate missing keys and add tab keys by @Barma-lej in #654
  • Improve README formatting and clarity, add emojis for better readability by @Barma-lej in #655
  • Add support for auto-release on dev branch in workflow by @Barma-lej in #656
  • Add beta pre-release workflow and update version number by @Barma-lej in #657
  • Remove 'dist/' from .gitignore to allow tracking of built files by @Barma-lej in #658
  • Update version to 2026.4.0-beta.1 in package-lock.json by @Barma-lej in #659
  • Remove prerelease flag from beta pre-release job in autorelease.yml by @Barma-lej in #660
  • Update French translations for editor labels by @JBa-5176 in #661
  • Enhance layout handling and update translations for editor labels by @Barma-lej in #663
  • Fix French translation for show_animation key in fr.json Remove '' by @Barma-lej in #665
  • Fix: Extra keys not allowed @ data['action'] Actions not allowed by @Barma-lej in #666
  • Beta: 2026.04.0-beta.2 by @Barma-lej in #667
  • Remove unused serve options from Rollup configuration by @Barma-lej in #668
  • build: replace del with rimraf in build script by @Barma-lej in #671
  • docs(changelog): add CalVer release entry by @Barma-lej in #672
  • fix(wifi): correct wifi strength function name by @Barma-lej in #673
  • fix(localize): replace only when search and replace undefined by @Barma-lej in #674
  • refactor(localize): drop unused language imports by @Barma-lej in #675
  • Migrate from settings to settings_card by @Barma-lej in #677
  • Choose entities for Settings Card from configuration category by @Barma-lej in #678
  • refactor(card): replace entity suffixes with translation_key by @Barma-lej in #679
  • refactor(editor): simplify entity list handling by @Barma-lej in #680
  • refactor(editor): simplify default entity handling by @Barma-lej in #681
  • refactor(editor): use firstUpdated to set _firstRendered by @Barma-lej in #682
  • Format by @Barma-lej in #683
  • Add ability to change entity order in visual editor by @Barma-lej in #684
  • feat(ui): add Home Assistant action support by @Barma-lej in #685
  • fix(card): ignore invalid next schedule dates by @Barma-lej in #686
  • refactor(card): cache device entities for lookup by @Barma-lej in #687
  • refactor(card): streamline shouldUpdate entity by @Barma-lej in #688
  • refactor(card): remove unused associatedEntities by @Barma-lej in #689
  • perf(card): cache card entities calculation by @Barma-lej in #690
  • perf(settings): cache settings card entity list by @Barma-lej in #691
  • refactor(card): simplify friendly_name handling by @Barma-lej in #692
  • perf(card): cache patched state objects by @Barma-lej in #693
  • fix(card): correct entity handling in status by @Barma-lej in #694
  • feat(card): display error sensor state in status by @Barma-lej in #695
  • chore: bump to 2026.4.0-beta.3 by @Barma-lej in #696
  • chore(release): add node script for version bump by @Barma-lej in #697
  • fix(lc-stats): render fallback when template undefined by @Barma-lej in #698
  • chore(release): improve release script handling by @Barma-lej in #699

New Contributors

Full Changelog: 1.2.6...v2026.4.0