Posted on: April 5, 2025 Posted by: rahulgite Comments: 0

Angular 2 (2016)

  • Complete rewrite of AngularJS (Angular 1)
  • Component-based architecture
  • Dependency Injection
  • TypeScript-based development
  • Improved performance and modular structure
  • Directives: structural & attribute

Angular 4 (2017)

  • Skipped Angular 3 to align router version
  • Smaller bundle size with better Ahead-of-Time (AOT) compilation
  • Improved *ngIf and *ngFor with else clause
  • TypeScript 2.1 and 2.2 compatibility
  • Animations module separated into @angular/animations

Angular 5 (2017)

  • Build Optimizer to remove unnecessary code
  • New HttpClientModule (improved over old HttpModule)
  • Faster compilation using incremental builds
  • Internationalization improvements
  • Angular Universal for server-side rendering

Angular 6 (2018)

  • Angular CLI v6 with ng add and ng update commands
  • Angular Elements for creating Web Components
  • Tree-shakable providers (via providedIn: 'root')
  • RxJS 6 support with rxjs-compat for backward compatibility
  • Workspace configuration file (angular.json)

Angular 7 (2018)

  • CLI Prompts for commands like ng new and ng add
  • Virtual Scrolling (CDK) for large lists
  • Drag and Drop module in Angular CDK
  • Improved performance and error handling
  • Support for TypeScript 3.1

Angular 8 (2019)

  • Ivy compiler (preview, not enabled by default)
  • Differential Loading for modern vs legacy JS bundles
  • Lazy loading via dynamic import()
  • Web Worker support via CLI
  • TypeScript 3.4 support

Angular 9 (2020)

  • Ivy renderer enabled by default
  • Smaller bundle sizes, faster build times
  • Improved test debugging and stack traces
  • Component Harness for testing components
  • TypeScript 3.7 support

Angular 10 (2020)

  • Optional stricter project setup (ng new --strict)
  • Updated browser configuration (ES5 support dropped for older browsers)
  • CommonJS import warnings
  • TS 3.9 and TSLint updates
  • Better performance and bug fixes

Angular 11 (2020)

  • Faster builds and stricter types
  • ESLint support (with migration from TSLint)
  • HMR (Hot Module Replacement) support
  • Updated logging and CLI experience
  • Component Test Harnesses improvements

Angular 12 (2021)

  • Ivy everywhere (View Engine deprecated)
  • Nullish Coalescing (??) support
  • Webpack 5 support
  • Enhanced AOT and production builds
  • Strict mode enabled by default

Angular 13 (2021)

  • Complete removal of View Engine
  • Dynamic component creation simplified with createComponent
  • ESBuild support in Angular CLI
  • More powerful TypeScript integration
  • Inline support for Adobe fonts

Angular 14 (2022)

  • Typed Reactive Forms (preview)
  • Standalone Components, Directives, and Pipes (preview)
  • CLI auto-completion and better analytics
  • Extended diagnostics and improved error messages
  • Strictly typed ngModel

Angular 15 (2022)

  • Stable Standalone APIs (no need for NgModules)
  • Directive Composition API
  • Image directives for automatic optimization
  • Improved SSR support
  • TS 4.8 support

Angular 16 (2023)

  • Signals: a new reactivity model
  • Required Inputs: catch missing inputs at build time
  • SSR with hydration (faster initial rendering)
  • Environment injectors
  • Improved developer tooling and diagnostics

Angular 17 (2023)

  • New Template Syntax: @if, @for, replacing *ngIf, *ngFor
  • @defer for lazy-loading template blocks
  • View Transitions API for animations
  • Full Hybrid Rendering support (SSR + CSR)
  • Turbo CLI (faster CLI operations)
  • Improved build performance and dev experience

Angular 20 (2024)

Here are the key new features introduced in Angular 20:


1. Standalone Components as Default

Description:

Angular 20 promotes standalone components to be the default approach. This simplifies component declarations and removes the need for NgModule in many cases.

Example:

@Component({
  standalone: true,
  selector: 'app-hello',
  templateUrl: './hello.component.html'
})
export class HelloComponent {}

2. Signals for Reactive State Management

Description:

Signals provide a fine-grained reactivity model, replacing RxJS in many use cases for simpler state tracking.

Example:

import { signal } from '@angular/core';

const counter = signal(0);
counter.set(counter() + 1);

3. Built-in Control Flow (@if, @for)

Description:

Angular now supports built-in template syntax like @if and @for, replacing structural directives like *ngIf and *ngFor.

Example:

@for (item of items; track item.id) {
  <li>{{ item.name }}</li>
}

@if (loggedIn) {
  <p>Welcome back!</p>
}

4. Zoneless Change Detection (Experimental)

Description:

Angular 20 introduces experimental support for applications without zone.js, improving performance and enabling finer-grained control over updates.


5. Improved SSR with Hydration

Description:

Angular 20 improves server-side rendering with full hydration support, enabling better SEO and faster first contentful paint.


6. Updated Angular CLI

Description:

The CLI now includes better support for standalone components, simplified project scaffolding, and improved performance diagnostics.


7. Improved Documentation and Dev Tools

Description:

Angular 20 brings improved inline documentation, better IntelliSense, and updates to Angular DevTools to support signals and the new control flow syntax.


Leave a Comment