Pace of HA software development

I started using Home Assistant just this year. One thing that I find remarkable is the speed of new releases. A significant update every month is faster than any other software I use.

But is this a two-edged sword? We had 2024.4 on April 3rd and there have already been 3 patches. You could say this shows a quick response to issues that come up, but you could also say that maybe 2024.4 wasn’t fully tested before rollout. How could it be in that time frame?

After many of the updates I see posts in this forum about something that no longer works. For example, 2024.2.3 broke my Roomba integration and it got fixed in 2024.3.

Just asking – is it possible that this speed of development is no longer sustainable? The code base has to be getting bigger with these new features, new integrations, and support for new devices. That has to make testing take longer if it’s going to be thorough.

I learned with Unifi that I should not install updates right away, but wait a while and watch the forums for issues encountered by those who jumped right in. I wonder if that would be a wise approach here. As an IT professional, I know that updates are always a potential source of new problems.

Would it be so bad if HA were updated every two months, or every three?

2 Likes

IMHO Yes. Then again I own three software companies and try to understand release cycles and supporting new things. This industry moves too fast for 4 releases a year, but you are certainly free to only install those. No one is stopping you from doing that.

3 Likes

I agree, I’m still rocking 2023.8.4. I rely on HA pretty heavily for things to break every month. All due respect to the developers. I still love messing with the new builds.

Would you still add all the same amount of features but less often?
If so, isn’t that even more a risk for breaking things?
If not, this would really slow down things.

My system runs very stable, I have rarely things that don’t work after a new version and I think quite a lot of users have the same experience.
For me, the update cycle can stay this way.

And as @thornygravy says: you don’t have to install every update but… this might become an issue at some point when you decide to do an update.

4 Likes

My view has remained the same for a long time regardless of the application. See my thoughts here.

2 Likes

I like the frequent changes that often bring thing that help me. The change log identifies most breaking change and what was changed so you can decide if you want the update. No two individuals have the same setups (or very few). I can not even guess how many permutations there could be, although some developers may be paid something not all are and it would be impossible to have all of the new equipment (esps, displays, wifi components, z-wave, zigbee, lora etc.) to test everything that someone might do with their system.

The only to find all the bugs and also things that might not believe that is the best way it should work is to release it so everyone can play with it.

3 Likes

That’s a fair point.

I wish I could decide to which version I want to upgrade to – not necessarily the latest one.

I’m running 2024.2.5 right now. It’s showing me HACore update to 2024.4.3. Let’s say I install it. I notice some issues. I recover the 2024.2 backup. I’d like to be able to upgrade to 2024.3.x and test it out – to have the latest possible version without issues. That way, postponing upgrades, would be much easier.

1 Like

Just update through the cli , you should be able to type in any versions ( as long as you know the url, ofcause ) :slight_smile:

example: from Terminal
14.04.2024_05.33.51_REC

2 Likes

Biggest problem is the lack of beta testers. So few install the beta’s, so it is impossible to catch all bug before release. It gets even worse as some often give the advise not to install .0 releases, but to wait until .2 or even .3, so even less bugs get catched.
I install the beta every last Thursday of the week (Wednesday, the release it too late for me, I usually am in bed already), but since I don’t have many integrations, not much to report.

4 Likes

And im the exact opposite of Francis as I’ve matured my install I’m intentionally slowing my pace of accepting change. I will not beta test because frankly I dont have time and I prefer my live HA installation to be treated like an enterprise production platform. No changes unless necessary.

Basically remember unlike a lot of home automations platforms you DO NOT have to take the update.

Now I’m a 25year IT ops vet and will never tell you NOT to update but you don’t have to update everything every release…

For me it looks like ultimately quarterly will probably be my update cadence and it seems to offer me a good balance of maintenance v. Features and patches.

5 Likes

And in defence of HA updates, in the 3 years I have been running HA I have only had one issue caused by updating. This was fixed with a patch after 2 days.

I always update as soon as possible, I always read the breaking changes while the update is in beta, and prepare for any changes I need to make before updating.

The issues with updating every 4 releases is you will be up against a lot of breaking changes all at once. This will probably cause more issues than updating every month.

3 Likes

I think that no smarthouse software is so big and supports so many devices as HA does. Thus said, frequent updates are more or less needed in order all to work.

I think that it’s impossible to test all (few thousands, i guess) addons each time. Pathces come because users report a bug or non-working addon.

