Home Assistant 2026.10.0: new map, several breaking changes

released
lab run
upgraded from
2026.9.4
guest
Ubuntu 26.04 VM
tested
yes, in our lab

Summary

2026.10 replaces the map with OpenStreetMap vector tiles, adds a dark map style and a Map dashboard overview with People, Devices and Zones tabs. The profile page is regrouped, and every user can now edit their own name and picture. There is a new “Triggered by” condition for automations, 15 new integrations, a Modbus connections panel and a one-click setup for connecting AI apps through the Model Context Protocol.

Home Assistant Cloud is planned to be renamed Home Assistant Link in the December release. The service stays the same.

Breaking changes and deprecations

The following is reported in the release blog post. We did not test these.

  • Authentication: the legacy mode of the auth provider is removed. Usernames must be lowercase with no leading or trailing spaces.
  • State conditions: using for together with an attribute, a list of states, or a state from another entity now fails validation.
  • MQTT: mqtt.publish and mqtt.dump need an administrator account (automations and scripts on their own triggers are unaffected).
  • Synology DSM: reboot and shutdown actions need an administrator account.
  • Telegram bot: a directory_path for telegram_bot.download_file must be in allowlist_external_dirs.
  • Removed or disabled: Linode and Tank Utility no longer start.
  • Renamed or changed sensors: easyEnergy, EnergyZero (period sensors lose their unit), IoTaWatt (VAR becomes var, a repair updates statistics), OpenEVSE (fixed snake_case states), Proxmox VE (Uptime is now a start timestamp), Sofar (six energy sensors removed for inverters without a meter), Xbox (Game Pass binary sensor removed), EnergyFlip (new API, only the current power sensor remains).
  • Other integrations: Mealie 3.2+ required; Libre Hardware Monitor older than 0.9.5 unsupported; Rejseplanen needs an API key and UI setup; UpCloud always polls every 60 seconds; Google Sheets returns {"range": [[]]} for an empty worksheet; UniFi Network no longer accepts re-adding the same site (use Reconfigure); Teslemetry streaming vehicles lose polling-only entities.

Tested in our lab

We ran Home Assistant Container in Docker on a fresh Ubuntu VM. We installed the 2026.9 image (it resolved to 2026.9.4), created the first user through onboarding, then stopped and removed the container and started 2026.10.0 on the same /config volume.

  • Version after upgrade: 2026.10.0.
  • The web server answered (HTTP 302 on /, as expected for an onboarding-state instance).
  • The user created before the upgrade was still in the auth store, and onboarding status still showed the user step as done.
  • The container stayed up.
  • Logs showed one warning: a SyntaxWarning: 'return' in a 'finally' block from the bundled rich library. We did not check whether 2026.9.4 prints it too.

Limits of this test: the instance was brand new, with no integrations, devices, automations, MQTT broker or add-ons. We did not test any of the breaking changes above, the new map, or Home Assistant OS or Supervised installs.

Lab log

$ docker run -d --name homeassistant --restart=unless-stopped -v /opt/ha:/config -p 8123:8123 ghcr.io/home-assistant/home-assistant:2026.9
$ docker exec homeassistant python3 -c "import homeassistant.const as c;print(c.__version__)"
2026.9.4
$ docker stop homeassistant && docker rm homeassistant
homeassistant
homeassistant
$ docker run -d --name homeassistant --restart=unless-stopped -v /opt/ha:/config -p 8123:8123 ghcr.io/home-assistant/home-assistant:2026.10.0
$ curl -s -o /dev/null -w "%{http_code}\n" localhost:8123/
302
$ curl -s localhost:8123/api/onboarding
[{"step":"user","done":true},{"step":"core_config","done":false},{"step":"analytics","done":false},{"step":"integration","done":false}]
$ docker exec homeassistant python3 -c "import homeassistant.const as c;print(c.__version__)"
2026.10.0
$ docker logs homeassistant 2>&1 | grep -iE "error|warn" | head -15
2026-10-31 19:40:20.454 WARNING (ImportExecutor_0) [py.warnings] /usr/local/lib/python3.14/site-packages/rich/segment.py:547: SyntaxWarning: 'return' in a 'finally' block
$ docker ps --format "{{.Status}}"
Up About a minute

Reported by others

We did not review issue trackers or forums for this release. The only reports here come from the official release notes, listed above.

Verdict

The upgrade itself worked in our small test, but the lab instance had no integrations, so it says little about yours. This release has a long list of breaking changes. Before upgrading, check it against the integrations you use (MQTT, Synology DSM, Telegram, energy price sensors, usernames with capitals) and take a backup. If none of them apply, upgrading is reasonable.

sources