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.
Table of Contents
Angular Version History
The following table gives you the Angular, Node.js, TypeScript, and RxJS version compatibility matrix
Version | Release Date | TypeScript Version | NodeJs Version | RsJS Version |
---|---|---|---|---|
Angular 18 | May 2024 | >=5.4.0 <5.5.0 | ^18.19.1 || ^20.11.1 || ^22.0.0 | ^6.5.3 || ^7.4.0 |
Angular 17 | Nov 2023 | >=5.2.0 <5.3.0 | ^18.13.0 || ^20.9.0 | ^6.5.3 || ^7.4.0 |
Angular 16 | Mar 2023 | >=4.9.3 <5.1.0 | ^16.14.0 || ^18.10.0 | ^6.5.3 || ^7.4.0 |
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 18
Angular 18 has introduced several new features.
- Experimental Support for Zoneless Change Detection: The Angular till now using the
zone.js
library for change detection. However, starting from this version, the Angular team has started to move away from zone to zone less change detection. This will result in better composability with other libraries that do not use zone, faster rendering, smaller bundle sizes, and simpler debugging. - Angular.dev: The official Angular documentation website has moved to
angular.dev
. - Material 3: Material Design components have been stabilized in Angular 18. Material 3 incorporates a series of improvements and enhancements.
- Deferrable Views: Angular 18 introduces deferrable views, allowing developers to delay rendering certain parts of the UI until they are needed. This can improve performance and optimize initial load times.
- Server-Side Rendering (SSR) Improvements: Several features have been included in this release, which includes better i18n Hydration Support, Improved Debugging of SSR applications etc.
- TypeScript 5.4 Support: Angular 18 is compatible with TypeScript 5.4, providing access to the latest language features and improvements.
Angular 17
- Deferrable Views: The deferrable views is the new and exciting feature that is added in the Angular 17. You can now render parts of the UI only when needed, optimizing initial load times.
- Built-in Control Flow Syntax: To improve developer experience, Angular 17 introduces a new block template syntax for control flow. This syntax simplifies features likeÂ
*ngIf
,Â*ngSwitch
, andÂ*ngFor
, making them more intuitive. - Stable Signals: Angular Signals, which made an entry in Angular 16, now become stable.
- Faster Runtime and Builds: In public benchmarks, Angular 17 achieves up to 90% faster runtime with built-in control flow loops and up to 87% faster builds for hybrid rendering and 67% for client-side rendering.
Angular 16
- Angular Signals
- Server-side rendering and hydration
- Improved tooling for standalone components, directives, and pipes
- Advancing developer tooling
- Better unit testing with Jest and Web Test Runner
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 form in Angular. We also have a 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 the only way to go.
- Angular Forms: Minor enhancements in the Forms Module related to strictly typed forms. The strictly typed forms are 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 same 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
- The 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
- the template is now ng-template
- ngIf with else option
- New
titlecase
pipe - Adding 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