2010 – 2026
Angular Versions
Every public release of Angular — Angular 2 in September 2016 through the current line — with ship dates, the Active / LTS / EOL support state per major, and the headline changes each one introduced. Angular ships a major roughly every six months, skipped version 3, and was preceded by a different framework — AngularJS (1.x), which reached end-of-life on December 31, 2021. Below: the per-version table, the Ivy renderer migration, the v17 “renaissance,” and the AngularJS lineage kept here so the two don’t get confused.
AngularJS, and why Angular is a different framework
AngularJS began as a side project by Miško Hevery (with Adam Abrons) at Google around 2009, originally branded “GetAngular.” Its pitch was two-way data binding: bind a model to the DOM and the two stay in sync automatically, without the manual glue code that jQuery-era front ends were drowning in. AngularJS 1.0 shipped in June 2012, and through the mid-2010s it became one of the most widely adopted front-end frameworks, anchoring the original “MEAN” (MongoDB / Express / Angular / Node) stack.
The same design that made AngularJS productive for small apps made large apps hard. The digest cycle — AngularJS’s mechanism for detecting changes by repeatedly comparing model values — got expensive as applications grew, and the $scope inheritance model was a frequent source of confusion. By 2014 the Angular team concluded the architecture couldn’t evolve into what modern web apps needed, and announced a ground-up rewrite.
That rewrite became Angular 2 in September 2016 — a different framework that kept the brand. AngularJS continued in parallel under long-term support and reached end of life on December 31, 2021. The naming convention the team settled on: “AngularJS” means 1.x; “Angular” (no JS) means 2 and later. Confusing the two is the single most common Angular-versioning mistake, which is why this page keeps the AngularJS lineage clearly fenced off in its own collapsible row.
The 2016 rewrite, TypeScript, and the six-month cadence
Angular 2 rebuilt the framework around components — a tree of self-contained pieces with explicit inputs and outputs — and around TypeScript, Microsoft’s typed superset of JavaScript. The TypeScript choice was consequential: Google’s Angular team had been developing its own typed-JavaScript dialect called AtScript, and merged that effort into TypeScript instead, which is one reason decorators and other Angular-driven features shaped the language. (See the TypeScript Versions page for the language side of that story.)
After a long, public beta and release-candidate cycle through 2015–2016, Angular 2.0 shipped in September 2016. The team then adopted semantic versioning with a time-based release schedule: a major roughly every six months (historically around May and November), each with one to three minor releases, and a published support window of about six months of active support plus twelve months of long-term support.
The visible oddity of that scheme is that there is no Angular 3. By the time the post-2 release was being numbered, the @angular/router package had independently reached version 3, ahead of the other packages. Rather than ship a framework whose router was a major version ahead of everything else, the team skipped 3 and released everything together as Angular 4 in March 2017 — and the whole toolchain (framework, CLI, Material) converged on unified versioning at v6 in 2018.
Ivy — the multi-year renderer rewrite
Ivy was Angular’s rewrite of its own compilation and rendering pipeline — the engine that turns templates into the instructions a browser runs. The goals were smaller bundles (through better tree-shaking and locality of reference), faster compilation, clearer error messages, and improved template type-checking. It was one of the largest investments in the framework’s history and rolled out deliberately over several majors.
The progression: opt-in preview in Angular 8 (May 2019), default renderer in Angular 9 (February 2020), the old View Engine deprecated in Angular 12 (“Ivy Everywhere,” May 2021), and removed entirely in Angular 13 (November 2021). Ivy is the foundation the later signals, standalone-components, and zoneless work was built on — none of the v16-onward reactivity changes would have been practical on the old engine.
The Angular renaissance (v17 onward)
By the early 2020s Angular had a reputation as stable but heavy, and losing developer mindshare to lighter alternatives. Starting around 2023 the team mounted a deliberate reset that the community came to call the “Angular renaissance.” Its public face was Angular 17 (November 2023): a new brand and logo, and a new documentation site at angular.dev built around interactive tutorials.
The substance underneath the rebrand was a run of architectural changes shipped across consecutive majors. Signals — a fine-grained reactive primitive — arrived as a developer preview in v16 (May 2023) and stabilized through v20 (May 2025), reshaping how change detection works and setting up zoneless Angular (no Zone.js), which became experimental in v18. Standalone components made NgModule optional (preview in v14, stable in v15, default in v19). Built-in control flow (@if / @for / @switch) and deferrable views (@defer) replaced older structural directives, and the build moved to Vite + esbuild.
Server-side rendering and hydration, long an Angular weak spot, became stable in v17 and gained non-destructive then incremental hydration through v16–v19. The arc continued into Signal Forms and the Asynchronous Reactivity APIs reaching stable in Angular 22 (June 2026). Maintained by Google’s Angular team, the framework competes with React and Vue as one of the major front-end view layers; for the language it’s built on, see the TypeScript Versions page.