Skip to content

2026-03-18 — Stable 2.40.5

2.40.5 is the stable checkpoint where the March 18 Home Assistant packaging and release-engineering changes finally lined up with the shipped runtime and docs.

Manual port overrides without breaking HA ingress

Section titled “Manual port overrides without breaking HA ingress”

Operators can now set top-level WEB_PORT and BASE_LISTEN_PORT overrides from the web UI, raw config, and Home Assistant add-on options.

In add-on mode the installed track keeps its fixed ingress port (8080 stable, 8081 RC, 8082 beta). Setting WEB_PORT opens an additional direct host-network listener only when it differs from that track default.

The add-on packaging now treats stable, rc, and beta as distinct install tracks with different defaults:

TrackDirectoryDefault ingressDefault player port baseStartup
Stableha-addon/80808928auto
RCha-addon-rc/80819028manual
Betaha-addon-beta/80829128manual

That makes it practical to keep stable on the main HAOS node while testing RC/Beta side by side. The caveat is operational, not technical: do not point multiple variants at the same Bluetooth speaker, adapter, or manually overridden port.

The Create GitHub Release workflow now treats CHANGELOG.md as the canonical release source:

  • resolve the target tag and channel
  • sync ha-addon/, ha-addon-rc/, and ha-addon-beta/ on main from the latest known channel tags
  • build the release body from the matching changelog section
  • append GitHub-generated notes only when they add useful context

This made release notes predictable again and kept HA packaging sync in the same release motion.

March 18 also clarified a long-standing source of confusion:

  • the installed track is the add-on variant you installed from the HA store
  • update_channel is only the bridge’s preferred lane for update checks and warning copy

Saving rc or beta in the UI no longer implies that Home Assistant has already switched the installed add-on.

Live HAOS validation also produced the fixes that rounded out the stable release:

  • album artwork stays on the active add-on origin through ingress
  • solo-player MA queue commands keep working even when syncgroup discovery is empty
  • optional manual add-on port overrides no longer fail Supervisor validation when left unset

2.40.5 was less about a single runtime feature and more about making the whole delivery story coherent:

  • the runtime, add-on manifests, and docs now describe the same track model
  • changelog entries now drive release narratives instead of being reconstructed after the fact
  • stable / RC / beta testing on one HAOS host is safer and easier to explain
  • operators have explicit port/track semantics instead of hidden Supervisor behavior

This entry is the baseline for later notes about Starlight doc refreshes, further add-on channel evolution, and the runtime architecture work that continues after the 2.40.5 stabilization wave.