Why it is going to be called just Angular instead of Angular v4.0 and so on
Developers from now on, should refer to all versions of Angular as simply Angular. Try to avoid using the version number.
So what's the deal with Angular and it's versions? Back in September when the new Angular was finally released, the Angular team also announced they will switch to Semantic Versioning or better known as (SEMVER).
The Angular Adoption of Semantic Versioning
Semantic Versioning is all about adding meaning to version numbers during releases. The reasoning behind Semantic Versioning allows developers to not only reason about any upgrade we do, but we can even let tools such as NPM do it in a automatic and safe manner for us.
A semantic version consists of three numbers: Example: v4.2.1
- 4 - The first number consists and is saved for major breaking changes.
- 2 - The second number consists of a minor change, if a new featured is added but it is not a breaking change you increase the second number.
- 1 - The last number consists of patches. Whenever you fix a bug and release it, you increase the last number.
Angular 4.0 or just Angular
We the team went from from Angular 1 to Angular 2, and it was a total breaking change. Like shit didn't work anymore kind of breaking change... With new APIs, new patterns, it was obvious that Angular 2 was ultimately a complete rewrite.
Changing from version 2 to version 4, or version 5 won’t be like changing from Angular 1. Luckily, it won’t be a complete rewrite, it will simply be a change in some core libraries that demand a major SEMVER version change. There will also be proper deprecation phases to allow developers to adjust their code.
In the End It’s just called “Angular”
You might have already figured out that the term “Angular 2” is deprecated once version 4, 5 etc are released. That being said, the community should start naming it simply “Angular” without the version suffix.
Igor mentioned in his talk about the naming characteristics of Angular. From now on, name all versions of Angular simply “Angular”. Try to avoid using the version number, unless it is really necessary to disambiguate.
Three simple guidelines:
- Use “Angular” by default (e.g. “I’m an Angular developer”, “This is an Angular meetup”, “The Angular ecosystem is growing quickly”)
- Use “Angular 1”, “Angular 2”, “Angular 4” when talking about a specific release train (e.g. when talking about a newly introduced feature - “This is an introduction to feature X, introduced in Angular 4”, “We are upgrading from Angular 1 to Angular 2”, “I’m proposing this change for Angular 5”)
- Use full semver version when reporting a bug (e.g. “This issue is present as of Angular 2.3.1”)
So What Happened to Version 3 then?
The core Angular libraries live in one single GitHub repository. All of them are versioned the same way, but distributed as different NPM packages:
- @angular/core - v2.3.0
- @angular/compiler - v2.3.0
- @angular/compiler-cli - v2.3.0
- @angular/http - v2.3.0
- @angular/router - v3.3.0
Due to the misalignment of the router package’s version, the Angular team decided to go straight for Angular v4. In this way again, all the core packages are aligned which will be easier to maintain and help avoid confusion in the future.
The Take Away about Angular Now
There are two main important messages to take away:
- Don’t worry about version numbers
- We do need to evolve Angular in order to avoid another Angular 1 to Angular 2 change, but we should do it together as a community in a transparent, predictable and incremental way.
Tell us about your project
Do you have a project you think we will love? Then please complete our short project contact form.Start your project