Angular 6 ist da - jetzt geht es weiter!

Auf dem Weg zu Angular 7: Angular 7.0.0-beta.2 veröffentlicht

Ann-Cathrin Klose

© Google / CC BY 4.0

Die Arbeit an Angular 7 nimmt Fahrt auf: Die dritte Beta-Version, Angular 7.0.0-beta.2, ist da und bringt Bugfixes mit.
 

Angular 7 wird voraussichtlich im Herbst 2018 erscheinen. Das Team hinter Angular plant, alle sechs Monate eine neue Major-Version zu veröffentlichen; das entspräche einer Veröffentlichung von Angular 7 Anfang November. Ein genaues Releasedatum legt man inzwischen aber nicht mehr im Voraus fest, wie dem Angular-Guide zu entnehmen ist. Aus der Angular Roadmap 2018 ist allerdings bekannt, dass zu Version 7 beispielsweise der Ivy Renderer fertig gestellt werden soll, der in Angular 6 als Beta-Version verfügbar ist. Bevor Angular 7 bereit steht, wird es jedoch noch einige Updates für Angular 6 geben.


Update vom 15. August 2018

Angular 7.0.0-beta.2

Wie immer wurden auch die Beta-Releases von Angular 7 ab Version 0 durchnummeriert. Angular 7.0.0-beta.2 ist also schon die dritte Beta-Version von Angular 7. Das Release fällt allerdings klein aus: Nur zwei Bugfixes sind dieses Mal dabei. Bei einem handelt es sich um eine Änderung an Bazel. Hier wurde ein Type Mismatch im Zusammenhang mit devmode_js ausgebessert. Der zweite Bugfix findet sich im Service Worker. Bislang hat dieser die Einstellung Cache-Control: no-cache zwar erlaubt, bei ihrer Verwendung aber einen Fehler ausgegeben. Dieses Verhalten wurde nun angepasst, wie dem entsprechenden Pull Request zu entnehmen ist. Alle weiteren Informationen zu Angular 7.0.0-beta.2 können wir immer den Release Notes auf GitHub entnommen werden.



Update vom 9. August 2018

Angular 7.0.0-beta.1

Die zweite Beta-Version von Angular 7 ist da. Neu dabei ist das DoBootstrap-Interface. Ein solches Interface existiere bereits für alle anderen Lifecycle-Hooks, nicht aber für ngDoBootstrap, wie im entsprechenden Feature Request auf GitHub nachzulesen ist. Das führe bisher zu Linter-Warnungen, die mit Angular 7 wegfallen werden. Auch fehle ngDoBootstrap bislang in der Dokumentation. Das neue Interface biete hier einen Einstiegspunkt, um das Verhalten und die Verwendung zu dokumentieren.

Neben dem neuen Interface bringt das Beta-Release einige Bugfixes mit. Darunter sind je ein Bugfix am Compiler-CLI, am Router und am Core, sowie eins für ngfactory- und ngsummary-Files. Alle Neuerungen können wie immer auf GitHub nachgelesen werden.



Update vom 06. August 2018

Erste Betaversion von Angular 7 erschienen!

Während die aktuelle Version Angular 6.1 mit Angular 6.1.1 bereits eine Woche nach der großen Veröffentlichung ein kleines Bugfix-Update bekommen hat, ist endlich auch die erste Betaversion von Angular 7 erschienen, doch dazu gleich mehr. Das Bugfix beinhaltet lediglich ein Update für die tsickle Dependency, sodass TypeScript 2.9 unterstützt wird.

Angular 7.0.0-beta.0

Die erste Beta von Angular 7 bringt nicht viel Neues, allerdings sind das ja bekanntlich keine schlechten Nachrichten. Vier Bugfixes und ein neues Feature haben es in die Vorabversion geschafft, besonders der Compiler und das Kommandozeilenwerkzeug des Compilers standen im Fokus, aber auch ein Bug im Angular Core wurde gefixt.

