What is up with all these breaking changes?

Thank you. This was exactly the kind of explaination i was looking for in the first place.

Now i do understand the reasoning behind almost all recent breaking changes.
In my opinion, this is too well hidden and might have been a good post for the blog at the main website.

perhapsā€¦ but it was referenced under noteworthy breaking changes. Itā€™s not really of interest to most users.

I was specifically referring to this:

2 Likes

How so? What changes are happening? I read the PR, itā€™s not a huge issue. I understand the sentiment. Pretty much need to overlay the entire component. Makes sense with the path they are moving. Iā€™m okay with this change. It still shouldnā€™t be a problem unless you are trying to implement a version from prior to the ā€˜reorganizationā€™. Still going to be a copy/paste, just now itā€™s a whole folder structure.

There are some growing pains but the plan is actually to make custom components easier to work with, even allowing independent component repositories.

5 Likes
3 Likes

On a more serious note, security needs to be ā€œdesigned itā€ from the start. Otherwise there will likely be breakage if user authorization (permissions) is ever implemented.

There are a few categories that could be useful now.

Operator (no access to config)
Read-Only (no access to config or controlling devices).

More categories could be useful. You do not want the kids to mess with the parentsā€™ bedroom lights, for instance.

1 Like

When this comes, it will be based around the person domain. Currently, if you create a user login, a person is created that is linked to the login. Iā€™m sure over time, a persons attributes will build into UAC.

Just make sure you read the ā€œbreaking changesā€ section and you should be fineā€¦ :ok_hand: Takes me 5 minutes to know if I can safely skip the version or if I should try to increment it to avoid future issues/deprecations. These guys put a lot of effort in creating these nice release notes. The least you should always do ā€œas a consumerā€ is read the release notes of ā€œthe providerā€. Similar to the way it works when consuming other services in an API driven world.

As @DavidFW1960 has nicely stressed: please RTFM. I see this in my day to day job and itā€™s not different elsewhere. These projects have a lot of momentum and the release train will not stop for the sake of one individual/consumer.

In this discussion there are basically three paths you can follow, as I see it:

  1. Either you follow, ā€œas a consumerā€, the spec given ā€œby a providerā€. Leading to minor investment in each bump in version.
  2. You postpone your upgrades to each major version release (mind that v1.0 hasnā€™t been released yet). Youā€™ll probably need to carefully plan this moment as it can be time consuming but youā€™ll gain stability in the way forward.
  3. Donā€™t upgrade with the risk of diverging (cfr. ā€œdecommissioningā€ of component APIā€™s)

I know how it feels. This is the hardest choice any business/project must makeā€¦ I also agree that currently not all changes are lenient but version 1.0.0 hasnā€™t even been released yet so give it some time.

Does anyone know if this project will switch to semantic versioning if it goes ā€œstableā€? Are different major versions going to be worked on in parallel?

1 Like

No additional functionality as far as tplinkā€¦but it wasnt implemented the best way before. Ie. Having to get the IP setup the reservation, etc. The new component allows you to add a line in the config and it will discover all TPlink devices. I donā€™t like setting reservations on my gear. I have too much of it.

1 Like

Version 1.0 will not necessarily be momentous, and certainly wonā€™t mean HA has reached any milestone. The numbering system is purely arbitrary and goes up by .01 every two weeks. We are at 0.89 now, Weā€™ll be at 1.00 in 22 weeks. So 1.00 is not some milestone, it is simply 11 versions (and therefore 22 weeks) away.

1 Like

Iā€™m very excited about this one, I recently had some trouble with the static IP on my TP-Link switch not sticking, and having to go into configuration.yaml a couple times to update and then restart Home Assistant. Having HA auto-discover any IP changes on this component is going to be a great addition.

And really, thereā€™s no reason they even have to go to a 1.00 version in 11 weeks. Thereā€™s no reason they couldnā€™t version to .100, .101 etc. until the software is at a point where they want to call something a true 1.00 milestone.

4 Likes

Yeah true, but why bother, itā€™s like age, just a number.

1 Like

Does HA use Semantic Versioning? If so, I would have thought that the versions wouldnt tick over to 1.x it would go to 0.100 the 0.101 and onward

1 Like

assuming they donā€™t go from 0.99 to 0.100ā€¦

(Beaten TWICE LOL)

Yeah I just looked up semantic versioningā€¦

Anyway I was just wanting to point out that getting past 0.99 does not mean anything in particular.

2 Likes

Thats assuming we stop the minor version at 99. At my company we go all the way to 999. Typically bump major versions around 150ish.

EDIT: Sorry for the duplicate comment. See 90293402703894 other people made the same comment. My bad.

I canā€™t help but think of thisā€¦

2 Likes

In all honesty, I donā€™t know how they could have made it more clear. It was in the main blog post as a noteworthy breaking change. I mean it had itā€™s own section above breaking changes. I guess the only difference is that you had to click a link.

Coming here and complaining about breaking changes in a custom component is like complaining to apple that google maps doesnā€™t work on your iphone.

4 Likes

They need to bring back the <blink> tag?? :shudder: