Skip to content

Commit a8a3bfe

Browse files
committed
fix(release): ship the corrected HA floor in a tag, not just on main
5.2.0 declared "homeassistant": "2023.1.0" in hacs.json, which is the key HACS gates installation on: a user on 2023.1-2024.3 was allowed to install the integration and only then hit an ImportError, because config_flow.py imports ConfigFlowResult and HA added that symbol in 2024.4. The previous commit corrected hacs.json on main, which does not reach anyone. HACS reads hacs.json at the version it is considering, not from the default branch -- version_to_download() resolves to the latest release tag and async_get_hacs_json() fetches the file at that ref -- so the value that actually gates an install is the one inside the tag. Confirmed against the published files: main/hacs.json says 2024.4.0 while v5.2.0/hacs.json still said 2023.1.0. This patch release carries the correction inside the tag. Bumping manifest.json to 5.2.1 in the same release is not decoration: HACS compares the installed manifest version against the tag, so without the bump an existing 5.2.0 install would have no reason to re-fetch and would keep the bad gate.
1 parent 6472fd3 commit a8a3bfe

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

‎docs/DEVELOPMENT_NOTES.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,15 @@ at setup — an install error rather than a "needs a newer HA" message.
135135
A version floor written down twice drifts the same way the version number did.
136136
If you change one, change `hacs.json` and the README together.
137137

138+
**A metadata fix on `main` does not reach HACS users until it is in a tag.**
139+
HACS reads `hacs.json` *at the version it is considering*, not from the default
140+
branch: `version_to_download()` resolves to the latest release tag and
141+
`async_get_hacs_json()` fetches the file at that ref. Correcting `main` alone
142+
changes nothing for anyone — `raw.githubusercontent.com/.../main/hacs.json` and
143+
`.../v5.2.0/hacs.json` can disagree, and HACS only ever reads the second. Ship a
144+
patch release with the corrected metadata; raising `manifest.json` in the same
145+
release is what makes the existing install look stale enough to update.
146+
138147
## A non-finite vendor number is not a reading
139148

140149
`json.loads` accepts the bare `NaN` / `Infinity` / `-Infinity` literals, so a

‎manifest.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@
1818
"paho-mqtt>=1.6.0",
1919
"crcmod>=1.7"
2020
],
21-
"version": "5.2.0"
21+
"version": "5.2.1"
2222
}

0 commit comments

Comments
 (0)