Skip to content

v1.1.9 - 2026-07-22

Latest

Choose a tag to compare

@dale-sharp dale-sharp released this 22 Jul 11:53
ea11bd9

[1.1.9] - 2026-07-22

Changed

  • Migrated the toolchain (devcontainer, ruff, ty, requires-python) from Python
    3.13 to 3.14, and removed requires-python's upper bound entirely. Home Assistant
    core dropped Python 3.13 support in its recent releases, which had silently frozen
    this repo's homeassistant/pytest-homeassistant-custom-component/aiohttp
    Dependabot updates for roughly 5 months — no update PR for that group had been
    possible since the version cap made every newer release mathematically
    unresolvable. Matches the devcontainer/requires-python-only precedent set by #25.
  • ruff format now emits Python 3.14's PEP 758 unparenthesized multi-exception
    except syntax (e.g. except ValueError, TypeError:), applied automatically to
    api.py and config_flow.py by the target-version = "py314" bump. Verified this
    syntax is valid and correctly behaves as expected under Python 3.14.6 before
    accepting the change — it's new syntax added by PEP 758, not the removed Python 2
    form it superficially resembles.

[1.1.8] - 2026-07-22

Fixed

  • Fixed #43: config entry uniqueness detection for the SAFPIS subscriber token is now
    case-insensitive. Re-entering the same token with different letter casing is now
    correctly caught as a duplicate (during initial setup) or the same account (during
    reconfigure), instead of silently creating a redundant second config entry. Found by
    the adversarial Quality Scale re-review in #40.

[1.1.7] - 2026-07-22

Added

  • Fixed #31: a Home Assistant repair issue is now raised after 3 consecutive
    SAFPIS API fetch failures, and automatically cleared on the next successful
    update. The issue is scoped per config entry (supports multiple SAFPIS
    accounts) and names the affected entry in its description. Authentication
    failures are excluded — those already trigger Home Assistant's own reauth
    flow.

[1.1.6] - 2026-07-22

Changed

  • Split coordinator.py into api.py (data models SiteDetail/SitePrice/SAFuelData
    and the SAFuelAPIClient HTTP client) and a trimmed coordinator.py
    (SAFuelDataCoordinator only), matching free-games-homeassistant's own module
    boundary. No behavior change — pure internal reorganization.

[1.1.5] - 2026-07-22

Fixed

  • Fixed #25: a Linux-only test teardown TypeError in the DNS-resolver mock, caused by
    native Windows dev silently testing against a ~1-year-stale homeassistant release (a
    Python-3.13.2 resolution-fork threshold kept Windows on 2025.4.4 while CI/devcontainer
    already tracked current). Root-caused by dropping native-Windows dev/test support
    entirely — the devcontainer is now the only supported path, matching the same decision
    already made in the sibling free-games-homeassistant repo.

Changed

  • Removed the pymicro-vad/pyspeex-noise Windows-only dependency override and narrowed
    requires-python to >=3.13.2,<3.14 (matching the devcontainer's actual Python version);
    uv.lock now resolves a single, unforked homeassistant version everywhere.
  • Simplified tests/conftest.py's event-loop/DNS-resolver fixtures — removed all
    Windows-specific branching, no longer needed.