Home Assistant releases monthly, and each release can change or remove things you rely on.
Before updating
- Read the release announcement's "Backward-incompatible changes" section. Search it for the integrations you use. Removed entities, renamed options and new permission requirements are listed there.
- Back up. Enable "back up automatically before updating" as the default. On big installs the backup delays the update start, so don't cancel it thinking the update hangs.
- Check custom integrations. Installed from HACS or by hand, they aren't part of Home Assistant's release testing. Look at each one's issue tracker and releases for the new version. The LocalTuya community item is a real example of breakage after updates.
- Skipping many releases at once makes the list of breaking changes long. Updating regularly keeps each step small.
If it breaks
- Recovery mode. When Home Assistant can't start normally (YAML error, missing include, backward-incompatible config after an update, corrupted storage), it starts with only a minimal set of system integrations (frontend, backup, cloud). Your integrations, custom integrations, automations and scripts stay off, but the UI and backups are reachable, so you can fix the config or restore.
- Roll back by restoring the pre-update backup.
- Isolate custom code. Disable custom integrations one by one to find the culprit.
Custom integration hygiene
- Prefer integrations that are maintained (recent releases, answered issues) and that declare a proper
versioninmanifest.json(required for custom integrations). - Fewer custom integrations mean fewer update surprises. Check whether an official integration or ESPHome/MQTT covers the device first.