HACKER Q&A
📣 asciiresort

How are Angular releases with breaking changes?


One of the complaints with frontend development is that "my code which worked in year N stops working in year N+2".

A wave of developers soured on the complexity of AngularJS, and especially so with the AngularJS ( Angular 1 ) -> Angular ( Angular 2 ) migration, which was effectively a new framework and burned developer goodwill.

Recently I've noticed people saying good things about Angular again and that it "just works" / batteries-included, unlike the React ecosystem since React is "only a library" rather than a framework.

Since Angular 2, what have your experiences been with Angular working from year N to N+2? How often were you forced to do migrations, or are you still on an old version? What are the risks of not upgrading?


  👤 throwaway4good Accepted Answer ✓
You can pretty much count on your Angular project will fall apart after about two years if it has just modest complexity, and you are not maintaining carefully it.

If you do not upgrade, likely one of the huge number of sub-dependencies of your project will stop being supported. Where stop being supported means it will have a severe flaw that will be start generating warnings, break the build, or it will simply be removed from the public npm-repositories.

Technically you can protect yourself from this by having your own npm-repositories (ie. Artifactory), locking down npm, node, angular-cli versions and using a package-lock file.


👤 metadat
Why do you still wanna use angular? Weirdest JavaScript magic ever.

I'll never go back, would rather use only jQuery, angular was a nightmare whenever things didn't go as planned.


👤 dagamerish
I've been using Angular since 2019 in multiple projects, and I have to say that the update path (Angular v8 to current v14) has been buttery smooth. Angular CLI will handle almost every migration that is needed (checkout Automated Migration for Typed Forms https://angular.io/guide/typed-forms#automated-untyped-forms...).

Angular has a release-cycle of 6 months (https://angular.io/guide/releases). Every 6 months a new version (semantic versioning) gets released, without too many breaking changes, and if there are breaking changes, most of the time, the update will apply the migration scripts and update your source code to use new apis (if there are changes there).

I have to say that in my current company we always go with Angular because of the easy upgrade path and so little breaking changes. We're happy with Angular.


👤 evrflx
Just keep it up to date. In fact the excellent update story is one reason we regularly recommend angular if the project is important and expected to live longer than just a prototype.

Updates are mostly automatically handled by the cli and there is an excellent accompanying website to explain and help with updates: https://update.angular.io/

I believe that no matter the framework or technology, if you let it rot it will fall apart. So I like to choose easy to maintain options.