Angular: v22.0.0-next.5 Release

Release date:
March 25, 2026
Previous version:
v22.0.0-next.4 (released March 19, 2026)
Magnitude:
3,722 Diff Delta
Contributors:
17 total committers
Data confidence:
Commits:

34 Features Released with v22.0.0-next.5

Top Contributors in v22.0.0-next.5

alxhub
crisbeto
JeanMeche
leonsenft
SkyZeroZx
hawkgs
aparzi
angular-robot
alan-agius4
splincode

Directory Browser for v22.0.0-next.5

All files are compared to previous version, v22.0.0-next.4. Click here to browse diffs between other versions.

Loading File Browser...

Release Notes Published

common

| Commit | Description | | -- | -- | | fix - c1312da183 | avoid redundant image fetch on destroy with auto sizes |

compiler

| Commit | Description | | -- | -- | | feat - e850643b1b | Support comments in html element. | | fix - 96be4f429b | abstract emitter producing incorrect code for dynamic imports | | fix - 5a712d42d1 | prevent shimCssText from adding extra blank lines per CSS comment |

compiler-cli

| Commit | Description | | -- | -- | | refactor - ca67828ee2 | introduce NG8023 compile-time diagnostic for duplicate selectors |

core

| Commit | Description | | -- | -- | | feat - 8bc31a515f | Allow other expression for exhaustive typechecking | | feat - eae8f7e30b | Set default Component changeDetection strategy to OnPush | | fix - 16adbbf423 | ensure custom controls resolve transitive host directives | | fix - dfa149dc68 | fixes a regression with animate.leave and reordering | | fix - 50e599e73e | lazy-initialize debounced state to prevent computation cycle | | fix - 22f8b0a500 | resolver function not matching expected type | | fix - 5e99ae9f00 | widen type for directive inputs/outputs |

forms

| Commit | Description | | -- | -- | | feat - 74f76d8075 | add reloadValidation to Signal Forms to manually trigger async validation | | feat - 24e52d450d | add debounce option to validateAsync and validateHttp | | feat - 709f5a390c | add FieldState.getError() | | feat - 41b1410cb8 | support binding number|null to <input type="text"> | | fix - 0eeb1b5f03 | allow FormRoot to be used without submission options (#67727) | | fix - ee8d2098cb | change FieldState optional properties to non-optional | undefined | | fix - df8b020299 | clear native date inputs correctly in signal forms when changed via native UI | | perf - 98c5afdb02 | lazily instantiate signal form fields |

migrations

| Commit | Description | | -- | -- | | fix - a73b4b7c30 | inject migration not work in multi-project workspace with option path |

platform-browser

| Commit | Description | | -- | -- | | refactor - f99e7ed20f | remove Hammer integration |

Breaking Changes

compiler-cli

  • Elements with multiple matching selectors will now throw at compile time. ### core
  • Component with undefined changeDetection property are now OnPush by default. Specify changeDetection: ChangeDetectionStrategy.Eager to keep the previous behavior. ### platform-browser
  • Hammer.js integration has been removed. Use your own implementation.