Angular 9

9 released 6 February 2020, latest 9.1.13.

Angular 9 reached end of life on 6 August 2021.

What changed

Angular 9 made the Ivy compiler and runtime the default, replacing the older View Engine pipeline for applications. Ivy improved template type checking, enabled more effective tree shaking, and removed the need to list dynamically created components in entryComponents. The cycle also updated the Angular compiler, language service, and tooling around the Ivy model, while retaining compatibility mechanisms for many View Engine-built libraries. Angular is not AngularJS: AngularJS is a separate, earlier framework with its own versions and its own end of life. Teams running AngularJS should use the separate page at /technology/angularjs.

What staying costs

This cycle has reached end of life, so Angular 9 no longer receives maintenance, security, browser-compatibility, or tooling fixes from the Angular team. Its supported dependency ranges are old relative to current Node.js, TypeScript, RxJS, browser, and package ecosystems, which can make routine dependency updates increasingly constrained. Remaining on Angular 9 also preserves early-Ivy-era behavior and may require continued use of old library versions or compatibility workarounds. The longer an application remains on this line, the more major-version migrations, code migrations, dependency changes, and test updates are likely to accumulate into a larger upgrade project.

What to do

Start by inventorying the Angular CLI, Angular packages, Node.js, TypeScript, RxJS, custom builders, test tooling, and third-party Angular libraries used by the application. Bring the existing application to the latest available Angular 9 patch level and resolve its current build and test failures before changing major versions. Plan an incremental upgrade through the intervening Angular major versions, running the matching ng update migrations for @angular/core and @angular/cli at each step and using the Angular Update Guide for version-specific requirements. Update Node.js, TypeScript, RxJS, and build tooling only to versions supported by the Angular target being upgraded to. Test production builds, server-side rendering if used, lazy-loaded routes, dynamic component creation, forms, and unit and end-to-end tests after each stage. Replace unmaintained dependencies and View Engine-era libraries with actively maintained Ivy-compatible alternatives, then complete regression, accessibility, and browser testing on the target Angular line.

We can tell you what moving off Angular 9 involves.

What it takes to move off Angular 9 depends on what you built on it — the version you are on, how much depends on it, and how much of the work is mechanical. Leave your email with this version and we can tell you what that looks like for you.

Not sure yet? Get my plan