Skip to content

V1.7

Pre-release
Pre-release

Choose a tag to compare

@BSkando BSkando released this 30 Nov 20:23
f690386

πŸš€ Additional Features & Architectural Changes

πŸ—οΈ Config Subentry Architecture

  • Subentry Pattern Implementation: Transititioned the internal architecture to use a ConfigSubentry pattern (#209, #353). This allows for granular management of individual devices (Trackers) and the Service itself within a single parent Config Entry.
  • Subentry Flows: Added specific config flows for managing subentries, including device selection and options handling (#212, #353).
  • Self-Healing & Deduplication: Implemented logic to prevent duplicate subentries and automatically heal/link orphaned devices to the correct service anchor (#419, #432).

☁️ Discovery & Automation

  • Cloud Discovery: Added support for cloud discovery triggers. The integration can now automatically detect when new trackers are added to the Google account and prompt to register them in Home Assistant (#244, #271).
  • Discovery Runtime: Implemented the underlying runtime to handle discovery signals and metadata (#245).

πŸŽ›οΈ UI & Entities

  • Stop Sound Button: Added a dedicated "Stop Sound" button entity (and service) to explicitly stop ringing devices (#49).
  • Nova Auth Sensor: Added a specific binary sensor to surface the immediate authentication status of the Nova API (#149, #156).
  • Contributor Mode: Added and localized specific options for "Contributor Mode" to assist with advanced debugging (#663).
  • Activity Health Tracking: Implemented activity-based health tracking specifically for FCM (Firebase) clients to detect stalled connections (#708).

⚑ Performance & Quality of Life

  • Lazy Loading: Significantly improved startup time and event-loop stability by lazy-loading heavy dependencies:
    • Recorder history fallback (#706)
    • Protobuf decoders (#705)
    • http_ece encryption modules (#705)
    • Chromedriver dependencies (#599)
  • Strict Typing & Linting: Enforced strict mypy typing across the codebase (Coordinators, API helpers) and added Semgrep SAST workflows for higher code quality (#265, #624, #215).

πŸ› Specific Bug Fixes

  • History & Timestamps:
    • Fixed Recorder history to respect the last_seen timestamp from the device rather than the Home Assistant state-change timestamp. This ensures historical maps reflect the actual time the device was at a location, not when HA received the update (#163, #165, #167).
    • Fixed datetime handling to strictly use UTC and ISO strings, resolving future deprecation warnings (#160, #184).
  • Map View Rendering:
    • Fixed HTML escaping issues within the Map View entity (#182).
    • Fixed last_seen parsing specifically for Map View ISO formats (#162).
  • Data Accuracy:
    • Fixed altitude-only updates being dropped if coordinates hadn't changed (#148).
    • Prioritized fresher decoder location reports over cached data to prevent "rubber-banding" logic (#146).
  • Notifications:
    • Fixed GCM sender fallback logic when receiving HTML responses instead of JSON (#172).

HUGE thanks to @jleinenbach for this release!