The Angular 2 Router Debacle

June 19, 2016 | 2 Minute Read

For my upcoming Angular 2 Workshop at the DigiComp DevDays I did some research about the sad history of routing in Angular:

Date Event
April 2014 The New Router prototype for Angular 1.4 & Angular 2 is created (github)
December 2014 Angular 1.4 was announced containing the New Router
May 2015 Angular 1.4 is released without the New Router. The router project is rebranded to Component Router and postponed to Angular 1.5. There are already tutorials for the New Router floating on the internet.
June 2015 The New Router repository is deprecated. Sources are merged into Angular 2.
2015 Beta versions of Angular 2 are released with the Component Router
February 2016 Angular 1.5 is released but the Component Router is not part of it
March 2016 The Component Router for Angular 1.5 is released (official docs)
May 2016 The Component Router for Angular 2 is deprecated. The Release Candidate of Angular 2 contains a new Router 2.0 with major API changes/breaks
June 2016 The Router 2.0 is deprecated, Router 3.0 is announced (major API changes)
June 2016 Angular 2 RC2 released, still with Router 2.0
June 2016 Component Router for Angular 1.5 is deprecated (official docs)

This is not meant as a critique for the Angular team. Their goal is to create a great framework and fortunately they are not afraid to do major rework if they think it improves the final product.

But the above chronology shows the state of current open-source/release-early-and-often based development models. According to the angular team “Developers all over the world are building production Angular applications today with RC1.”. Major deprecations are quite painful for those projects …

Of course it is a risky choice for any developers to use a framework that was not yet released as version 1.0. But I would argue, that most developers were not expecting such major deprecations at least after the release candidate.

Even more projects are based on AngularJS and I bet some of them started migrating to the Component Router once it was officially released. I think it’s not clear how they should deal with the situation now …