> You can make a series of breaking changes and only then declare a new release
That means you need to postpone the breaking changes for a while, kind of bunching them together. Many projects do that, but it also incurs some cost.
> After all, it took (at least) 21 years to get from 0 to 3.0.0
It's possible that they did not implement semantic changes in the strict sense before and included small breaking changes into non-major releases (I think a lot of software does this). Fast changes of version numbers may just mean they started reflecting each small BC break into the version number.