What is up with all these breaking changes?

Lately there was not a single release which did not include any breaking changes or breaks essential stuff right away.

I, as a user, do not understand why this has to happen. Why does everything has to be changed and break?

First it was lovelace, i was forced to completely redo my web ui, as the old one was supposed to be “gone” (Which it still has not…)

Then ZHA, there are changes, to how the entities show up (I have no clue why this is needed). These changes made home assistant useless for me (First, my lights have been unavailable after startup until i switched them physically, then they turned unavailable after 120 minutes, then i could not even pair them anymore…)

Now i had to test the latest dev branch to see if my ZHA issue was solved…
There i saw changes to the tplink config. You now have to redo your tplink config, add template sensors for power readings.

Why is this? We had a perfectly working, easy to use implementation. Now you have to tinker around with template sensors.

Can anyone explain to me why there is a need to make stuff more complicated?

Consireding this has been happening for at least 3-4 releases now, i am not sure if home assistant is the correct software to use when it is this unstable and no one even cares about what we as users have to change everytime there is an update.

Everytime there is an update, i have to plan considerable time to do the upgrade as there is a 90% chance of nothing working after the update.

And before anyone says “Then do not update if you hate breaking changes”…
This is no solution. I have to regulary update, because (just examples) my harmony setup broke after the latest firmware update, my homematic setup broke after the latest ha update and so on.

I am really angry about this situation right now. I have not had a working home assistant for almost all of february and it does not look like i will have one during march.

The worst is, there is no word on WHY this has to be like this. Only information available is “This is a breaking change, see docs”

EDIT: see What is up with all these breaking changes? I missed the thank you, here it is…
Also, reworded the title a little bit.

8 Likes

They link to the Githib issue that, many times, explains WHY the changes are made. At least they provide the links in the release notes.

Hass.io also has a plugin to check your configuration against the latest version BEFORE you upgrade.

The changes are usually necessary to add product features. What else could they possibly do?

2 Likes

Too be honest, unless security fix, bug fix affecting you install or feature add(that you will use) then no need update.

Currently they still working to expand function and improve. For this reason, many big changes that often have impact.

I think this still considered being in beta also?

1 Like

The policy at the moment appears to be “fix things that are working fine and don’t worry about the things that are broken”.

Hoping it changes back to “fix the broken stuff and make everyone happy” soon.

8 Likes

Perhaps you prefer the OpenHAB model.
They only release twice a year, That gives people time to work around any breakages so they can then break others. :frowning:

1 Like

I had a look at the latest release. Most of the changes marked as “breaking” just had a “it’s different now, live with it” in the PR
@tmjpugh
Thats my issue. I have several things not working correctly. I have to update to be able to use them. I would have stayed at 0.87.x if it would have been possible, but my harmony was not working with it anymore.
@anon43302295
I am afraid that you are correct with this. At least it looks like this in the past few weeks…

2 Likes

Before there are more missunderstandings, and because i missed it in my initial post,
I REALLY like home assistant. It is the best software out there.

I just wanted to let out my frustration on these breaking changes recently. They eat up all my time. I did not want to attack any of the developers. They do a good job.
Only i am missing on why the changes have to be done.

I am also not angry about things not working. Stuff breaks accidentally. No one can test everything in advance.
I hope i did not hurt anyone personally

1 Like

Honestly, you should come back to Home Assistant a year from now when they reach the version 1.0 milestone. Then maybe they reconsider changing their release schedule with a Long Term Support branch. Or stop updating Home Assistant and live with the features you have. I don’t think Home Assistant is going to slow down any time soon.

2 Likes

There are lots of reasons this can happen. Here are a couple of major reasons.

  1. They are preparing for a future integration but have to clean up some current configuration options to fit inline with the future.

  2. They need to refactor code to clean it up, and get it to follow the standards of their other components.

Just understand that we are all BETA users. This is NOT a finished product yet. It’s still trying to get on it’s own stable ground.

4 Likes

All I can say is my experience differs from yours; I’ve been using Home Assistant since October 2018 and have no cause to complain.

Based on your expectations, it’s obvious this open-source project is not for you. All the things that have displeased and vexed you are, in my assessment based on this project’s history, unlikely to change. It will continue with a fast-paced development cycle that introduces many improvements, several breaking-changes, and a few bugs. This can be a blessing or a curse, depending on how one is affected by the improvements/changes/bugs.

2 Likes

Do you read through the github?
Because that’s where the changes occur, and the discussions about why changes need to be made, how they get made. I’m sure some also occurs on the Dev discord channel, but I don’t use discord so I cant really say.

The reasons behind the breaking changes are not spelled out because their typically complicated, technical, and frankly don’t matter and most people don’t care.
If you do care and want to do all the reading behind them, read through the github issues and PRs for the HA core, the GUI, and the architecture section at minimum. Note, both issues and pulls both have an ‘open’ and ‘closed’ section that should be read through to get the full picture.

