The development of the next major version of the TypeScript-based web framework is underway.
Angular 13, a planned upgrade to Google’s popular TypeScript-based web framework, continues to take shape, with eight beta releases published as of September 24, impacting areas such as the router, core, and service workers.
Code for these can be found on GitHub. Among the key changes since the second beta, the router no longer replaces the browser URL when a new navigation cancels an ongoing navigation. This had caused URL flicker and served only to support some AngularJS hybrid applications. Hybrid apps that rely on
navigationId to the router instead should subscribe to
NavigationCancel events and conduct the
location.replaceState themselves to add
navigationId to the router state.
Elsewhere in recent Angular 13 betas:
- The behavior of the
SpyLocationused by the
RouterTestingModulehas been changed to match the behavior of browsers.
- For the core, pure annotations are being added to static property initializers. Class properties with initializers that cause code execution can have side effects at module evaluation, similar in effect to module level code. Thus, optimizers cannot safely remove a class with such a static property, as potential side effects may impact application execution. To allow classes with these types of static properties to be optimized and removed if unused, the initializer expressions for the static properties can be annotated as pure.
- Service worker cache is cleared in the safety worker to ensure stale or broken contents are not served in future requests.
- For the platform-browser, the error message has been improved for a missing animation trigger.
The first two beta releases introduced changes to forms and the router.