v2026.6.8 — Silver Quality Scale (partial)
Silver Quality Scale Progress 🥈
This release implements 9 of the 10 Silver IQS rules. Only test-coverage (>95%) remains.
New in this release
Reauthentication Flow
When an API key expires or is rotated, HA now automatically shows a "Re-authenticate" notification in the integrations panel. The re-auth form is pre-filled with the current key and updates both config_entry.data and the Application Credentials store on submit.
Supported providers: Trafiklab, RMV, NTA, VBN (OTP + TRIAS), openpublictransport.net, OTP2 Custom
Automatic detection: the coordinator now raises ConfigEntryAuthFailed when a provider returns HTTP 401 or 403 — no manual intervention needed to discover an expired key. Requires python-openpublictransport==0.1.4.
Action Exceptions
Service actions now raise proper HA exceptions instead of silently failing:
refresh_departures— raises if entity not foundplan_trip— raises if trip planning failscheck_delays— raises if entity not foundannounce_departure— raises on invalid entity or out-of-range index
Log When Unavailable
Coordinator logs once at WARNING when connectivity is lost and once at INFO when it recovers — no repeated log spam on consecutive failures.
Parallel Updates
PARALLEL_UPDATES = 0 on all coordinator-based platform files (correct value for DataUpdateCoordinator — the coordinator serializes updates).
PyPI Library Migration
Provider API code moved to the standalone python-openpublictransport PyPI library. No functional changes — all 28 providers work exactly as before.
Changes in v2026.6.7
- ~3,800 lines of bundled provider code removed —
providers/folder anddata_models.pydeleted from integration - Integration now imports from
python-openpublictransport - Cleaner integration codebase; provider updates can ship independently via PyPI
Bronze Quality Scale ✅
- Configurable entirely through the UI
- All entities have stable unique IDs,
has_entity_name = True - Runtime data via
ConfigEntry.runtime_data, services inasync_setup - Connection tested during config flow and on setup
- Branding assets served from
brand/ - Full config flow test coverage (96 tests)
- Documentation at docs.openpublictransport.net