Change8

v21.1.0

📦 angularView on GitHub →
16 features🐛 3 fixes1 deprecations🔧 8 symbols

Summary

This release introduces significant feature enhancements across image loaders, compiler switch case handling, and router navigation controls. A key deprecation involves moving the `VERSION` export location in the upgrade package.

Migration Steps

  1. If using `VERSION` from `@angular/upgrade`, update imports to use it from `@angular/upgrade/static`.

✨ New Features

  • Added custom transformations support for Cloudflare and Cloudinary image loaders.
  • Added support for custom transformations in ImageKit and Imgix loaders.
  • Added support for multiple switch cases matching in the compiler.
  • Added stability debugging utility in core.
  • Added support for rest arguments in function calls in core.
  • Added support for spread elements in array literals in core.
  • Added support for spread expressions in object literals in core.
  • Allowed focusing bound control from field state in forms.
  • Added `context` parameter to `createApplication` in platform-browser.
  • Resolved JIT resources in `createApplication` in platform-browser.
  • Added controls for route cleanup in the router.
  • Added scroll behavior controls on router navigation.
  • Added standalone function to create a computed for isActive in the router.
  • Executed RunGuardsAndResolvers function in injection context in the router.
  • Extended parameters of RedirectFunction to include paramMap and queryParamMap in the router.
  • Published Router's integration with platform Navigation API as experimental.

🐛 Bug Fixes

  • Compiler now supports empty cases in switch statements.
  • Microtask scheduling is now used after any application synchronization in core.
  • Fixed `providePlatformInitializer` to return `StaticProvider`.

Affected Symbols

⚡ Deprecations

  • The `VERSION` export from `@angular/upgrade` is deprecated. Users should use the entry from `@angular/upgrade/static` instead.