What's Changed
- fix: correct preconditionning -> preconditioning typo in base.py [Jah-yee]
- Keep the stored config apart from the config entry data [Dirk Moeller]
- Never log the account credentials in failed request bodies [Veldkornet]
- Register the OTP code with the log filter [Dirk Moeller]
- Mask every car association returned by get_user_info [Dirk Moeller]
- Mask OTP key material and code in the OTP module's debug log [Dirk Moeller]
- Per-account rate limit windows and serialised OAuth refresh [David Alecrim]
- Hand the refreshed MQTT token to the running paho client [Dirk Moeller]
- Strip extra URL parameters from manually entered OAuth code [Dirk Moeller]
- Add an option to turn off MQTT live updates [Dirk Moeller]
- Show door, charging and preconditioning status live from MQTT events [Dirk Moeller]
- Feed MQTT vehicle events to the coordinator [Dirk Moeller]
- Parse Stellantis MQTT vehicle events [Dirk Moeller]
- Keep the account's options when re-authenticating [Dirk Moeller]
- Share one timestamp parser for the REST staleness check [Dirk Moeller]
- Log topic in MQTT subscribe callback [Dirk Moeller]
- Surface resp_data's per-command failure reason in command_status [Dirk Moeller]
- Show the vehicle's supported remote services in the diagnostics [Dirk Moeller]
- Add the German translation of the vehicle removed repair [Dirk Moeller]
- Keep the vehicle removed repair across restarts and clear it once the vehicle returns or is removed [Dirk Moeller]
- Add command_status labels for 506/507/902, sort text codes before numeric descending [Dirk Moeller]
- Add CONFIG_SCHEMA for config-entry-only setup [Dirk Moeller]
- Remove Pillow from manifest requirements (bundled by Home Assistant core) [Dirk Moeller]
- Stop the token refresh timers when setup fails with an auth error [Dirk Moeller]
- Updated Polish translation [Jordan87]
- Add files via upload [Jordan87]
- Compute remote commands and command pending sensor state on read [Dirk Moeller]
- Ignore a refused MQTT connect instead of treating it as connected [Dirk Moeller]
- Disconnect MQTT when Home Assistant stops [Dirk Moeller]
- Refresh command availability when MQTT connects or disconnects [Dirk Moeller]
- Card: guard against unpopulated hass.entities on initial load (#642) [dstosch]
- Update Spanish OAuth manual instructions in translation file [Eugeniu Stina]
- Register the vehicle card resource once in async_setup, deregister it when the last entry is removed [Dirk Moeller]
- Add a binary sensor mirroring pending_action for dashboards to style [Dirk Moeller]
- Reject a command while another is still in progress vehicle-side [Dirk Moeller]
- Mask exception messages logged as a raw log argument [Dirk Moeller]
- Log the request URL instead of aiohttp's yarl.URL so masking applies [Dirk Moeller]
- Fix get_otp_code treating every failed activation as a success [Dirk Moeller]
- Scope the MQTT 400-retry to its own command instead of the account's last request [Dirk Moeller]
- Remove do_async's unsafe wait=True default and guard against event-loop deadlock [Dirk Moeller]
- Add missing common notification translations for OAuth code and OTP reconfigure errors [Dirk Moeller]
- Fix diagnostics crash when the config entry is not loaded [Dirk Moeller]
- Fix reconfigure flow crash when entry is not loaded [Dirk Moeller]