Zone.js is a library Angular has historically used to know when to run change detection. It patches browser async APIs so Angular can automatically detect any event that might change state. Zoneless Angular removes this dependency, relying on signals and explicit notifications instead.
What Zone.js does
Zone.js monkey-patches async APIs: setTimeout, addEventListener, Promise,
XHR/fetch, etc. When any of them fires, Zone.js notifies Angular →
Angular runs change detection automatically.
This is the "magic" behind Angular's automatic updates: you change a property after an HTTP response or a click, and the view just updates — because Zone.js told Angular that an async event completed.
