What's Changed
- Parallelize multi-arch Docker builds with reusable workflow by @nanomad in #413
- Bump all GitHub Actions to Node 24 by @nanomad in #414
- Replace pmeier/pytest-results-action with mikepenz/action-junit-report by @nanomad in #415
- chore: add Python 3.14 support by @nanomad in #416
- chore: update dev dependencies (ruff, pytest, pylint) by @nanomad in #417
- fix: improve HA discovery sensor configurations by @nanomad in #418
- fix: add max-page guard to alarm message fetching loop by @nanomad in #420
- fix: improve ABRP and OsmAnd integration error handling and cleanup by @nanomad in #421
- fix: use maxsplit=1 in string split operations by @nanomad in #422
- fix: standardize on UTC-aware datetimes in vehicle.py by @nanomad in #423
- fix: miscellaneous code quality and test fixes by @nanomad in #424
- feat: add SoC timestamp support for openWB by @nanomad in #425
- feat: energy-based vehicle refresh for openWB by @nanomad in #426
- fix: reject vehicle status updates with bogus timestamps by @nanomad in #427
- fix: skip partial mileage values that exceed total mileage by @nanomad in #428
- docs: add local setup guide and CONTRIBUTING.md by @nanomad in #429
- feat: add polling phase visibility and charging_detection refresh mode by @nanomad in #430
- fix: reset shutdown grace period when significant charging stops by @nanomad in #431
Full Changelog: 0.10.0...0.11.0-rc2