The Angular team has this nifty little update tool[0] that helps us through running migrations and preparing the code base for upgrades.
> Every version essentially breaks the previous one.
This is simply not true. It might have been true in the early Angular v2 days, but since v6 or so, updates are relatively trivial.
https://update.angular.io has your back extremely well. The trick is to ensure whatever third party libs you're using have also been updated, otherwise you're application may break.
Every version essentially breaks the previous one.
90% of the information online is outdated or incorrect. By the time you start a project on Angular X, Angular X+2 is out which makes many things complicated, some deprecated.
It's true that it provides a robust set of defaults and libraries but those are generally an overkill for most projects.
On top of that there's a higher compilation complexity in Angular which I have seen every single Angular project struggle at some point.