What's Changed
- 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]
- 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]