Hacker News new | ask | show | jobs
by treshugart 3520 days ago
> I see you're already at v4 of the library, how often do you do breaking changes?

It's partially a side-effect of following strict semver and using semantic-release but also that we intentionally favour breaking incrementally over big-bang releases. As a contributor, I've found that this actually makes me more aware of things I'm breaking and API changes become more intentional. We haven't - and probably never intend to - load up a feature branch with a bunch of breaking changes and release it all at once.

In 2.0.0, 3.0.0 and 4.0.0, I can count the breaking changes on one hand:

- 2.0.0: Attributes are only synced when the element is connected to the document (spec change)

- 3.0.0: Initial component render is no longer synchronous (sync to microtask)

- 4.0.0: Remove v0 spec support after v1 is in Chrome / Opera (due to spec changes)

Of those three breakages, 3.0.0 was the only real breaking change, but technically the others can be considered breaking.

Something that I'd personally like to start doing is releasing a code-shift migration with every major release.

1 comments

Thanks for the explanation, great job doing the v0 to v1 transition - the Polymer world is still waiting for the 2.0 release to come out