Use-case: Me and many of my friends program HA with our own YAML. We typically don’t upgrade for months, as it is too time consuming to track changes and debug each update.
After a year, however, it becomes a stressful task to upgrade, check for all breaking changes and debug issues, hoping that you caught everything. Some issues are really hard to spot.
Example:
I recently upgraded from installed version 2024.4.4 to 2024.10.3. Everything seemed to work well, until I noticed that my alarms don’t work anymore. Digging deeper through the documentation, I noticed that you introduced code_arm_required defaulting to True.
This one was an easy fix, but really hard to spot upfront. In general, these sort of changes make upgrading a real PITA, and it would be avoidable with better structuring breaking changes and informing the user about potential breaks.
E.g. if the HA installation uses the Alarm panel, then the code_arm_required change should be shown to the user who wants to upgrade.
As an alternative: If you have a web interface where the user can select the installed version and target version, then show all breaking changes between the 2 versions, then we would at least have all breaking changes in a simple view to go through and check them.