Das neue Feature für den Compiler ist ein Update für die XMB-Platzhalter (<ph>), sodass nun der originale Wert zu dem Beispielwert hinzugefügt wird. Platzhalter können so ein Beispiel-Tag (<ex>) und einen Text-Node haben, wobei letzterer vom TC als „Originalwert“ des Platzhalters genutzt wird, das Beispiel hingegen stellt einen Dummy-Wert dar. Das folgende Beispiel stellt sicher, dass ein Originaltext vorhanden ist, kümmert sich aber nicht darum, ob das Beispiel korrekt ist.

<ph name="PET"><ex>Gopher</ex>{{ petName }}</ph>

Breaking Changes verursacht diese Änderung zum Glück nicht, aber Tools, die auf der vorherigen Verhaltensweise aufbauen, könnten eventuell nicht mehr den XMB parsen. Also aufgepasst!

In Sachen Bugfixes kann die Funktion compile_strategy nun auch endlich importiert werden und der Compiler ist nun in der Lage eingebettete Template-Funktionen zu „flatten“. Im Compiler CLI wurde realPath zu realpath korrigiert und Angular gibt ab sofort eine Fehlermeldung aus, wenn @Output nicht initialisiert wird.

Alle Informationen rund um die erste Betaversion von Angular 7 gibt es wie immer auf GitHub.



Update vom 26. Juli 2018

Angular 6.1 ist da!

Angular 6.1 ist erschienen. Das Minor-Release versammelt die Bugfixes und Erweiterungen der Vorversionen zu einem produktionsreifen Release.  67 behobene Fehler und ca. 20 neue Features wurden dabei umgesetzt.

Zu den Highlights gehört der Support für ShadowDOM v1, die Nutzung von async/await mit Jasmine und die Nutzung des EventManager-Plug-ins auf dem Server. Unterstützt wird TypeScript 2.9.

Beachten sollte man den Breaking Change, der ein Update auf Angular 6.1 mit sich bringt. Die Nutzung von @angular/bazel Rules benötigen nun den Aufruf von ng_setup_workspace() in der Workspace-Datei. Das Beispiel in den Release Notes sieht folgendermaßen aus:

local_repository(
    name = "angular",
    path = "node_modules/@angular/bazel",
)

load("@angular//:index.bzl", "ng_setup_workspace")

ng_setup_workspace()

Update vom 20. Juli 2018

Angular 6.1.0-rc.3

Acht Tage nach dem ersten Release Candidate von Angular 6.1 steht auf einmal Version 6.1.0-rc.3 bereit. Was ist denn da los? Angular 6.1.0-rc.1 und 6.1.0-rc.2 sind auf GitHub nicht zu finden. Das Changelog gibt aber doch Auskunft darüber, was es mit dieser Unregelmäßigkeit auf sich hat:

Note: the RC.1/2 releases on npm accidentally glitched-out midway, so we cut RC.3 instead. Sorry! 🙂

Das Angular-Team hat also keine drei Release Candidates in acht Tagen veröffentlicht, Entwickler haben nichts verpasst. Was ist nun aber neu in 6.1.0-rc.3? Vor allem an Bazel wurde gearbeitet, wie das Changelog zeigt. Dafür wurde eine erste Implementierung des Features protractor_web_test_suite vorgenommen. Außerdem wurde im Bereich des Routers die Option urlUpdateStrategy eingeführt. Damit kann die Browser-URL zu Beginn der Navigation aktualisiert werden. Weiterhin wurde erneut am Support für ShadowDOM v1, async/await in Jasmine und dem ? als Gobbling-Zeichen in der SW-Config gearbeitet.

Das Release umfasst außerdem zahlreiche Bugfixes, beispielsweise für den 18n_extractor im Compiler, der nun die richtigen Source-File-Namen ausgibt. Einen Überblick über die Neuerungen in Angular 6.1.0-rc.3 gibt wie immer das Changelog auf GitHub.

Angular 7 Roadmap
Angular 7 wird voraussichtlich im Herbst 2018 erscheinen. Das Team hinter Angular plant, alle sechs Monate eine neue Major-Version zu veröffentlichen; das entspräche einer Veröffentlichung von Angular 7 Anfang November. Ein genaues Releasedatum legt man inzwischen aber nicht mehr im Voraus fest, wie dem Angular-Guide zu entnehmen ist. Aus der Angular Roadmap 2018 ist allerdings bekannt, dass zu Version 7 beispielsweise der Ivy Renderer fertig gestellt werden soll, der in Angular 6 als Beta-Version verfügbar ist. Bevor Angular 7 bereit steht, wird es jedoch noch einige Updates für Angular 6 geben.

