Angular is now one of the most popular open-source front-end web application frameworks. Over the years, Angular has undergone several updates and released various versions with new features, improvements, and bug fixes. Here is a comprehensive report on different Angular versions in reverse chronological order. You will also find the compatibility matrix of Angular, Node.js, TypeScript, and RxJS.
Angular Version History
The following table gives you the Angular, Node.js, TypeScript, and RxJS version compatibility matrix. You can read the latest versions at https://github.com/angular/angular/blob/master/CHANGELOG.md.
Version | Release Date | TypeScript Version | NodeJs Version | RsJS Version |
---|---|---|---|---|
Angular 15 | Nov 2022 | ~4.8.4 | ^14.20.0 || ^16.13.0 || ^18.10.0 | ^6.5.5 || ^7.4.0 |
Angular 14 | June 2022 | >= 4.6.4 < 4.8.0 | >= 4.6.4 < 4.8.0 | ^6.5.5 || ^7.4.0 |
Angular 13 | Nov 2021 | ~4.4.4 | ^12.20.2 || ^14.15.0 || ^16.10.0 | ^6.5.5 || ^7.4.0 |
Angular 12 | May 2021 | ~4.2.4 | ^12.14.1 || ^14.15.0 | ^6.5.5 |
Angular 11 | Nov 2020 | ~4.0.8 | ^10.13.0 || ^12.11.1 | ^6.5.5 |
Angular 10 | June 2020 | ~3.9.4 | ^10.13.0 || ^12.11.1 | ^6.5.5 |
Angular 9 | Feb 2020 | >= 3.6.5 <= 3.7.7 | ^10.13.0 || ^12.11.1 | ^6.5.5 |
Angular 8 | May 2019 | ~3.4.5 | ^10.9.0 | ^6.4.0 |
Angular 7 | Oct 2018 | ~3.1.6 | ^8.9.4 || ^10.9.0 | ^6.3.3 |
Angular 6 | May 2018 | ~2.7.2 | ^8.9.4 | ^6.0.0 |
Angular 5 | Nov 2017 | >= 2.4.2 <= 2.5.3 | ^6.9.5 || ^8.9.4 | <= 5.5.12 < 6.0.0 |
Angular 4 | Mar 2017 | ~2.2.2 | ^6.9.5 | ^5.0.3 |
Angular 3 | Skipped | |||
Angular 2 | Sept 2016 | ~2.0.10 | ^6.9.5 | ^5.0.3 |
Angular 15
- Standalone components API: Angular 15 made a lot of improvement in the standalone components API (introduced in Angular 14). This API allows developer to create Angular Application without using the ngModules. This API is now very stable.
- Directive composition API: The new directive composition API lets you apply directives to a component’s host element from within the component TypeScript class.
- NgOptimizedImage: This API was introduced in Angular 14 is now stable and can be used in Production.
- Debugging: Angular15 Now offers more simplified stack errors.
- Dependency injection:
providedIn: NgModule
&providedIn: 'any'
is now deprecated - Angular Forms: New utility methods
isFormControl
,isFormGroup
,isFormRecord
,isFormArray, etc
included in the Forms Module.
Angular 14
- Strictly typed forms: The Angular forms module gets a makeover. Now you can create a Strictly typed forms in Angular. We also have new form element called
FormRecord
. - Standalone components: You can now declare standalone components in Angular. Standalone components are not part of the ngModule. This implies that you can get rid of ngModules from your Angular Application
- Angular Router: The Router module gets a lot of improvements.
- Component: You can now use the function createComponent() to create components dynamically.
Angular 13
- IE11: Support for IE 11 is dropped.
- View Engine: The support for View Engine stops starting from Angular 13. Ivy is now only way to go.
- Angular Forms: Minor enhancements in the Forms Module related to strictly typed forms. The strictly typed forms is scheduled to be released in Angular 14.
- fullTemplateTypeCheck: is now deprecated.
- date pipe: has an optional second argument to specify the timezone or timezone offset.
- routerLink: If you give
null
orundefined
torouterLink
, then the Router will disable the navigation. Previous versions of Angular treated null or undefined as [] and navigated to the save page.
Angular 12
- Ivy Everywhere: Angular 12 will deprecate the View Engine, a compilation and rendering pipeline. Ivy will become the new default rendering engine. Current libraries with View Engine will continue to work, but it will be removed entirely in the future versions
- Canonical message-ID format: legacy i18n message IDs were inconsistent in their translation because of whitespace and translation invalidation issues. In this version, Angular is migrating to a new standard message-id design, which is considerably better.
- End of Protractor: Protector is now excluded from Angular. The Angular team is presently reviewing Cypress, WebdriverIO, and TestCafe.
- Deprecating support for IE11: Angular will deprecate IE11 from the next version. The warning message will be displayed for IE11 in this version.
- Nullish Coalescing: Angular will not support Nullish Coalescing from this version. This will help us to write cleaner code.
- Default strict mode: The Angular CLI enables the strict mode by default. This will help developers to catch the bugs quickly.
- Styling improvements: This version will now inline SASS in the styles. Support for Tailwind CSS also comes with this version.
Angular 5
- Support for Multiple Export Alias in Angular 5
- Improved Build Optimization
- Faster and improved compilation
- New feature in Angular forms validation. updateOn blur or submit instead of the default change event added.
- In Angular 5, we have two new transition aliases,
:increment
and:decrement
. - New Router Lifecycle Events added in Angular 5 GuardsCheckStart, ChildActivationStart, ActivationStart, GuardsCheckEnd, ResolveStart, ResolveEnd, ActivationEnd, and ChildActivationEnd.
- Better Support for Service Workers in Angular 5
- Angular Universal State Transfer API and DOM
- Support for RxJS 5.5.2
- HTTP Module is Deprecated instead. Use the new and improved HttpClient Module
- number pipe, date pipe, and currency pipes now has better Internationalized support. They are not compatible with the old pipes. To use the old pipes, you will have to import the
DeprecatedI18NPipesModule
.
Angular 4
- Support for strictNullChecks
- Ahead of Time compilation in View Engine
- Angular Universal for server-side rendering
- Angular Animations is now a separate Package
- template is now ng-template
- ngIf with else option
- New
titlecase
pipe - Addin search parameters to an HTTP request has been simplified.
- New Meta Service to help to add Meta Tags.
- Introduced email Validator to already existing form Validators.
compareWith
with directive to help select options- ParamMap interface in Angular Router