It is not hard to maintain backward compatibility, but why be constrained with it? It is hard to evolve a library or a framework if you have to be always backward compatible.
I'd rather have big disruptive incompatible major release that kinda compatible which may or may not break in production in a subtle ways.
I'd rather have big disruptive incompatible major release that kinda compatible which may or may not break in production in a subtle ways.