Just in time for the end of April, the Angular team has taken the next milestone on the way to Angular 8: The First Release Candidate phase has begun! With Angular 8.0.0-rc.0 there are many new features available. Included: Support for all who still use AngularJS!
The release cycle of Angular provides for a new major release every six months. That works better, but sometimes not so good. At Angular 7 the release came on time in October. Thus, Angular 8 would have to follow in April or May 2019. Until then, it continues first with minor releases of Angular 7 and then the beta versions of Angular 8.
Angular 8: First release
With Angular 8.0.0-rc.0 the first release candidate for the upcoming major version is ready. This leaves the Angular team in the timeframe presented in February. The final release could be published in a month. However, the release candidate brings numerous new features, including a breaking change and a whole host of new features. One of them follows directly from the last beta release: As announced, the DOCUMENT token marked as deprecated has also been removed from the Platform Browser area.
Seven of the new features are part of the newly introduced Location Services API , which is backward compatible with AngularJS, version 1. The API should facilitate migration for projects still using this version. Among the features added for this is getting the value of history.state without using the router or the DOM. So now Location Transition Events for AngularJS applications can be executed. Previously, there was no option in Angular to fully output URLs, including hostname, port and other information. But the new API changes that and wants to make the neighbor of URLs easier.
Also conflicts between AngularJS and Angular, which resulted from different versions of the URL control versions, have now been resolved. The new API includes an alternative to $location : With the new LocationUpgradeProvider , read and write URLs are processed centrally by Angular. AngularJS is still in the LTS phase until July 2021. Further minor releases are no longer planned. Release branch 1.2.x only receives updates for serious security vulnerabilities; v1.7.x receives patches for vulnerabilities, as well as changes to major browsers or jQuery that cause AngularJS applications to stop working. In summer 2021 the support time of Angular 1.x will end.
The first release candidate for Angular 8 also includes three new features for the Angular Service worker. Developers can now configure when service workers should be registered, as in some cases the registry does not start automatically. To SwRegistrationOptions this, SwRegistrationOptions added. The third new feature for service workers allows them to be explicitly omitted in requests.
There is also a new feature for compilers, core and routers:
- compiler: support skipping leading trivia in template source-maps (# 30095) (304a12f)
- ARIA attributes to html sanitizer (# 29685) (909557d), closes # 26815
- router: deprecate loadChildren: string (# 30073) (c61df39)
The breaking change in Angular 8 first release candidate concerns Bazel.ng_modules assumes in Bazel now that at least build_bazel_rules_nodejs 0.27.12 exists as a dependency.
In addition, the first release candidate brings numerous bug fixes, which can be read in the changelog .