Also…hacs is a community thing, not official HA stuff, so whatever breaks from there it’s addon’s developer’s thing. I don’t think that nabu casa checks those addons much. We do experience now and then a patch release of certain hacs addons even before official HA update (that’s when it pops up, but we can’t install it, since we don’t have correct version yet).
One of “bad” things of less frequent updates would be: if something breaks we would wait longer for update to correct broken thing…

Well, it is indeed two-edged sword, and depending on situation there are good or bad sides of frequent updates… as usual. So just few my thoughts about this:

  • frequent updates ensures that bugs not catched during beta tests are resolved as quickly as possible
  • frequent updates ensures that HA is able catch in sometimes quite frequently changing APIs for devices we integrate (would you be willing to wait 3 month to get update that allows you to use your device again?). These changes areusually independent form HA developers.
  • Companies are introducing new devices every month (if not week). Some are very cool, but useless if adjustment to respective integrations is not implemented and released to community. Good example is Shelly with tons of devices relesed over past few months, that would not integrate with HA unless integration is updated.
  • There are some drawbacks too… one is that updates comes with some under the hood changes, that require reconfiguration of our instances (weather integration removing forecast attributes is one example). if such big changes happens too frequently, it might make HA less attractive, especially to people who prefere stability of installation over new functionality.
  • Above point leeds me to to anothe conclusion, that I follow personally; changes (especially these breaking ones) are cumulating relatively fast, so skipping versions and waiting several months to update to latest version become risky. Finding and fixing alll such changes over several major skipped versions might be nightmare. So I update to every next version as soon as it is available. In majority of cases it brings nothin new to me in terms of functionality, but it ensures that every next move to new version would be easier.
2 Likes

That won’t really help. I do software testing for a living, and I can guarantee that no amount of testing will ever catch all the bugs prior to a release.

I’ve seen some nasty bugs make it out to production, even when something’s been tested by people who do this thing 8 hours a day. Now, compare this scenario to HA, where you’re relying on a (relatively) shrinking base of volunteer testers with no formal experience of the testing process.

Yes, you could extend your release schedule. You could have a longer testing period. You could advise people how they should go about the testing process. It still doesn’t guarantee a release won’t contain bugs. Hotfixes will still be required, and someone else will come along and make a post similar to yours down the line.

What I can almost guarantee is if the release schedule is extended, someone will complain that they have to wait too long for X feature to be released, because you can’t please all the people all the time.

Personally, I think the monthly release schedule is a good compromise between too fast and too slow (we have 2-week release cycles at work, so, yeah).
Hotfixes are being treated with the urgency they deserve, which is why there have been 3 hotfixes so far. The devs could have bundled everything in one hotfix to keep the number low, but that would have just pissed off people who were stuck waiting for their issues to be resolved.
You’ll also find that the frequency of fixes isn’t linear - more issues are discovered in the first couple of weeks of a release than the following weeks. That explains why we’re at 2024.4.3 already.

Ultimately, the decision on when and whether to update to a given version rests with you. If you’re unsure about a particular release version, have a read through the corresponding release thread or github. Take frequent backups, and if you’re still unsure, update to the release prior to that.
You’re totally in control of your update frequency, so there’s really no need for everyone else to follow your pace.

2 Likes

If you’re worried now, this animation showing HA development 2013-2021 will make you want to go and lie down in a darkened room:

https://www.visualsource.net/repo/github.com/home-assistant/core.

2 Likes

Looks like Cold Fusion…

When i started HA 4 years ago, there where updates that frequently made something stop working.

Most of the time there was a quick fix, sometimes not and sometimes it was just because i did something wrong.
But now that my installations has matured, i seldomly have something braking.
Note that during the last 4 years also HA has matured a lot :grin:

Nevertheless it is a good practice to read the braking change list before rolling out an update.

More important, always make a backup before updating (i have an automated daily backup to my NAS)

4 Likes

Thanks - I hadn’t seen that but it does cover much of the same ground

I see what several commentors have said about needing frequent updates to keep up with new hardware, and for bug fixes. I can’t argue with that.

I guess it means we’re pretty much all beta testers, all the time. Maybe that’s inevitable in this space.

I think it would be nice if the forums here had an official Releases category where there would be a post every time there was an update to the core and to the OS. That would give a dedicated place to look to see if any issues had come up.

I mentioned Ubiquiti above, and they do this. I tend to wait until there are a significant number of comments about a release before I install it. If any complaints are about things I don’t have or am not doing then I feel more confident about updating.

Like several people said, backups are key. I’ve decided to make a snapshot or full VM backup before doing the updates. Then I can just go back to the way it was if something goes wrong. I still kind of hold my breath when I click the update button.