This is a really good one. I could imagine a lot of people (including myself) cannot keep up (time-wise) with monthly updates and would prefer to spend half a day every 6-12 months to do a major upgrade.
Yep I am amongst those updating for the sake of updating and keeping my fingers crossed that it doesn’t mess up things. Normally it doesn’t but you never know…
Yeah. I love every new release. But I have to skip every first minor release until the first or second patch to keep my system stable. I had some trouble in the beginning while updating to every minor version as early as possible. It would be nice to setup a LTS repo/line to only get minor updates after they are really stable. For people that don’t have the time or knowledge to tackle some complex errors or non-functional Integrations after an update.
I would suggest to use the Linux kernel scheme here.
The core maintainers of Linux only care about the new stuff, git HEAD and such. But there are people — often from Linux distros — gueared around just one LTS maintainer that create the stable release.
What is the benefit?
Maintaining a stable release obviously takes times. This time would be removed from the current git-HEAD developers. And also some doing this kind of maintenance is often not as rewarding as working on top-notch new features. So it is, at a personal level, not appealing to everyone.
Keeping up to date is getting harder and harder. The gratuitous UI changes that mean you have to rebuild chunks of dashboards on a pretty regular basis mean I am getting less and less inclined to do it. I know it’s bad, but they need to separate out “fancy new features” from “security updates”, so I can run a 6 month old HA that still gets security patches, but not dashboard breaking “new experiences” that are just scratching some UI dev’s itch to try the latest fun widget, and break everyone who has an existing setup.
Last time I skipped a few months of updates I had so many issues that I couldn’t work out, due to too many errors (before safe mode was a thing) that I just started fresh…
Would be nice to see an LTS, but the issue is soooo much changes it would be hard to roll up. Python versions, Python package versions…
Last time I skipped a few months of updates I had so many issues that I couldn’t work out, due to too many errors (before safe mode was a thing) that I just started fresh…
Would be nice to see an LTS, but the issue is soooo much changes it would be hard to roll up. Python versions, Python package versions…
This is exactly the syndrome I want to fix.
Updates wouldn’t cause so many issues if they were simply leaving out the breaking changes (not always possible, but many of them are simply because someone wants to change a naming convention or something), and no new features (which are the cause of the majority of other breaking changes). You could update python versions every so often, that has rarely caused me major issues. I believe that you could even leave pyscript and other things on other versions as I don’t think they need to use the same version as homeassistant.
The bigger issue I find is that basically every .0 release breaks things, and they are usually fixed in .1 or .2
It shouldn’t be this predictable that the .0 release will break things.
The bigger issue I find is that basically every .0 release breaks things, and they are usually fixed in .1 or .2
It shouldn’t be this predictable that the .0 release will break things.
This is not really the issue I’m trying to solve. I want to bring breaking changes to the absolute minimum. Minimize bugs too, but that is more a side goal than the main goal of stopping breaking changes (and with it probably most new features) in exchange for a system that can still be up to date with bug fixes, latest cloud API’s, etc and not break something in most upgrades.
Yes, this please! I’m always behind 2-3 months in HA releases which I guess is not great for security, although my HA instance is only acceptable via LAN, still not great.
I’d see it something like the final release of each month with all the breaking changes stripped out. If they can keep the features without the breaking changes, then move on. I’m sure it wouldn’t be that simple, but that would be an awfully nice goal. So you could update each month or when you felt like it, but you wouldn’t have to worry about things breaking when you did.
Yes I long for this too.
Something similar to Debians unstable → testing → stable scheme.
I realise that Debian is packet based thing, and HA is not, but the basic idea can still be applied, with minimum extra work for the Ha maintainers.
For any new change to HA (feature/bugfix/…) the path should be like:
First applied to the unstable version
Promoted to the testing versions, after x days, if with no fatal bugs seen from that change.
Promoted to the stable version, after x weeks, if with no major bugs seen from that change.
I guess if you compare to the current version flow.
Unstable will match 24.12.0, 24.12.1, 24.12.2, 24.12. … ( every update )
Testing will match 24.10., 24.11., 24.12., … ( monthly update )
Stable will match 23.6.final, 23.12.final, 24.6.final, 24.12.final, … ( biannual update )