You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
[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.