15 released 16 November 2022, latest 15.2.10.
Angular 15 reached end of life on 18 May 2024.
What changed
Angular 15 made the standalone component, directive and pipe APIs stable, allowing applications to be built without NgModules where that architecture is preferred. It also added stable standalone router APIs and introduced functional forms of some router guards and resolvers. The framework continued its move to the MDC-based Angular Material implementation; the newer Material components became the default direction while legacy Material components remained available for migration. The CLI added an experimental esbuild-based application builder, and Angular 15 updated its supported TypeScript and Node.js ranges relative to earlier Angular releases. 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 /technology/angularjs instead.
What staying costs
Angular 15 has reached end of life, so Angular no longer provides fixes for framework or CLI defects and vulnerabilities in this cycle. Remaining on it also leaves the application behind later Angular improvements, including newer build, rendering, dependency-injection, routing and developer-tooling capabilities. The practical migration burden tends to grow as libraries, testing tools, browsers and build dependencies raise their supported Angular, TypeScript and Node.js baselines. Applications using Angular Material can face an additional risk: a delayed move from legacy Material components to MDC-based components can combine a framework upgrade with visual and behavioral changes, making the eventual upgrade harder to isolate and test.
What to do
First, identify the installed Angular core, CLI, Material, TypeScript, Node.js and third-party package versions, and confirm that the application has a reliable build, unit-test and end-to-end-test baseline. Plan an upgrade to a currently supported Angular line using the Angular Update Guide and the migrations run by ng update for @angular/core and @angular/cli; follow the required intervening major-version migrations rather than only changing package versions. Update Node.js and TypeScript only to versions supported by the target Angular release, and resolve package peer-dependency constraints before widening the deployment. If the application uses Angular Material, inventory legacy components, migrate them deliberately to the MDC-based equivalents, and perform visual-regression and accessibility testing. Treat standalone APIs as an architectural migration that can be adopted incrementally, not as a prerequisite for leaving Angular 15. Run production-like builds and test browser, server-rendering, routing and form flows after each upgrade stage, then remove obsolete compatibility code and dependency overrides.
We can tell you what moving off Angular 15 involves.
What it takes to move off Angular 15 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
