This is common for end-user apps but feels very weird for developer libraries and frameworks.
We are used to X.Y.Z releases where X are "major rewrite", Y are significant updates, and Z are bugfixes.
That said, Angular's new scheme could be technically correct strict "semantic versioning". In semver X.Y.Z, Z releases are supposed to be bugfixes with no feature additions, Y releases add features but with perfect backwards compatibility, and X releases introduce breaking changes. A backwards incompatible change, no matter how small and easy to adjust for, should be a major version bump according to semver.