Angular 9 update: release candidate has been released. Here are some bug fixes and performance improvements. However, there are no new features in Angular 9.0.0-rc.6.

Angular 8, with polite delay, saw the light of day in June. But after the release is before the release and already in autumn Angular 9 is on the plan, more precisely: it should be ready in October or November. Whether this appointment is met, or Angular 9 is a gift from Nicholas? We will see. But there is still a long way to go and the smaller releases, i.e. Angular 8.1, 8.2 etc., are traditionally at home.

Angular 9 update: The Release Candidates

Angular 9 – RC 6

The number of release candidates for Angular 9 is increasing. After RC.5, RC.6 has now been released. Some bugs have been fixed again, and the latest release candidate has two performance improvements to Ivy. Work was done on the handling of listener and styling instructions. These are now linked when there are several of them so that less code has to be generated. There were also bug fixes not only for Ivy, but also for other areas of the framework, such as the compatibility compiler ngcc. Among other things, an error has been fixed there in the determination of the package path, so that now always the bundle rootDir is used.

The previous release, Angular 9.0.0-rc.5, showed a similar picture. The focus was on bug fixes and performance, not on feature development. Angular 9 had been announced for the end of 2019, but a final release date is not known.

Angular 9 – RC 4

Another release candidate of Angular 9 is available. With Angular 9.0.0-rc.4, numerous bugs were fixed again, including many on Ivy. For example, in AOT-compiled components there is no longer a check for unknown components at runtime, since in some cases this failed, even though the check was successfully carried out during compilation. Other parts of Angular have also been improved, such as the ngcc compatibility compiler, which also fixed some bugs. For example, ngcc no longer crashes when types are specified as an array.

The latest release candidate from Angular 9 also brings two new features to the language service. Completions for indexed types and tuple arrays are now available there. For the performance, there are also news: three innovations to Ivy Angular 9 make faster.

Release Candidate 3

Angular 9 has received another release candidate. The latest version, Angular 9.0.0-rc.3, mainly comes with a long line of bug fixes. But there are also two feature updates and four performance improvements for Ivy. The latter includes, for example, that public input names are no longer stored in two locations and a micro benchmark for directive input updates has been added.

Ivy also stands out among the bugfixes: A total of 17 bugs on the new compiler have been fixed for this release candidate. These include two innovations for the i18n area, where the character is now correctly escaped in $localize messages. This correctly interprets it as a marker for metadata. In addition, the sequences “” , “`” and “${” now supported in $localize messages.

The new features do not affect the compiler this time, but Bazel and the Core. Bazel has been upgraded to v1.1.0. At the core, the missing-injectable migration was worked on, which now also migrates empty object literal providers.

Release Candidate 2

The latest release candidate for Angular 9 continues to work on the performance. This time, however, the corresponding change is in the Core again and does not affect Ivy. Factories in providerToRecord are only generated when it is really necessary. In the area of ​​Ivy, however, some innovations were tried out and immediately withdrawn. There are three reverts in the release that caused problems. In addition, Angular 9.0.0-rc.2, the third release candidate, only comes with a number of bug fixes that can be found in the changelog on GitHub as always

Release Candidate 1

The second release candidate for Angular 9 brings some innovations. Unlike the first RC release, it shows here that there is still some work in progress on the new major version of the framework. Of course, numerous bugs have been fixed, including one in the i18n support area in Ivy. Here, the error messages were worked on themselves, which should now be more meaningful. For Ivy there were also new features. The compiler now recognizes unknown elements during rendering, even if just-in-time mode is used. Previously, this function was only available in ahead-of-time rendering in Ivy. There was also a new feature for the static interpreter for dealing with unknown or invalid expressions. What has changed can be found in the corresponding pull request .

Performance is also still a factor in the development of the new version of Angular. Six changes were delivered to Ivy in the second release candidate.

Release Candidate 0

The first release candidate for Angular 9 update is here. This makes the Angular team a big step towards the next major release. The RC phases of the previous releases were comparatively short: There were six RC versions for Angular 8, Angular 7 even got by with just one, so the final release followed RC.0 directly last year.

How many release candidates Angular 9 will get is unknown. However, work on major innovations and breaking changes appears to have largely been completed. According to the changelog, the first release candidate does not bring any changes, but already refers to the official update guide for the new version. There all important innovations are summarized at v9. The version brings three breaking changes, which can now be read in the overview. This includes the fact that Ivy is known to be the default compiler and requires Angular 9 TypeScript 3.6. In addition, the change at tslib continues to count as a breaking change, since it was integrated as a peer dependency.