๐ฅ OnPush is now the DEFAULT change detection strategy
Components with no changeDetection set are now OnPush automatically.
Want the old behavior? Set ChangeDetectionStrategy.Eager (there's a migration for it).
โ๏ธ Signal Forms graduated to the public API!
No longer experimental ๐
You also get:
- reloadValidation()
- debounce on validateAsync/validateHttp
- FieldState.getError()
- template reactive FVC support
๐ FetchBackend is now the default for HttpClient
withFetch is deprecated โ just remove it.
โ ๏ธ Need upload progress? Use provideHttpClient(withXhr).
Also: reportProgress โ split into reportUploadProgress & reportDownloadProgress
๐ง Incremental hydration is now the default behavior. No extra config needed.
๐ค Angular is going all-in on AI/MCP tooling:
- provideWebMcpTools
- declareWebMcpTool (experimental)
- AI runtime debugging tools
- an in-page Angular DI graph AI tool
โจ New core goodies:
-
@Service decorator (stable)
- injectAsync() helper
- debouncing signals
- resource caching for SSR
- bootstrap apps under shadow roots
- TestBed.getLastFixture()
๐งน Big cleanup (breaking):
- ComponentFactory / ComponentFactoryResolver โ gone
- createNgModuleRef โ createNgModule
- checkNoChanges โ removed
- provideRoutes โ provideRouter
- Hammer.js integration โ removed
โ๏ธ Version requirements:
- Node.js 26 supported
- TypeScript 5.9 dropped
- Minimum TS is now 6.0
๐งญ Router changes:
- paramsInheritanceStrategy now defaults to 'always'
currentSnapshot in CanMatchFn is now required
- new browserUrl input on router links
That's Angular v22 in a nutshell ๐ฏ