Skip to content

v2.1.0 - Accessibility & Per-Item Overrides

Choose a tag to compare

@sxdjt sxdjt released this 26 Nov 05:29

What's New in v2.1.0

Added

  • Per-item show_last_changed override: Individual items can now override the global show_last_changed setting
  • Full accessibility support:
    • Keyboard navigation with Tab, Enter, and Space keys
    • ARIA labels and roles for screen readers
    • Focus indicators with visible outline
  • Long-press support: Hold any item for 500ms to open the more-info dialog
  • Unavailable state handling: Entities that are unavailable or unknown now display a grayed-out alert icon instead of being hidden
  • Error notifications: Failed service calls now show toast notifications with error details

Changed

  • Event handling: Switched to event delegation pattern for better performance (single event listeners instead of per-item)
  • DOM architecture: Styles and container are now created once and persisted, with only content updated on state changes
  • Smart state detection: Domain-aware logic for determining "on" state (covers check position, climate ignores "off", etc.)

Fixed

  • Icon alignment: Icons now properly align when mixing items with and without timestamps using visibility-based spacing
  • Render thrashing: Eliminated constant DOM recreation that caused flickering
  • State object access: Fixed bug where entity_id was incorrectly accessed from state object

Performance

  • Reduced re-renders through better component lifecycle management
  • Event delegation eliminates need to re-attach listeners on every render
  • Persistent style elements prevent CSS re-parsing

See CHANGELOG.md for complete version history.