Home Assistant 2026.10.0: new map, several breaking changes
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
fortogether with an attribute, a list of states, or a state from another entity now fails validation. - MQTT:
mqtt.publishandmqtt.dumpneed 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_pathfortelegram_bot.download_filemust be inallowlist_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' blockfrom the bundledrichlibrary. 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.