Angular v22 delivers stable signals, smarter defaults, and deeper AI readiness.

Signal Forms are stable.

4 min readInfoQ
Angular v22 delivers stable signals, smarter defaults, and deeper AI readiness.

Angular v22 is here, and if you have spent any time wrestling with forms or wrestling with the change detection cycle, this release feels less like a routine update and more like a quiet vote of confidence in the framework's direction. Google has stabilized Signal Forms, made OnPush the default change detection strategy, and introduced a new `@Service()` decorator for dependency injection. For a framework that has often been painted as the heavyweight champion of enterprise development, this is a deliberate step toward making that weight feel lighter. We are not talking about a flashy rewrite or a promise of something magical; we are talking about the core mechanics of building and maintaining an app getting simpler. If you have been holding off on adopting signals because the API felt like it was still settling, that waiting period is officially over. The team has drawn the line and said, this is the foundation.

The practical impact here is larger than the release notes suggest. OnPush by default is not a subtle tweak; it is a fundamental shift in how your components will think about re-rendering. For developers, this means fewer surprise performance dips and a more predictable mental model. But the real headline for us is Signal Forms. Forms have always been the part of Angular that felt the most like a legacy compromise, a verbose dance between template-driven and reactive approaches. Now, with signals at the core, form state becomes more granular, more reactive, and frankly, harder to misuse. We would tell a reader who is on the fence to look at this not as a new feature to learn, but as a reduction in the cognitive load of every form they will build from here on out. The new `@Service()` decorator also deserves a closer look; it is a small ergonomic win that signals a commitment to making dependency injection feel more native and less boilerplate-heavy. Combined with TypeScript 6 support and the removal of deprecated APIs, this is Angular cleaning house, but with purpose, not just for the sake of change.

What we find most interesting is the experimental WebMCP and the explicit mention of tooling enhancements for AI integration. This is where the framework is looking forward, not backward. The future of spreadsheets and data tools is conversational and AI-assisted, and Angular is positioning itself to be the environment where that happens. For our readers, this is the point where you should start paying attention to your own architecture. If you are building data-dense applications, this release gives you a more efficient engine. But the bigger question is whether you are ready for the AI-native workflows that are coming. The framework is preparing for a world where the interface is not just a grid you type into, but a surface that anticipates your next move. That is not hype; that is the trajectory of the tooling.

The concrete thing to watch is the migration path. Angular has a reputation for moving fast, and while that has its critics, the team has also gotten better at providing clear upgrade tooling. We would tell any team to start a spike with v22 today, specifically to migrate one complex form to Signal Forms and observe the change detection behavior. The takeaway you can quote is this: Angular v22 is not about new features; it is about the framework removing its own friction, and that is the only upgrade that matters. The open question is how quickly the ecosystem of libraries catches up to the OnPush default. That is the detail to watch, because the core is ready, but the peripheral tools will determine how seamless this feels in a real project.

From InfoQ

Angular v22, Google's TypeScript-first framework, has introduced API stabilizations, ergonomic templates, and tooling enhancements for AI integration. Key developments include the stabilization of Signal Forms, improved change detection strategies, and a new @Service() decorator for dependency injection. The release supports TypeScript 6 and removes deprecated features.

Read the original at InfoQ