Angular 13: View Engine is gone, and that is the whole story

Ivy becomes the only compiler and renderer, View Engine and IE11 support are removed, and TypeScript 4.4 and RxJS 7.4 come along. A release defined by what it deletes.

Angular 13 release

Most framework releases are judged on what they add. Angular 13 is best understood by what it removes — and the removals are what make the additions possible.

Ivy is now the only path

View Engine is no longer supported. Ivy, which arrived as an option and then became the default, is now the only compiler and render engine in Angular.

This is the change everything else hangs off. Maintaining two compilers meant every feature had to work twice and every library had to ship compatible output for both. Dropping one frees the framework to move — and it is why the performance improvements in this version exist at all.

For most applications the upgrade is uneventful. For library authors, and for anyone still depending on a library that never made the transition, it is the release where that debt comes due.

Internet Explorer 11 support is removed

IE11 is gone. This unblocks a long list of things the framework could not use while it still had to produce output IE could run — modern JavaScript features, smaller polyfill payloads, CSS that does not need fallbacks.

If you still have to support IE11, Angular 12 is where you stop.

The dependency floor moved

  • TypeScript 4.4 is now supported
  • RxJS 7.4 is the version to target
  • Node.js versions older than 12.20 are no longer supported

Check the Node version on your build agents before upgrading, not after. A CI image pinned two years ago is the usual way this bites.

What actually got better

Dynamic component creation. Creating components at runtime no longer needs ComponentFactoryResolver. The new API is direct, and the old ceremony is gone.

Testing. TestBed tears down test modules and DOM properly between runs, which makes suites faster and — more importantly — stops state leaking from one test into the next. That class of flake is miserable to debug and it largely disappears here.

The router, validators, and the Angular Package Format all received changes, and the CLI gained persistent build caching that is on by default.

Where it lands

Angular 13 is a maintenance release in the best sense. It does not ask you to learn much. It asks you to let go of View Engine and IE11, and in exchange the framework gets faster and simpler underneath you.

If you are on 12 and Ivy-clean already, this is a short upgrade. If you are not, this is the release that tells you.

Watch this on YouTube

This article accompanies a video on the channel.