https://github.com/home-assistant/home-assistant/pulls

https://github.com/home-assistant/home-assistant-polymer/pulls

2 Likes

Yes i do, but most of the time they do not explain why a change is needed.
I was reading everything i can find for the past few hours and i guess i figured out why these changes i was angry about had to occur.
They are so called technical dept. Some of the components are quoet old compared to the “new shiny stuff” and did not obey some rules which have been created in the near past.
This in turn results in changes to obey the rules.
I have no idea what these rules are because i could not find them anywhere. But i guess this will help me to understand why stuff which (for me as a user) works fine has to be changed.

Also i try to actively improve home assistant. I opened and worked on different Bug reports and also did a small contribution to the code.
I will have a look at the archivecture repo to see if i find any more answers to my questions

Really? You should re-read your first post.

Have you already forgotten this?

Sorry for this missunderstanding.
I am angry about the breaking changes. Not about stuff which is accidentally broken.
See the first post about homematic and harmony. I was not angry about those two.

Home Assistant is still in early stages, it is not even beta at this time. If you don’t like to tinker, it is probably not for you … yet!

The changes are to make things better and indeed easier. For me, updating tplink was a matter of removing the YAML configuration and pressing a TP-Link button in the Integrations UI. All my switches were rediscovered automatically and I can now rename them through the UI.

4 Likes

Wouldn’t be easer to read change log everytime before updating for breaking changes and prepare for it?

4 Likes

I understand your frustration. As far as I know, this lack of focus on backwards compatibility and speed of change is not due to the nature of either Home Assistant or open source, but that Home Assistant is currently on version zero. Assuming semantic versioning or similar is used, this means “Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable”.

This, I assume, is needed since Home Assistant is still considered not feature-complete, and in a state where it is more important to implement the desired features (and finding out what they are), than keeping backwards compatibility. When version 1 is here some time, I expect this to change.

On the other hand, I see several discussions in PRs about backwards maintainability, so it is not right to say that the developers don’t care about it. They just don’t value it as much above improvements as one could expect in a more final version.

Another (and maybe more problematic) source of frustration, is the direction this project is going in. Several people (myself included) fear that it is moving from text-based and “self maintained” installs, towards GUI configured and “automagically installed”.

4 Likes

But is that because of HA or because of Logitech? Harmony removed their API a few weeks back (but got readded/will be readded in the latest version, this due to customer complaints).

I understand that there are breaking changes, and sometimes there are a lot of them. Most of the time breaking changes for me only affects one to three components max. This last release was indeed a bit of work, but this was mostly because I use custom lovelace cards that weren’t updated for the latest version.

Lovelace hasn’t changed at all though, so I don’t know what makes you think why lovelace would get a change. Though true it got a storage mode and a UI editor, but if you so prefer (like I do) you can just use the old way for lovelace. Honestly I don’t think that they will change this soon as most advanced users will prefer this over storage mode as it is more flexible and a lot easier to commit changes to.

It is mentioned before but OpenHAB is probably a better solution for you if you are looking for stability as they only release updates twice a year. This also means that you won’t have the newest features available until the update, but will give you an easy to setup and very stable system. If you like Home Assistant and want to continue with it then I would suggest either to never update (which is a bad idea) or to update as soon as possible (or at least when the x.1 version drops). Read up on the breaking changes and if you update consistently it might only take you 15 minutes per update, my advice is do not wait too long or you will find yourself in a horrible position reading up on the changes.

  1. It’s not even version 1. Breaking changes should be expected.
  2. There are 1,300 components. That means that if any of those services change, then there could be a breaking change for a component you use.
  3. You don’t have to update.
  4. Backup and restore from backup if you an update breaks something.
  5. If you want to upgrade, wait until v 0.##.2+. Sometimes things that are “broke” were unintended and these small version updates are meant to fix those.

Those are just some of my thoughts. Keep in mind a lot of breaking changes are due to improving the end-user experience. In other words, the changes being made so HA and Hassio are more welcoming to less advanced users/people that don’t want to spend time writing YAML.

1 Like

As i said, i had to update to latest home assistant because of this. That was in response to someone telling me not to update.
Home assistant is totally not at fault here, this is absolotely caused by logitech.

I had this fear too, but at this point i think devs have a good understanding of “our” needs and try their best to support both ways. Although, docs for the “text” way is sometimes hidden a little bit.

I figured out a way for me to solve most of the issues i had with this today in the morning.
I will use docker images more excessive.

As i already have my config on github, i can just run a “build job” which checks if my config breaks in the new release and then see what i have to change.

Unfortunately, sometimes i have to. My present situation is:
0.86 has broken harmony and homematic
0.87 fixes harmony hub
0.87 breaks ZHA
0.88 fixes homematic
0.89 hopefully fixes ZHA (I have checked out the development branch with changes from @dmulcahey which for now work very good)