I’m pretty much on the same boat.
Before upgrading, I have to backup the config and the database. Then I have to list breaking changes between my version and new version and then apply them all to the config, restart in my dev instance to test and then finally approve my pipeline to push the current release into production (I have a docker build pipeline around hass). The amount of breaking changes means I can’t have an auto update process as hass is a critical part of my daily life as it automates everything around me.
This is why upgrading is more of a project and I usually upgrade every few releases. I was on 52 -> 65 -> 81 -> 88.
I’m planning on staying with 88 until permission system is ready, in the meantime I have to try to migrate to lovelace but atm I use the old states UI and I still use api key. The only time I’ll move to the users is when LDAP can be used. I’ve written myself an with provider for that, but it’s of no use to me when permissions are not there.
Other than that. HASS updates are a mess.
Mostly because hass is being restructured to feature capabilities that it should have had from the beginning. However, I think they should just hold on from releasing new versions with new features every 2 weeks and focus on releasing a massive update with those new features whilst maintaining existing components in normal releases. Similar to windows patch cycle and service packs. It feels like we’re all beta users.