Angular 22.0.0 landed on June 3, and the changelog reads less like a feature list than a set of decisions the framework has now made on your behalf. Components with no changeDetection setting now run OnPush. Incremental hydration is the default. HttpClient uses the fetch-based backend unless you ask for the old one. Signal Forms graduate to the public API, there is a new @Service decorator and an injectAsync helper, TypeScript 5.9 support is dropped, and JSON with padding (JSONP) is deprecated.
None of those is individually dramatic. Together they mean the framework has stopped carrying the old path as a peer of the new one. A team still on default change detection, zone-era patterns, and the older forms model can keep running, for now, but every default now points the other way, and every new teammate, tutorial, and library will assume the new one.
I think that is what a deadline looks like in an open source framework. Nobody announces it. The defaults just move, and the cost of staying where you are starts compounding quietly.
So my view for anyone on a large Angular codebase is to budget the migration this quarter rather than file it under optional. Start with change detection, because that is where behavior changes, and because a codebase that works under OnPush is one that has already found most of its hidden state.
If your Angular app still runs default change detection, what is the real reason, and is it still true?
Photo source: https://photos.robertstowe.com/new-south-wales

