Pace of HA software development

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.

It’s typically posted in the Blog

And linked off the update notice

image

2 Likes

This is part of the reason why I run Container versus HAOS. I can quickly change the image tag and flip between versions quickly and fairly safely. I also run MariaDB as a container and can quickly switch between “versions” as I need to.

So, if a release of HA includes a DB schema upgrade, I clone both the DB and HA containers and config folders and stash them in a backup. Then I pull the new HA version, let it upgrade the DB and test it. Should I need to roll back, it’s as simple as restoring my config directories, changing my docker-compose file, doing another pull and getting back to where I was. I might lose a few hours or day of stats, but to me it feels a lot faster and safer. I’ve actually used this method on a test system of mine to answer questions about older versions of HA as well.

1 Like

I do the same. I have never had to roll back far enough to a version with a older database schema. Do you know if HA will note a incompatible database structure and not start? Recovering my Postgresql database is the longest process of my backup/recovery workflow and I try to minimize doing recoveries of it.

Not really. What’s needed is more (beta) testers! HA is open source and it is virtually impossible to build test systems with every possible configurations/setups.

Reality proofs that most people just want stable software but not invest time of their own for testing beta/rc. This and the complexity/size of the projects leads to bugs in releases which then requires bug fix releases.

If you would have taking part in beta testing the roomba integration bug probably wouldn’t have shipped with stable.

Only roomba owners (like you!) can do this testing!

5 Likes

I’ve only had it happen to me once when I was still using sqlite3 as the DB engine and it spammed the log files with errors until it finally died. It was actually kinda funny to watch.

Just FYI, I’ve been REALLY tempted to leverage AWS Aurora as my DB engine eventually, especially with their blue/green deployment model.

File based backup/restores are usually pretty quick on a quality SSD (I only use NVME drives in my servers and 2.5" SSDs for longer term storage on my NAS). I can usually restore 40gb+ in less than 10 minutes (often MUCH faster than that). If I’m pulling from my NAS’s storage, it might take ~15-20 minutes MAX.

image

1 Like

True, but that’s just the major release, not the smaller updates, and they don’t mention the OS updates at all.

Major updates have extensive release notes with a section for breaking changes. Every minor update links to the release notes, which then also holds a description of the fixes in that minor update. HAOS updates have links to notes too. I read them every time. What else could they possibly do?

2 Likes

They don’t?

1 Like

You could have all the beta testers in the world and it still wouldn’t mean issues wouldn’t still find a way to make it into a release. Please read my reply for a full explanation, based on real-world experience.

Even if you had way more people testing, these are volunteers with a varying amount of time available to test. Most of them would not think to try reinstalling the integration from scratch, going through all the config options and monitoring for stability each time any code potentially affecting their integration gets merged to beta.

2 Likes

Update cycle has been brought up since the first day of this software. It was even more fun when it was updated every two weeks. So many breaking changes sometimes, but it’s what the people want.

3 Likes

See #19 above:

“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 want to read everyone’s reactions to the updates, each one separately, and not just release notes.

I concede that this is important to me, but apparently to no one else!

And In the Pace of New Users Joining, we will have tons of the same Topics/Questions every Month( Day after Day) As this is not a Release related phenomenon :laughing: … No im not really laughing :zipper_mouth_face:

1 Like

Right but many People Don’t / Won’t use this “Category” only anyways, likewise as they Post “issues” related to 3rd Parts integrations etc in the Official Release Blog, instead of the 3rd parts Official Community Page or Github , And many don’t use the Search function Either, before they Post or Open a New Topic( Which there are bunch of duplicates/Similar of )

Well, you might not like this: if you make these kind of comments, you only prove that you’re not aware of the information that is out there.

I’m a little over 4y into HA, I have always installed every major release quite immediately and since the new release cycle, even the same day.
Sometimes it was necessary to install the interim updates to fix a minor thing and as stated by my fellow HA users: reading the release notes and breaking changes can help a lot.
My system has been rock solid with a few minor hiccups.

Your remark about being a beta tester: is there any software that has no bugs?
On top of that: are aware about the numerous number of integrations, number of supported platforms and ways of installation?

In my opinion, the devs are making one hell of a FREE product! (thanks guys)

1 Like

Meaningless. All software will eventually have bugs. In the early days of this product the object was to literally add any integration that released an API. Feature creep is a real thing. It was insane what would break, just because.

I think the issue here is that breaking changes creep in when they don’t really need to. Software that works one day and breaks everything the next when a feature is added is super frustrating. That’s why more users than you’d think get a working system up and running and never update unless its absolutely necessary.