Auf dem Weg zu Angular 11: Breaking Changes in Next.2-Release
Angular 11 hat ein neues Next-Release erhalten. Mit dabei sind dieses Mal gleich drei Breaking Changes. Nicht alle davon betreffen jedoch alle Nutzer des Frameworks.
Angular 11: Die Next-Releases
Angular 11.0.0-next.0
Der erste Next-Build von Angular 11 bringt gleich einen Breaking Change mit, der zu den Angular Forms gehört. Wenn die Klassen-Instanzen von FormControl
, FormGroup
und FormArray
mit Async-Validators gearbeitet haben, die zur Initalisierungszeit definiert werden, wurde ein Status Change Event ausgelöst. Das hat sich nun geändert. In Zukunft wird in diesem Fall ein Status-Event in das statusChanges
-Observable übergeben. Auch ein neues Feature gibt es bereits, wie dem Changelog entnommen werden kann.
Angular 11.0.0-next.1
Mit der Version next.1 steht bereits der zweite Test-Build von Angular 11 zur Verfügung. Das Release bleibt klein, bringt aber eine wichtige Neuerung mit: Wer mit CollectionChangeRecord
arbeitet, muss in Zukunft auf IterableChangeRecord
umsteigen. CollectionChangeRecord
wurde entfernt und steht somit nicht mehr zur Verfügung. Neben diesem Breaking Change bringt die Next-Version nur einige Bugfixes mit. Darunter ist eine Änderung am Router, der Lazy Loading jetzt auch für Named Outlets unterstützt, wenn diese eine leere Route enthalten. Bislang konnte Lazy Loading in diesem Spezialfall nicht verwendet werden. Weitere Informationen können wie immer dem Changelog auf GitHub entnommen werden.
Angular 11.0.0-next.2
Drei Breaking Changes: Angular 11.0.0-next.2 bringt einige Änderungen am Framework mit. Das dritte Next-Release fällt somit deutlich größer aus als die ersten beiden; Sorgen machen müssen sich Entwickler aber nicht. Wie immer handelt es sich nämlich um Breaking Changes, die nicht unbedingt alle betreffen. So wird eine Neuerung für DatePipe
als Breaking Change gelistet, die das Rundungsverhalten bei Strings mit Zeitangaben im Millisekunden-Bereich verändert. Statt immer auf die nächtgelegene volle Millisekunde zu runden, wird nun immer abgerundet. Das sollte jedoch nur die wenigsten Anwendungen betreffen, wie dem Changelog zu entnehmen ist. Wer dennoch ein anderes Verhalten benötigt, kann die Zeitangabe vorab verarbeiten lassen und erst danach an DatePipe
übergeben.
Ein weiterer Breaking Change für Angular 11, der in Version Next.2 enthalten ist, betrifft den Router. Spezifisch ändert sich das Verhalten beim Aufruf von RouteReuseStrategy#shouldReuseRoute
. Die Reihenfolge der zukünftigen und gegenwärtigen Argumente war bisher vertauscht worden. Dieser Fehler wurde korrigiert; wenn Projekte das derzeitige Verhalten voraussetzen, muss dies angepasst werden. Der dritte Breaking Change ist am Locale Data API vorgenommen worden. Arrays sind hier in Zukunft nicht mehr veränderbar, sondern wurden als read-only markiert. Wenn eine Veränderung, z.B. sort()
oder push
auf dem Array durchgeführt werden soll, muss nun eine Kopie erstellt werden.
Darüber hinaus bringt Next.2 eine Reihe neuer Features am Bereich Compiler-CLI mit und verbessert die Performance. Einen Überblick über alle Neuerungen gibt wie immer der Changelog auf GitHub.
Angular 10.1: Die Neuerungen
Parallel zum ersten Next-Release von Angular 11 ist auch die erste Minor-Version von Angular 10 erschienen. Das Minor Release bringt eine ganze Reihe von Neuerungen mit. So wurde async
beispielsweise zu waitForAsync
umbenannt, um deutlicher zu machen, was damit erreicht wird. Für die Performance wurde auch einiges getan, wie dem Changelog entnommen werden kann. Wie viele Minor-Versionen Angular 10 bekommen soll, ist nicht bekannt. Das Angular-Team gibt nur an, dass im Allgemeinen mit einer bis drei Minor Releases pro Major-Version geplant werde.
Quelle: https://www.angularjswiki.com/angular/angular-11-roadmap/
Comment