What the Heck about a Long Term Support (LTS) release?

I’m getting a bit tired of all the breaking changes and entities switching names, things stopping working… What would you think about a Long Term Stable release where we’d only have breaking changes like 1 time a year, and we just miss out on whatever features require breaking changes in the intervening time? I know it’s probably a pipe dream, but it would sure be nice.

Connecting up with about a 1000 different external APIs and parties, the breaking change is often not by Home Assistants fault. So, having no breaking changes is a dream because of that.

However, for Home Assistant itself, I agree, we should reach some stable point. However, I personally do not think we are there yet. There are still some old code patterns around we need to get rid of, and are still in a migration for a lot of things.

So yes, agreed. But when it is ready, not because we have to.

11 Likes

I disagree that v1.0 has to imply a long term stable release, I think they are very different things unless someone chooses to make them the same thing (and that would require making a decision in favor of both of them :wink: )

While that’s basically true, there’s a general agreement of what the versioning should represent, nobody is bound to that though, obviously.

Version 1.0 is used as a major milestone, indicating that the software is “complete”, that it has all major features, and is considered reliable enough for general release. A good example of this is the Linux kernel, which was first released as version 0.01 in 1991, and took until 1994 to reach version 1.0.0.

I wouldn’t be asking for all those API’s to stay the same (and I don’t think it would be necessary for the most part), I’m asking for homeassistant to abstract you from those things and at least stop making major architectural changes for this version. And I would invision 2 versions, a fast moving unstable version (what we have today), and a long term stable one that doesn’t make major architectural changes more than once a year… Then annually they would be brought into alignment.

2 Likes

It’s been discussed, though nothing concrete has been pushed forward on that front yet AFAIK.

2 Likes

Note: I originally posted this as it’s own topic because I searched “LTS” and did not see this existing thread. Apologies @frenck, I did try. Added my vote to this WTH. :+1:

My two cents:
Sure, I know a lot of you fine folk install HA because you like to tinker and tweak stuff - but sometimes that time is a luxury. There are times in life where it feels like keeping on top of the updates is simply not possible - so I haven’t. I’ve let my system stagnate…horribly.

See, if I try to tinker a little with my current setup I’ll be without documentation (it’s moved on to keep pace with the blistering development), and if I try to update I’ll certainly spend the weekend trying to patch/repair the functionality I used to have rather than adding new things. I’m committed to leaving my current system to limp along while starting fresh on a new host. (Service interruption to some of the Z-wave lighting automations has to be minimal to maintain a happy home life).

I’m proposing an LTS-type version (common abbreviation for ‘long term support’), where documentation is frozen (except for corrections), and the only updates available are the non-breaking/important-security-fix types. I would be plenty happy with a release schedule of 1+ years, for those of us who don’t need the latest and greatest - those people who want to view this as an appliance rather than a continual hobby/project/timesink.

This project has some great goals (local control and privacy) which are my main draw, the maintainability as a user has me frustrated.

3 Likes

+1 LTS can today release be any build version that is deemed more stable or before larger refactoring.

Microsoft Windows 10 Enterprise LTSC (Long Term Servicing Channel) LTS releases is an example.

Linux kernel is another example where 4.4 is SLTS (Super Long Term Support ) and 5.4 is current LTS

Decoupling/breaking-out integration releases from Home Assistant Core is probably a prerequisite?

1 Like

Isn’t that just like leaving your setup at a release that suits you and not updating for a year?

2 Likes

I was going to say the same. Most of the time (unless there are breaking changes in API’s used by integrations) you can keep your HA installation as stable as long as you want by simply choosing not to update it.

Not really, because there are lots of features that can be added without breaking changes, and lots of bugs that need fixing that also don’t introduce breaking changes. And I would want to know exactly what was entailed in the yearly upgrade to the next LTS version… If I waited a year between updates on the current “unstable” release, it would be a complete disaster.

The problem with this at the current time is that it’s essentially asking the developers to maintain two separate codebases. One at the current tips, and one wherever the LTS freeze happened. That diverts development away from the main development branch so overall development and progress slows down. Sure, if it’s only bug/security fixes then hopefully that impact is minimal, but there’s no guarantee of that and it seems it’s just not something the development team is willing to commit to at this point in time. As Frenck mentioned, it’s likely to happen in the future when everything becomes more stable and the team is able to divert some attention away from the main development to support the LTS releases, but things just aren’t there yet. For now, the focus is to just keep moving forward with the main development.

1 Like

This is exactly my situation and my sentiment.
It’s super frustrating that every time I have a day to add a new automation to HA I need to spend it updating, fixing errors, having my house not working and my wife asking me what is happening.
This is a nightmare to maintain.

I have been a paid user of HA for more than a year because I want to support the project, but every time anyone asks for a bit more of reliability and stability all the enthusiast that only use this as a hobby get all hover him/her.

This is already a project with people backing it with money and a company behind it, it is not just an open source effort anymore, there are professional developers working, I think it is reasonable to ask for a less demanding product.

2 Likes

Yeah I’m at the point where I’ve added enough functionality that I just spend most of my time just fixing things that broke during upgrades (mostly for rather silly reasons like just renaming things or changing some esoteric ways of functioning in automations which bring me zero value whatsoever) rather than adding anything else new to my configuration. The time I have is just enough to keep it running on a recent version. And of course I have to stay current or else the upgrade would be so daunting that I’d just have to trash everything and start over. And I don’t have time for that.

1 Like

same here man

Simply don’t update.

that aint an option since docs and other support would be absolutely impossible

The docs are versioned, they are all on github. Not ideal, but possible.

Simply don’t update means things breaking over time. What I want is fixing problems in integrations due to updated API’s, but don’t introduce new features/breaking changes/rename entities for no goddamn reason.