We shipped a design flaw. It’s been there since day 1 and no one’s noticed—until now.
How do we roll out a fix for this?
Technically, it isn’t a bug. It’s a feature we’ve decided to change. The current behavior isn’t ideal (it’s arguably an anti-pattern), but it’s been there since our first stable release, and now we want to change it for everyone.
Do we go ahead and ship a major release with this one breaking change? Or ease into it with a series of smaller steps?
For this feature, we’ve decided to prefer safety over speed:
- Minor release with configuration option to switch to new behavior (no breaking changes).
- Patch release with warning message that new behavior will become the default in next major release (again, no breaking changes).
- Major release that switches to new behavior.