Wieder wurden gleich zwei Updates für Angular 5 veröffentlicht: Angular 5.1.3 und Angular 5.2.0 sind da. In beiden Fällen handelt es sich bei den neusten Änderungen primär um Bugfixes. Angular 5.2 bringt aber auch einige Updates mit.
Angular 5.1.3
Mit Angular 5.1.3 endet der Release Zyklus 5.1.x und wie zu erwarten war, gab es lediglich ein paar weitere Bugfixes für Angular 5.1: Unter anderem werden unendliche Schleifen in Animationen bei der Verwendung von mehreren Sub-@triggers
verhindert, hierarchisch höher liegenden Animation geblockt werden.
Ebenfalls im Bereich Animationen wurde das Problem des Closure Compilers mit der Umbenennung von DOMAnimation
behoben. Der Compiler benannt alle Eigenschaften eines Programms um, die als „intern“ erkannt werden. Da DOMAnimation
allerdings extern ist, wird diese nun per declare interface
als solche markiert und vom Compiler nicht mehr umbenannt.
Angular 5.2.0
Neben den bereits aus der Beta-Phase bekannten Features gibt es für den Compiler noch weitere neue Funktionen. Direktiven können nun zum Beispiel einen Ausdruck, der an eine Property ausgegeben wurde, als sogenannten Router Guard nutzen, anstatt den Typ durch eine Type Expression zu filtern. Dadurch kann ngIf
einen ngIf
-Ausdruck direkt als Guard nutzen, was der eigentlichen Intention besser entspricht und für eine verbesserte Typinferenz sorgt. Die Nutzung dieser Art von Guard ersetzt nun die bisher gültige Nutzung von Guards, die auf Funktionen basieren.
Auch interessant: Angular 5 – das sind die neuen Features
Ansonsten lag der Fokus des ersten Release Candidates von Angular 5.2 und dem fertigen Release auf dem Bugfixing, wobei die Bugfixes von Angular 5.1.3 eins-zu-eins für die RC-Version übernommen wurden (siehe oben). Im finalen Release wurden vier weitere Bugs gefixt, unter anderem werden im Bereich Bazel nun die korrekten Modulnamen für den ES6-Output ausgegeben.
In Sachen Benchpress gibt es eine Vorwärtskompatibilität mit dem selenium_webdriver 3.6.0
und einen Workaround für die Probleme mit Chrome 63. Es kann zuweilen vorkommen, dass Chrome 63 beim ersten Lauf des Events navigationStart
dafür sorgt, dass dieses eine andere PID hat, als beim Benchpress-Lauf. Dadurch sind die gesammelten Ergebnisse des ersten Laufs ungültig. Mit dem in Angular 5.2 eingebauten Workaround werden solche Läufe ignoriert.
Weitere Informationen zu den aktuellen Versionen von Angular gibt es wie immer im offiziellen Changelog auf GitHub. Dort findet sich auch der offizielle Release-Plan.