Update vom 12. Juli 2018

Angular 6.1.0-rc.0

Kurz nach Angular 6.0.8 ist nun das nächste Update für die noch in Arbeit befindliche Version Angular 6.1 erschienen. Mit Angular 6.1.0-rc.0 hat die erste Minor-Version von Angular 6 die Beta-Release-Phase verlassen. Der erste Release Candidate bringt zahlreiche Bugfixes und vier neue Features mit. Eins davon ist bereits aus Angular 6.0.8 bekannt: ShadowDOM v1 wird auch von Angular 6.1 unterstützt.

Angular 6.1 bringt außerdem Support für TypeScript 2.9 mit und im Bereich des Core wird nun die Verwendung von Async/Await mit Jasmine unterstützt. In der Config für Service Worker kann mit der neuen Version ? als Zeichen im Rahmen des Globbings von Dateinamen verwendet werden. ? kann als Platzhalter für ein Zeichen verwendet werden, wobei / ausgeschlossen ist.

Weitere Informationen zum Release sind im Changelog auf GitHub zusammengefasst.


Update vom 12. Juli 2018

Angular 6.0.8

Seit dem Erscheinen von Angular 6.1.0-beta.3 Ende Juni gab es keine neuen Beta-Releases mehr. Die Arbeit an Angular 6 geht aber weiter: Nun steht Angualr 6.0.8 zur Installation bereit. Dieses Release bringt acht Bugfixes und ein neues Feature mit. Zu den Bugfixes gehört einer, der das Verhalten beim Aufrunden von Sekunden korrigiert. Außerdem wird durch lookupResourceWithHash() nun kein Netzwerk-Request mehr ausgelöst und Code, der im Router eine Exception auslösen könnte, wird nun innerhalb der try/catch-Construction eingebettet, sodass Apps in diesem Fall nicht mehr abstürzen.

Angular 6.0.8 bringt außerdem ein neues Feature mit: Support für ShadowDOM v1. Dabei handelt es sich um eine neue ViewEncapsulation-Option, die mit .attachShadow({ mode: 'open' }) arbeitet. Das API ViewEncapsulation-API v0 bleibt jedoch unverändert, um Breaking Changes zu vermeiden. In Zukunft könnte das nun integrierte neue API v1 allerdings zur Deprecation von Version 0 führen.

Alle Informationen zum Release können dem Changelog auf GitHub entnommen werden.


Update vom 28. Juni 2018

Angular 6.1.0-beta.2, also die dritte Beta-Version für Angular 6.1.0, erschien vor einer Woche und brachte nur wenig interessantes mit. Zwei Bugfixes vermeldet das Changelog, einer davon betrifft den Compiler. Gelöst wurde dort ein Problem mit Import Statements, die zuvor keinen . enthalten durften. Der zweite Bug betraf den Core und dort den Injector, der seit dem dritten Beta-Release nun korrekt mit dem @Self-Flag umgeht.

