What's new in Angular 16: A Developer Guide to Angular 16 New Features
Estimated study time: 8 minutes. The release that previewed Angular's reactive future.
Angular 16 previewed some of the biggest architectural shifts in the framework's recent history, most notably the introduction of signals.
Signals (Developer Preview)
Signals are a new reactive primitive for tracking and propagating state changes with fine-grained precision, independent of Zone.js-based change detection.
const count = signal(0);
increment() {
count.set(count() + 1);
}
Required Inputs
Component inputs could now be marked as required, catching missing bindings at compile time instead of silently rendering with undefined.
@Input({ required: true }) userId!: string;
Non-Destructive Full App Hydration
Server-side rendered Angular apps gained non-destructive hydration, reusing existing DOM nodes on the client instead of tearing down and re-rendering the whole page — improving load performance and reducing flicker.
Router Input Binding
Route parameters could now be bound directly to component inputs, removing the need to manually subscribe to ActivatedRoute in many simple cases.
{ path: 'user/:id', component: UserComponent }
// In UserComponent, with withComponentInputBinding() enabled:
@Input() id!: string;