Breaking changes in minor releases #3523
-
Hey guys, Our CI pipelines indicated some type errors in renovate bot PRs updating For example previously we relied on Of course many of these issues could be fixed relatively easy by indirectly consuming corresponding wrapper types. e.g. So I'm wondering if introducing braking changes in minor releases is intended? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
Sorry you're experiencing some frustrations. Firstly, we don't intend to make breaking changes, but we also didn't intend to expose undocumented APIs from our packages. The public interface to each component is its Props Interface, and as you've already pointed out all the things you need exist on those publicly documented interfaces. We knew it was going to be a risk as people do find unintentionally exposed private things, but I took the decision to mark it as a minor, as it's not technically anything we documented as a public interface. We are now moving to having the exported types stored in git so any small unintentional change to a resultant interface we'll know exactly what prop or HTML element is impacted.
I am interested to hear about these though, are there incompatibilities in the component interfaces that you've seen? |
Beta Was this translation helpful? Give feedback.
-
Hi @SiTaggart , thanks for the explanation!
Sound good 👍 In our case the migration turned out to be not that complex an we didn't rely on many undocumented props which were previously exported. Things that we noticed:
Other that that the migration went smoothly. |
Beta Was this translation helpful? Give feedback.
Hi @dmitriy-kudelko
Sorry you're experiencing some frustrations. Firstly, we don't intend to make breaking changes, but we also didn't intend to expose undocumented APIs from our packages. The public interface to each component is its Props Interface, and as you've already pointed out all the things you need exist on those publicly documented interfaces.
We knew it was going to be a risk as people do find unintentionally exposed private things, but I took the decision to mark it as a minor, as it's not technically anything we documented as a public interface. We are now moving to having the exported types stored in git so any small unintentional change to a resultant interface we'll know …