The Next Major Version of Angular Will Be 4, Not 3
Igor Minar, Angular Team Lead at Google, keynoted on Angular at NG-BE 2016 which took place in Belgium last week. Minar presented the release schedule adopted for future versions of Angular and introduced the following major version which will be Angular 4.
With Angular 2, the team introduced Semantic Versioning which attributes a 3-numbers version to a new release, major.minor.patch. Example, 2.3.1. A patch version is made available every week, with no new features, usually just bug fixes. A minor version is released every month, with new features but no breaking changes with the previous versions. A major version will be created every six months, having new features that might introduce breaking changes. At this point, it is not clear what a breaking change is, and Minar invites the community to contribute in defining it. It can be as simple as a compiler warning that now is treated as error or an API signature change that involves touching the third party code that uses Angular.
According to Minar, for the near future, the Angular team plans to switch to using TypeScript 2.1 or even 2.2 from 1.8 that is currently used now. That will involve some breaking changes which means introducing a new major version.
Because the latest Angular router’s version, currently 3.3.0, is not in alignment with the rest of the modules which are at 2.3.0, the team plans to bring them in sync, releasing the next major version as Angular 4, not 3. And the product will no longer be called AngularJS, Angular 2, 2.x or 4.x but simply Angular, its version remaining a secondary detail. The first beta version of Angular 4 (4.0.0-beta.0) is supposed to be released this week, followed by 6 other beta iterations and then 3 RC ones with the target of making the stable 4.0.0 available on March 1st, 2017. In the meantime, only patches will be released for 2.3.x.
Angular 4 will be as compatible with Angular 2 as much as possible because the team does not want to repeat the breaking experience moving from Angular 1.x to 2.x. “We do not want to make any breaking changes that will break the ecosystem,” added Minar. “We do not want to break existing components that are out there.” So, no breaking changes on existing stable APIs or for those following the common Angular usage patterns. If some new feature turns out to break things up with the ecosystem, and it cannot be fixed, Minar said they will rather take that feature out than risking breaking everything.
The plan is to release a major version every six months, so Angular 5 will show up in September 2017, followed by Angular 6 in March 2018 and Angular 7 in September 2018. Nobody can predict the future, but the idea is for future versions to introduce minimal breaking changes.