Skip to content
ToolShedby Wasim Shaikh

Angular Upgrade Planner

Pick a source and target Angular version (8–22) for an ordered, checkable upgrade plan — ng update commands, breaking changes, deprecations, and migrations.

Choose your upgrade path

Angular 8 → Angular 90 of 5 done · 1 hop
1

Angular 8 → Angular 9

(5 steps)
Pre-flight

Commit or stash all work, then make sure you are on the latest minor/patch of your current major before running ng update. Upgrade exactly one major at a time and run the app/tests after each hop.

Tooling / Requirements

Angular 9 needs Node.js 10.13 or newer and TypeScript 3.6 to 3.8. Update tslib to 1.10.

Check your Node.js & TypeScript versions for Angular 9 →
Update Command

Update the core framework and CLI together. This applies the official automatic migration schematics for this version.

ng update @angular/core@9 @angular/cli@9
Breaking Change

Angular 9 switches to the Ivy rendering engine by default and runs ngcc to compile your dependencies. Expect stricter template type-checking and some changed runtime behavior; you can temporarily opt out with enableIvy: false.

Migration / Adoption

ng update applies the v9 schematics: Renderer → Renderer2, adding @Injectable/@Directive to undecorated classes, the ModuleWithProviders generic, and removing the now-optional { static: false } from @ViewChild/@ContentChild queries.

Sources: Angular Update Guide: v8 → v9 · Angular 9.0.0 release notes

Tip: Upgrade one major at a time and run ng update for each hop — it applies the official migration schematics automatically. Commit between hops and run your tests. This is a representative checklist of the major changes; always confirm specifics against the official Angular Update Guide for your exact versions.

Upgrading Angular 8 to Angular 9

This plan covers the full path from Angular 8 to Angular 9 — 1 version hop and 5 steps in total. Upgrade one major at a time, running ng update for each hop so the official migration schematics apply. Commit and run your tests between hops.

Breaking changes to check between Angular 8 and Angular 9

  • Ivy becomes the default compiler/runtime (Angular 8 → Angular 9): Angular 9 switches to the Ivy rendering engine by default and runs ngcc to compile your dependencies. Expect stricter template type-checking and some changed runtime behavior; you can temporarily opt out with enableIvy: false.

Hops in this path

  1. Angular 8 → Angular 9 — 5 steps

Before you start

  • Commit or stash your work and upgrade on a branch so you can roll back.
  • Get on the latest minor/patch of Angular 8 before the first hop.
  • Update third-party libraries (including Angular Material/CDK) alongside each hop, and run your tests after each one.

Sources

Every step in this plan is checked against Angular's official documentation and release notes. Last reviewed .