Angular 7: Bald ist es so weit...

Auf dem Weg zu Angular 7: 7.0.0-rc.1 veröffentlicht

Ann-Cathrin Klose

© Google / CC BY 4.0

Weiter geht’s auf dem Weg zu Angular 7. Es geht weiter bei Angular 7 und irgendwie doch nicht. Angular 7.0.0-rc.1 ist da. Viel getan hat sich aber nicht.
 

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. Oktober 2018

Angular 7.0.0-rc.1

Der zweite Release Candidate von Angular 7 steht zum Download bereit. Zu finden ist die neue Version wie immer auf GitHub, genau wie ihre Release Notes. Diese fallen dieses Mal jedoch besonders kurz aus: Gearbeitet wurde an Ivy, dem neuen Renderer für Angular, der mit dem finalen Release von Angular 7 die Beta-Phase verlassen wird. Für die Anwender gibt es in dieser Beta-Version dennoch keine spannenden neuen Features zu testen. Alle Neuerungen an Angular 7.0.0-rc.1 seien interner Natur, so steht es in den Release Notes. Für den Nutzer ändert sich nichts.



Update vom 4. Oktober 2018

Angular 7: Die letzten Betas & die ersten Release Candidates

Angular 7.0.0-beta.6 & Angular 7.0.0-beta.7

Mit Angular 7.0.0-beta.6 und 7.0.0-beta.7 ist der Beta-Release-Zyklus für das neue Major-Release abgeschlossen. In Angular 7.0.0-beta.6 wurde noch einmal intensiv an Ivy gearbeitet, dem neuen Renderer, der mit der neuen Version final und produktionsreif implementiert werden soll. Insgesamt fünf neue Features für Ivy bracht das Release mit, darunter eins, das die Integration von Animations in Metadaten verbessert. Auch bei den Bugfixes finden sich sechs Neuerungen für Ivy in diesem Release, sowie einige weitere Änderungen.

Angular 7.0.0-beta.7, das letzte Beta-Release vor dem ersten Release Candidate, fiel deutlich kleiner aus. Zwei Bugfixes und zwei neue Feautres umfasst die letzte Beta. Eins der neue Features betrifft das Compiler-CLI. Dort ist es nun möglich, auch angularCompilerOptions zu erweitern.

Angular 7.0.0-rc.0

Der erste Release Candidate von Angular 7 kommt ganz ohne Bugfixes daher. Das muss aber nicht heißen, dass die neue Version keine Ausbesserungen mehr bekommen wird. Angular 7.0.0-rc.0 fügt nämlich ein weiteres Feature zur neuen Version hinzu: Angular 7 unterstützt nun TypeScript 3.1, das selbst erste in der vergangenen Woche final erschienen ist.

Wie viele Release Candidates für Angular 7 vorgesehen sind, ist nicht bekannt. Auch ein finales Release Datum für Angular 7 hat das Angular-Team bislang nicht bekannt gegeben.



Update vom 6. September 2018

Angular 7.0.0-beta.5

Mit der sechsten Beta von Angular 7, Angular 7.0.0-beta.5, wurden zwei neue Features für Angular 7 veröffentlicht. Eines der neuen Features betrifft Angular Elements. Hier wurde die Verwendung von <slot> in Shadow DOM v1 aktiviert, das bereits aus früheren Updates bekannt ist. Der Router gibt nun außerdem eine Warnung aus, wenn Navigationen außerhalb von NgZone ausgelöst werden sollen.

Bugfixes gab es zu diesem Beta-Release an diversen Bereichen von Angular 7; das Release ist also deutlich größer ausgefallen als die vorherigen. Darunter sind drei für Angular Elements, zwei für den Core, eins für Bazel. Einen Überblick über alle Bugfixes und neuen Features gibt das Changelog auf GitHub.

Das finale Release von Angular 7 soll laut Release Schedule noch im September oder Oktober 2018 erfolgen. Genaue Informationen zur geplanten Zahl der Beta-Versionen und zum Zeitpunkt des Übergangs in die Release-Candidate-Phase veröffentlicht das Angular-Team allerdings nicht mehr, sodass nicht ersichtlich ist, inwiefern Angular 7 derzeit im Zeitplan liegt.


For free: The iJS React Cheat Sheet

You want to get started with React?
Our Cheat Sheet includes all the most important snippets.
Get the sheet for free!

Download for free

 

API Summit 2018
Christian Schwendtner

GraphQL – A query language for your API

mit Christian Schwendtner (PROGRAMMIERFABRIK)


Update vom 30. August 2018

Angular 7.0.0-beta.4

Statt neuer Features gibt es dieses Mal nur Bugfixes im neusten Release der Beta-Phase von Angular 7. Die fünfte Beta-Version, Angular 7.0.0-beta.4, umfasst vier Bugfixes, darunter drei für Bazel. Das Build-Tool Bazel cached nun fileNameToModuleName Lookups. Wenn Dateien nicht als Bazel Worker ausgeführt werden, soll so Aufwand für das bislang notwendige Re-Parsing der Datei gespart werden. Außerdem wurden von Bazel gemanagede Runtime-Dependencies in ng_setup_workspace verschoben, sodass sie nun auch später im Verarbeitungsprozess im NG CLI verfügbar sind. Dies erzeugte bislang eine Fehlermeldung. Das dritte Bugfix für Bazel löst ein Performance-Problem in g3. Künftig werden Sourcefiles nicht mehr geparsed, wenn der Modulname benötigt wird. Stattdessen werden die die entsprechenden Tags in den .d.ts-Dateien ausgelesen.

Das vierte Bugfix betrifft den Compiler, der eine Aktualisierung bezüglich der neuen Reihenfolge zur Slot Allocation erhalten hat. Hier wurden die Anweisungen unter reserveSlots entfernt. So soll sichergestellt werden, dass Binding und Interpolation Counts berücksichtigt werden, wenn der Zeitabstand der Slots berechnet wird.

Weitere Informationen zum Release gibt es wie immer im Changelog auf GitHub.



Update vom 23. August 2018

Angular 7.0.0-beta.3

Gewohnt klein fällt die vierte Beta von Angular 7 aus, die unter der Versionsnummer Angular 7.0.0-beta.3 auf GitHub zur Verfügung steht. Gearbeitet wurde zu diesem Release an einem Feature: Dem Router wurde UrlSegment[] im Interface CanLoad hinzugefügt. UrlSegment[] kann neben Route als zweiter Parameter an das Interface übergeben werden. Das neue Element wird genutzt, um URL-Elemente zu übergeben, die der Nutzer aufgerufen hat, bevor er eine bestimmte Seite besucht. Als Anwendungsfall wird im entsprechenden PR wird ein Authentifizierungsprozess beschrieben, an dessen Ende der Nutzer durch die via UrlSegment[] übergebenen Parameter zurück zur Startseite navigieren kann.

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.

For free: The iJS React Cheat Sheet

You want to get started with React?
Our Cheat Sheet includes all the most important snippets.
Get the sheet for free!

Download for free

 

API Summit 2018
Christian Schwendtner

GraphQL – A query language for your API

mit Christian Schwendtner (PROGRAMMIERFABRIK)


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: