v2.1.0 - Accessibility & Per-Item Overrides
What's New in v2.1.0
Added
- Per-item
show_last_changedoverride: Individual items can now override the globalshow_last_changedsetting - 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_idwas 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.