Welche Änderungen an 6.1.0-beta.3 vorgenommen wurden, kann dem Changelog hingegen nicht entnommen werden. Hier findet sich zwar ein Hinweis darauf, dass die neue Beta erschienen sei; Release Notes fehlen jedoch. Betrachtet man aber den unmittelbaren Vergleich der Commits zwischen der vorherigen und der neuen Beta-Version, zeigt sich, dass die Entwickler nicht untätig waren. Unter den 56 verzeichneten Commits finden sich erneut einige Neuerungen am Ivy Renderer, an dem zur Zeit offenbar besonders aktiv gearbeitet wird. Bearbeitet wurden dabei sowohl Bugs als auch ein neues Feature für Ivy:

  • ngInjectorDef generation in JIT and AOT (#24632)

Da der entsprechende PR geschlossen wurde, ist davon auszugehen, dass das neue Feature in der gegenwärtigen Beta verfügbar ist. Nähre Informationen zur neuen Beta sind dieses mal nicht über das Changelog verfügbar, sondern können dem Versionsvergleich zwischen Angular 6.1.0-beta.2 und 6.1.0-beta.3 entnommen werden.

Auf das Major Release von Angular 6 folgten erst einmal vier Bugfix-Releases. Angular 6.0.1 bis 6.0.4 lösen Probleme an verschiedenen Bereichen von Angular, darunter einige Bugs an Angular Animations sowie im Bereich der Service Worker. Nur einen Monat nach Erscheinen der neuen Major-Version steht außerdem Angular 6.1.0-beta.0 zur Verfügung und damit die erste Beta für das erste Minor-Release für Angular 6.


Update vom 14. Juni 2018

Angular 6.1.0-beta.1

Nur wenige Tage nach dem ersten Beta-Release von Angular 6.1.0 steht bereits die zweite Betaversion zum Download bereit. Unter dem Namen Angular 6.1.0-beta.1 kann das Update gefunden werden. Die neuen Features der Version umfassen dieses mal gleich vier Änderungen am Ivy Renderer. Nachdem zuletzt eher an den Animations gearbeitet wurde, steht jetzt also wieder Ivy im Fokus, das zu Version 7 final implementiert werden soll.

Zu den neuen Features am Ivy Renderer gehört der Support von SVG- und MathML-Elementen. Außerdem wurden Output Instructions für Attribute mit Namespacing von Elementen neu eingeführt. Das dritte neue Feature für den Ivy Renderer ist der Support für ApplicationRef.bootstrapModuleFactory, beim vierten handelt es sich um eine neues Utility für den Aufruf von TS ASTs, das synnthetische Nodes unmittelbar vor bestimmten Arten von Nodes einsetzen kann.

Weitere neue Features in Angular 6.1.0-beta.1 betreffen den Core und den Router. Für den Router wurde ein Scrolling Restoration Service implementiert, der Core hat zwei neue Features bekommen. Ein weiteres neues Feature ist die Einführung von KeyValuePipe. Einen Überblick über alle Neuerungen und die Bugfixes im Release gibt es wie immer im Changelog auf GitHub.


Originalbeitrag vom 14. Juni 2018

Angular 6.1.0-beta.0

Auch die nun erschienene Beta-Version von Angular 6.1 bringt zuerst einmal zahlreiche Problemlösungen mit und fasst die Bugfixes zusammen, die in den vorherigen Releases vorgenommen wurden. Darunter ist beispielsweise ein Fix für das Segment-Parsing im Router, das in Version 6 kein Ampersand verarbeiten konnte. Angular 6 brachte im Bereich der Animationen außerdem einen Bug mit, der die Unterscheidung von Browser- und Serverumgebungen gestört hat. Dieser wurde inzwischen behoben. Einen Überblick über alle Bugfixes in Angular 6.1.0-beta.0 gibt es im Changelog auf GitHub.

Außerdem stellt das Changelog die neuen Features vor, die mit der Beta-Version eingeführt werden. Insgesamt bringt das Release sechs neue Features mit. Eine davon betrifft  Mock Compiler Expectations, die nun Kommentare mit // ... und // TODO unterstützen. Für das Compiler-CLI wurde tsickle auf Version 0.29.x gesetzt. Für den Bereich Platform-Browser ist nun Lazy-Loading von HammerJS möglich, dafür wurden außerdem die entsprechenden Symbole zum Public API hinzugefügt. Daneben kann das EventManagerPlugin in der neuen Version auf dem Server genutzt werden. Dem Router wurden eine Navigation Execution Context Info für Activation Hooks hinzugefügt.

Geschrieben von
Ann-Cathrin Klose
Ann-Cathrin Klose
Ann-Cathrin Klose hat allgemeine Sprachwissenschaft, Geschichte und Philosophie an der Johannes Gutenberg-Universität Mainz studiert. Bereits seit Februar 2015 arbeitete sie als redaktionelle Assistentin bei Software & Support Media und ist seit Oktober 2017 Redakteurin. Zuvor war sie als freie Autorin tätig, ihre ersten redaktionellen Erfahrungen hat sie bei einer Tageszeitung gesammelt.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: