Top shelf web developer training.

Guided Paths

Follow our crafted routes to reach your goals.

Video Courses

Premium videos to build real apps.

Written Tutorials

Code to follow and learn from.

Find Your
Opportunity HIRED
Dismiss
Up

The Next Version of Angular is Angular v4

The Next Version of Angular is Angular 4

Related Course

Getting Started with Angular 2

Angular 2 is the shiny new framework that comes with a lot of new concepts. Learn all the great new features.

Angular will be making another big number upgrade to Angular v4. Don't be afraid of the change though, Angular is still the Angular you're learning to love. This is mainly a version numbering change and not a platform rewrite like Angular 1 to Angular v2.

The launch wasn't just the final stage of Angular v2, rather it was the stage where they had something stable.

TLDR: Jump from v2 to v4 for Semver matching across packages. Angular is still Angular.

There were a number of minor releases after the launch of v2.0.0 which included:

  • v2.1 - router enhancements and route reloading
  • v2.2 - AoT(Ahead-of-Time) compatibility and ngUpgrade
  • v2.3 - improved language service used especially by IDE vendors. The service made it easy for IDEs to integrate with Typescript since they do not just ship the compiler. It also enables autocompletion on the IDEs and has better error handling by providing better error messages.

Semver

The Angular team announced that they will be using SEMVER when releasing updates.

SEMVER (Semantic Versioning) is basically about adding meaning to version numbers.

Sermver is pretty simple if you look at the chart below.

Basically what this means is that:

  1. Patch versions are released every week with the exception of holidays
  2. Minor versions are released every month
  3. Major versions are released every 6 months, meaning 2 major versions every year.

Angular is built on a monorepo, this simply means there is one huge repository on Github for all of Angular's packages and all its work. Google also has all their work including Google Maps and all other Google products on one repository. This has its advantages and disadvantages

The Angular team feels confident about their monorepo design for the following reasons:

  • They release exact combinations of versions battle-tested at Google.
  • They are more productive this way and can get more stuff done

Switching from Angular v2 to Angular v4

Packages on the Angular repository have been following semver except the @angular/router package which has a one-off version, this, according to Angular, is a screw-up on their end, which is noble of them to admit that.

While the @angular/core and others were on version 2, the @angular/router was on version 3. This caused some confusion so the bump to Angular v4 matches all packages up nicely.

Upcoming features

Some of the features that Angular is looking to roll out in upcoming releases include:

Typescript compatibility

The Typescript team has been working on a number of improvements including:

  • Creating smarter compilers which handle errors better and give better error messages.
  • Implementing strictNullChecks to provide extra type safety

This means the Angular compiler (ngc) will be faster since they will be taking advantage of the optimizations of Typescript

It will be a breaking change for Angular since the current Typescript version (1.8) is not compatible with v2.1. This is because they edited some features and the type system is richer so it's no longer compatible with Angular v2

Backwards compatibility with Angular v2

It will be able to successfully use interfaces and data from applications made with Angular v2

Better Angular compiler errors

The compiler will be much smarter in terms of error handling

Faster

The ngc will be faster in terms of runtime speed and parse time. It will also be smaller

Release schedule

Angular v4 is due in March 2017 but before then they released a schedule for their betas and rc (release candidate) versions which simply put, are beta versions with the potential to be a final product and which are ready to be released unless significant bugs emerge.

Angular is clearly evolving! To avoid a rough transition from one version to another like what happened with the transition from Angular 1 to Angular v2, Angular is trying to be:

  • Predictable
  • Transparent
  • Stable
  • Incremental

How? According to Igor Minar, Angular plans to have major releases every 6 months with minimal breaking changes. This seems like a pretty feasible plan, unless another mistake is done with the naming of the packages like it happened for the router package.

Naming convention

Angular has moved the attention from the version numbers when naming the different versions. They are adopting the following naming convention:

  • Angular 1 will be called AngularJS
  • Angular v2+ will just be called Angular

It's just "Angular"

Conclusion

Angular is planning to bring in more updates but rather than having major changes at once, the plan is to make incremental, predictable and stable changes regularly. It will have support for libraries using Javascript and Typescipt just as it always has.

Finally, keep calm and embrace angular, don't worry yourself about version numbers too much.

For more info on the release schedule, see:

Ok... let me explain: it's going to be Angular v4.0, or just Angular

For more about this you can watch Igor Minar's opening keynote:

Jacky Kimani

Software Developer at Andela

I am a Javascript developer who never stops learning! I believe in helping others get to where I am and beyond