Yes, that is an option for most users but consider the following:
new home assistant users that start from scratch may find themselves in a situation where an issue does not exist in a previous version of an addon(based on research in the community forums) but are unable to install that particular version due to not having a backup
many users run their installation on SBCs where limited storage space is a thing so they may not be able to keep too many backups at hand and by the time they realise that an old version of an addon would fix a particular issue (until a fix is released in a new version), the old backups may already be gone.
While I am lucky enough to be able to store years worth of backups and this is not an issue to me, I do think that having a user-friendly way for HA users to install any version of any addon regardless of their backup habits would be a great quality of life improvement for many HA fans out there.
Not really, as the data structure between versions can (and will change) between versions of add-ons.
This data is (in most cases) not exposed to the user, which will make it so that when you “downgrade” your data is invalid. In most cases, the application (add-on) will then wipe out the data and start over, making you lose everything it had, and even if you then “upgrade” to the version you had, that data is lost forever.
Sure, adding a “version” field could be nice, but it has implications that most will not think of or consider when suggesting adding a “simple” thing like that.
This is why the backup is preselected when you do upgrades, as backups are the way to go back.
If you really, really, really need a different version and you do not care about the data, you can use any version of any add-on by placing it in the local addon directory with the version modification you want on it.
I agree with that and that’s why it is under the responsability of the user. If semver major release have been installed, a user should not go back with a previous major release. Like for all HACS integration and like for all software update generaly speaking.
As you bring up HACS, (as the creator of that)I can tell you that adding that possibility there was a big mistake on my part and the data issues I explained above have happened multiple times because of it.
This feature save my life so many times (to patch things that the integration team will not patch in core directory). That is not a mistake but a must for me.
I agree this should be done only, at last solution and if you understand what you are doing (and respecting semver at minima).
Thank you for all the explanation, I will try that this week-end.
Have a nice year @ludeeus ! (I love your work on HACS as an integration developper)
Finally I will not do what is proposed here. Installing an addon in parallel of the official one seems a bad idea in many case. If the addon have some db or some data generally speaking, I suspect it may cause corruption.
So the initial request is still valid: have the possibility to select the release of the addon to be installed.
It will cause problems, which is why I specifically mentioned that.
If you really, really, really need a different version and you do not care about the data, you can use any version of any add-on by placing it in the local addon directory with the version modification you want on it.
I understand but this is the price to pay for having this feature which can “save the life” of the user in some weird cases. Maybe warning the user is necessary for such a feature.