Containerisierung und Agile Softwareentwicklung: Potentiale, Hindernisse und bewährte Methoden

Die Agile Softwareentwicklung hat die Art und Weise, wie wir Software erstellen und bereitstellen, revolutioniert, indem sie iterative Entwicklungszyklen und eine ständige Feedback-Schleife fördert. Parallel dazu hat die Einführung der Containerisierungstechnologie das Spielfeld verändert und bietet eine Reihe von Vorteilen, die sich hervorragend in das agile Paradigma einfügen.

Chancen der Containerisierung für die Agile Softwareentwicklung

Die Containerisierung hat sich als ein enormer Katalysator für die Agile Softwareentwicklung erwiesen. Sie ermöglicht eine schnelle und flexible Bereitstellung von Anwendungen, indem sie eine isolierte Umgebung bereitstellt, in der Anwendungen unabhängig von der zugrunde liegenden Infrastruktur ausgeführt werden können. Dieser Ansatz unterstützt eine effizientere Nutzung von Ressourcen, fördert die Zusammenarbeit und Integration von Entwicklungs- und Betriebsteams und reduziert die Abhängigkeit von spezifischen Betriebssystemen oder Umgebungen.

Die Containerisierung unterstützt auch die Skalierung und Resilienz von Anwendungen. Durch die Nutzung von Container-Orchestrierungsplattformen wie Kubernetes können Teams Anwendungen schnell und nahtlos auf eine größere Anzahl von Servern oder sogar über verschiedene Cloud-Umgebungen hinweg skalieren. Darüber hinaus erhöht die Fähigkeit von Containern, bei Ausfällen schnell neu zu starten, die Gesamtresilienz des Systems.

Herausforderungen bei der Containerisierung von Anwendungen in der Agile Softwareentwicklung

Trotz der vielfältigen Vorteile stellt die Containerisierung auch eine Reihe von Herausforderungen dar. Eine davon ist die erhöhte Komplexität bei der Verwaltung von Container-Orchestrierung und -Deployment. Kubernetes, eine führende Plattform in diesem Bereich, hat zwar eine beeindruckende Funktionalität, aber auch eine steile Lernkurve und kann komplex in der Handhabung sein.

Die Integration von Container-Plattformen in bestehende Tools und Prozesse kann ebenfalls schwierig sein. Viele traditionelle Entwicklungs- und Bereitstellungstools sind nicht darauf ausgelegt, mit Containern zu arbeiten, und erfordern Anpassungen oder sogar vollständige Überarbeitungen, um effektiv genutzt werden zu können.

Darüber hinaus birgt die Containerisierung potenzielle Sicherheitsrisiken. Containeranwendungen eröffnen neue Angriffsvektoren, und die Fehlkonfiguration von Containern kann zu erheblichen Sicherheitsproblemen führen. Zudem besteht eine Abhängigkeit von der Verfügbarkeit und Stabilität der zugrunde liegenden Infrastruktur, was ein zusätzliches Risiko darstellen kann.

Best Practices für die Verwendung von Containern in der Agile Softwareentwicklung

Trotz dieser Herausforderungen gibt es eine Reihe von bewährten Methoden, die Unternehmen dabei unterstützen können, das Potenzial der Containerisierung voll auszuschöpfen. Dazu gehört das Etablieren von klaren Entwicklungs- und Bereitstellungsprozessen für Containeranwendungen. Diese Prozesse sollten den gesamten Lebenszyklus des Containers abdecken, von der Entwicklung und dem Testing über die Bereitstellung bis hin zum Monitoring und zur Wartung.

Ein weiterer wichtiger Aspekt ist die Automatisierung von Build-, Test- und Bereitstellungsprozessen. Tools wie Jenkins, GitLab CI/CD und Spinnaker können hierbei helfen, die Effizienz zu steigern und menschliche Fehler zu minimieren. Insbesondere in Kombination mit Container-Orchestrierungstools wie Kubernetes kann dies zu einer erheblichen Beschleunigung der Entwicklung und Bereitstellung führen.

In Bezug auf Sicherheitsaspekte sollten Unternehmen robuste Zugriffskontrollen implementieren und Verschlüsselung sowohl für Daten in Ruhe als auch für Daten während der Übertragung einsetzen. Tools zur Erkennung von Sicherheitslücken, wie z.B. Aqua Security und Twistlock, können kontinuierliche Scans von Containerbildern durchführen, um bekannte Schwachstellen zu identifizieren und zu beheben.

Schließlich ist die Überwachung und Protokollierung von Containeranwendungen in Echtzeit von entscheidender Bedeutung. Tools wie Prometheus und Grafana bieten wertvolle Einblicke in die Leistung und den Zustand von Containeranwendungen und ermöglichen es Teams, Probleme schnell zu erkennen und zu beheben.

Netplan v0.106 is now available

I’m happy to announce that Netplan version 0.106 is now available on GitHub and is soon to be deployed into an Ubuntu/Debian/Fedora installation near you! Six months and 65 commits after the previous version, this release is brought to you by 4 free software contributors from around the globe.

Highlights

Highlights of this release include the new netplan status command, which queries your system for IP addresses, routes, DNS information, etc… in addition to the Netplan backend renderer (NetworkManager/networkd) in use and the relevant Netplan YAML configuration ID. It displays all this in a nicely formatted way (or alternatively in machine readable YAML/JSON format).

Furthermore, we implemented a clean libnetplan API which can be used by external tools to parse Netplan configuration, migrated away from non-inclusive language (PR#303) and improved the overall Netplan documentation. Another change that should be noted, is that the match.macaddress stanza now only matches on PermanentMACAddress= on the systemd-networkd backend, as has been the case on the NetworkManager backend ever since (see PR#278 for background information on this slight change in behavior).

Changelog

Bug fixes:

Laptop kaufen: Worauf muss geachtet werden

Ein Laptop ist in der heutigen Zeit für viele Personen ein wichtiger Bestandteil des Alltags geworden. Durch die Digitalisierung werden immer mehr Arbeiten und private Hobbys online ausgeführt. Viele Hersteller und noch mehr Produkte machen die Auswahl schier unendlich. Daher ist es wichtig zu wissen, worauf beim Kauf geachtet werden muss.

Das eigene Nutzungsverhalten kennen

Beim Kauf eines Laptops ist es wichtig, sich zu überlegen, wofür Sie ihn verwenden werden. Wenn Sie ein leistungsstarkes Gerät für Spiele oder Videobearbeitung brauchen, sollten Sie darauf achten, dass es einen schnellen Prozessor und eine gute Grafikkarte hat. Wenn Sie nur im Internet surfen und leichte Textverarbeitungsaufgaben erledigen wollen, können Sie auch mit einem günstigeren Modell auskommen. Es ist auch wichtig, die Größe des Laptops zu bedenken. Wenn Sie vorhaben, ihn häufig auf Reisen mitzunehmen, sollten Sie ein leichtes und tragbares Modell wählen. Wenn Sie ihn jedoch hauptsächlich zu Hause verwenden, können Sie sich für einen größeren Bildschirm entscheiden.

Zusatzkosten bedenken

Wenn Sie einen Laptop kaufen, müssen Sie mögliche Zusatzkosten bedenken, die zusätzlich zum Gerät hinzukommen. Nicht immer ist bereits eine Betriebssoftware installiert, weswegen Sie unter Umständen Windows 11 kaufen müssen. Zudem kann weiteres Zubehör nötig sein. Egal ob Maus, Headset oder externes Laufwerk. Die Kosten können sich schnell summieren und gut und gerne mehrere Hundert Euro betragen. Informieren Sie sich vorab über die bereits inkludierten Softwares und Zusatzgeräte, wenn Sie einen Laptop kaufen wollen.

Laptop und Tablet vereinen

Ein Convertible ist ein Computertyp, der sowohl als herkömmlicher Laptop als auch als Tablet verwendet werden kann. Der Hauptvorteil eines Convertibles besteht darin, dass der Benutzer das Gerät je nach seinen Bedürfnissen auf unterschiedliche Weise nutzen kann. Bei der Arbeit an einem Projekt, bei dem viel getippt werden muss, kann das Gerät beispielsweise in den Laptop-Modus versetzt werden und die Vorteile der Tastatur in voller Größe genutzt werden. Wenn jedoch große Dokumente oder Webseiten angezeigt werden müssen, kann den Bildschirm einfach zurückklappen und das Gerät im Tablet-Modus verwendet werden. Convertibles sind in der Regel auch leichter und kompakter als herkömmliche Laptops, sodass sie bequemer mitgenommen werden können.

Die Zukunft der TV-Informationssysteme: Wo geht die Reise hin?

TV-Informationssysteme sind eine wichtige Informationsquelle für viele Menschen. Sie bieten einen Überblick über das aktuelle Fernsehprogramm und informieren über aktuelle Ereignisse. Aber wie funktionieren TV-Informationssysteme und welche Entwicklungen sind in Zukunft zu erwarten?

Die Bedeutung von TV-Informationssystemen

TV-Informationssysteme sind ein wichtiger Bestandteil unserer heutigen Kommunikationslandschaft. Die meisten Haushalte in Deutschland verfügen über einen Fernseher, und die Zahl der Internetnutzer wächst weiter.

Dabei ist TV nicht mehr nur ein reines Unterhaltungsmedium, sondern bietet auch zunehmend Informationsmöglichkeiten. Fernsehsender bieten Nachrichten, Dokumentationen und Ratgeberprogramme an, die für viele Menschen eine wertvolle Informationsquelle darstellen.

Auch im Bereich der Werbung nutzen immer mehr Unternehmen die Möglichkeiten von TV-Informationssystemen. Die interaktiven Funktionen von TV-IS ermöglichen es den Nutzern, gezielt auf die Angebote der Werbekunden zu reagieren und so den Mehrwert des Mediums zu steigern.

Entwicklungsperspektiven: Wo geht die Reise hin?

In den kommenden Jahren werden die Funktionen von TV-Informationssystemen weiter zunehmen. Dies ist auf die steigende Nachfrage nach personalisierten und interaktiven Inhalten zurückzuführen. Die Systeme werden in der Lage sein, dem Zuschauer eine Vielzahl von personalisierten Optionen anzubieten, um seine Erfahrung zu verbessern. Dazu gehören:

  • Individuelle Programmvorschläge: Das System wird in der Lage sein, dem Zuschauer personalisierte Vorschläge für Sendungen und Filme basierend auf seiner bisherigen Fernsehgewohnheiten zu unterbreiten.
  • Erweiterte Suchmöglichkeiten: Die Suche nach Sendungen und Filmen wird einfacher und intuitiver werden. Zusätzlich wird es dem Zuschauer ermöglicht, nach bestimmten Kriterien zu filtern, um die Suche einzugrenzen.
  • Social Media Integration: Die TV-Informationssysteme werden enger mit sozialen Netzwerken integriert sein. Dies ermöglicht es den Nutzern, Inhalte mit Freunden und Familie zu teilen und gemeinsam zu genießen.
  • Verbesserte Benutzeroberfläche: Die Benutzeroberflächen der TV-Informationssysteme werden intuitiver und benutzerfreundlicher gestaltet sein. Dies erleichtert es den Nutzern, sich in dem System zurechtzufinden und die gewünschten Inhalte schneller zu finden.

Fazit

Ein klares Fazit lässt sich bezüglich der Zukunft TV-Informationssysteme nicht ziehen, da die Technologie stetig weiterentwickelt wird und die Anforderungen an die Systeme stetig steigen. So ist es möglich, dass in einigen Jahren vollkommen neue Systeme auf dem Markt sind, die die heutigen TV-IS in Sachen Funktionen und Benutzerfreundlichkeit in den Schatten stellen werden.

Windows: Welche Variante eignet sich am besten?

Windows zählt wohl zu den beliebtesten Betriebssystemen schlechthin. Doch Verbraucher stehen nicht selten vor der schwierigen Frage: Welches Windows-System eignet sich für mich am besten? Wir geben einen Überblick über die Faktoren, die es bei der Suche nach einem geeigneten System zu beachten gilt.

Muss es die neueste Windows-Version sein?

Wer sich einen neuen Computer anschafft, muss meist nicht viel darüber nachdenken, ob er Windows 10 kaufen möchte oder sich eine ältere Version besorgt. Denn meist ist das Betriebssystem beim Kauf schon mit dabei. Doch wie steht es um diejenigen, die noch kein Betriebssystem haben?

In vielen Fällen empfiehlt es sich tatsächlich, eine möglichst neue Windows-Variante zu bestellen. Diese ermöglicht es, viele Programme zu betreiben. Denn einige Softwareprogramme sträuben sich ab einem gewissen Alter eines Betriebssystems.

Übrigens: Auch der Funktionsumfang verbessert sich von Version zu Version. So bietet Windows 10 bereits viel mehr als Windows 7 oder noch ältere Varianten. Auch die Optik und die Benutzerfreundlichkeit werden um einiges verbessert – hier können sich User also freuen!

Welche Versionen gibt es von Windows?

Übrigens: Nicht nur das Jahr, in dem eine Version von Windows released wurde, ist relevant. Es gibt auch verschiedene Editionen, die sich individuell an die eigenen Ansprüche anpassen lassen. So gibt es für Unternehmen zum Beispiel Windows Enterprise und für Menschen, die im Home Office arbeiten, Windows Professional. Schüler und Studenten profitieren ebenfalls für eigens dafür konzipierte Editionen. So ist für jeden genau das Richtige dabei.

Vor dem Kauf eines Betriebssystems sollte man sich immer damit auseinandersetzen, welche Anforderungen man an Windows stellt und welche Funktionen besonders von Bedeutung sind. Vielleicht kann man aber auch auf gewisse Features verzichten – womöglich benötigt man aber die volle Bandbreite.

Ganz gleich, wofür man Windows benötigt – für jeden Verwendungszweck gibt es die richtige Edition. Man sollte nur die eigenen Ansprüche kennen. Denn ein Privathaushalt benötigt für gewöhnlich einen geringeren Funktionsumfang als eine Firma.

Dokumentenmanagement im 21. Jahrhundert – die Zukunft ist papierlos!

In jedem Unternehmen werden täglich viele Dokumente erstellt, bearbeitet und abgelegt. Oftmals geschieht dies auf unsystematische Weise, was zu einem enormen Chaos führen kann. In Zeiten von immer größeren Datenmengen und steigenden Ansprüchen an die Organisation ist es daher wichtiger denn je, ein effizientes Dokumentenmanagementsystem (DMS) zu implementieren.

1. Vorteile eines DMS?

Ein DMS hilft nicht nur bei der Ablage und Archivierung von Dokumenten, sondern bietet auch eine Vielzahl weiterer Funktionen wie etwa die Versionierung, Freigabe- und Zugriffsverwaltung oder die Integration in andere Unternehmensanwendungen. Mit einem DMS lassen sich außerdem Papierdokumente digitalisieren und so die Arbeitsabläufe optimieren. Für viele Unternehmen ist dieses inzwischen daher unverzichtbar geworden, insbesondere dann, wenn es um sensible oder vertrauliche Daten geht.

Auch in Bezug auf die GDPR-Compliance hat ein DMS eine entscheidende Bedeutung: Nur wenn alle relevanten Informationen digital vorliegen und jederzeit abrufbar sind, können Unternehmen den gesetzlichen Anforderungen Genüge tun.

2. Was ist beim Erwerb eines DMS zu beachten?

Jedes Unternehmen hat eine andere Struktur und unterschiedlichste Anforderungen an ein DMS. Trotzdem gibt es bestimmte Kriterien, die vor dem Kauf eines neuen Systems beachtet werden sollten, damit dieses von allen angenommen und erfolgreich genutzt wird.

Zunächst ist es wichtig, sich im Klaren darüber zu sein, welche Ziele man damit erreichen möchte. Will man beispielsweise die Suche nach bestimmten Dokumenten vereinfachen? Oder will man den Papierverbrauch reduzieren? Sobald klar ist, was das System leisten soll, kann man sich auf die Suche nach dem passenden Anbieter machen. Neben dem Preis sollte man vor allem auf die Funktionen und den Umfang des Angebots achten. Wichtig ist auch, dass das System intuitiv bedienbar ist und von allen Mitarbeitern akzeptiert wird – sonst steht die Gefahr im Raum, dass es gar nicht erst genutzt wird.

Ein digitales Dokumentenmanagement sollte nicht nur installiert und eingerichtet, sondern außerdem regelmäßig überprüft und angepasst werden. Nur so kann man sicherstellen, dass dieses weiterhin effektiv ist und den Bedürfnissen der Nutzer entspricht.

Ein DMS kann also ein wertvolles Instrument sein, um die Effizienz im Unternehmen zu steigern. Es bringt allerdings nur dann etwas, wenn es auch sinnvoll genutzt wird.

Gaming als neue Branche für Selbstverwirklichung

Die Welt steht im stetigen Wandel und gleichzeitig verändern sich auch die Menschen. Die jüngere Generation aus der heutigen Zeit verfügt über eine komplett andere Weltansicht als die früheren Generationen. Vor einigen Jahrzehnten besaßen die Menschen noch ein einheitliches Leitbild und alles, was diesem nicht entsprach, galt als falsch. Damals war es der Traum eines jeden Menschen, eine Familie zu gründen, ein Haus und eine sichere Arbeit zu besitzen. Das Leben bestand somit aus diesen drei Komponenten, die Glück und gleichzeitig auch das richtige Leben bedeuteten.

Heutzutage hingegen besteht dieses einheitliche Leitbild nicht mehr, sodass sehr viele Menschen unterschiedliche Träume haben. Sie möchten keine Familie und setzen ihre Selbstverwirklichung in den Vordergrund. Die Selbstverwirklichung geht oftmals mit einer erfolgreichen Karriere oder einem ausbalancierten Leben einher.

Einige dieser Menschen schaffen ihre Selbstverwirklichung im Bereich Gaming, was vor einigen Jahrzehnten noch unmöglich gewesen und gleichzeitig von der Gesellschaft verpönt wäre.

Selbstverwirklichung in der Gamingindustrie

Die Branche Gaming wächst täglich und hat immer noch nicht ihren Zenit erreicht. Jeden Tag bestehen neue Möglichkeiten, um Fuß in dieser Industrie zu fassen und gleichzeitig steigt die Nachfrage nach Content. Livestreamingplattformen wie Twitch oder YouTube zum Beispiel vermerken wöchentlich neue Höchstzahlen, wodurch dieser Trend einfach zu beobachten ist.

Zudem befindet sich die Welt in der perfekten Zeit für Gaming, da die Coronapandemie noch vor Kurzem präsent war und Menschen vermehrt Zeit zu Hause verbringen. In dieser Zeit wollen die Menschen ebenfalls unterhalten werden, wodurch sie auf das Angebot von Gaming zugreifen.

Damit wurden auch die wesentlichen Möglichkeiten der Selbstverwirklichung in der Gamingindustrie genannt. Es besteht die Möglichkeit, um professioneller Streamer zu werden, wodurch je nach Erfolg sehr viel Geld verdient werden kann. Dann besteht noch die Möglichkeit, um einige Spiele professionell zu spielen, was bei manchen Games ebenfalls sehr lukrativ sein kann.

Darüber hinaus können Spiele programmiert oder konzipiert werden, was in seltenen Fällen ebenfalls zu massivem Erfolg führen kann. Viele Indie-Hersteller haben in den letzten Jahren Spiele auf den Markt gebracht, die unbeschreibliche Erfolge erzielt haben. Außerdem lohnen sich auch die Vermarktung und der Vertrieb von Software, Games und Co. Wenn man zum Beispiel Windows 10 kaufen möchte, wird man dies im Internet und bei einem guten Händler tun. Dementsprechend können solche Onlinehändler sehr erfolgreich werden und sich mit dem Verkauf von Software, Apps und Videogames finanzieren.

Netplan v0.105 is now available

I’m happy to announce that Netplan version 0.105 is now available on GitHub and is soon to be deployed into an Ubuntu/Debian installation near you! Six month and exactly 100 commits after the previous version, this release is brought to you by 7 free software contributors from around the globe.

Changelog

  • Add support for VXLAN tunnels (#288), LP#1764716
  • Add support for VRF devices (#285), LP#1773522
  • Add support for InfiniBand (IPoIB) (#283), LP#1848471
  • Allow key configuration for GRE tunnels (#274), LP#1966476
  • Allow setting the regulatory domain (#281), LP#1951586
  • Documentation improvements & restructuring (#287)
  • Add meson build system (#268)
  • Add abigail ABI compatibility checker (#269)
  • Update of Fedora RPM spec (#264)
  • CI improvements (#265#282)
  • Netplan set uses the consolidated libnetplan YAML parser (#254)
  • Refactor ConfigManager to use the libnetplan YAML parser (#255)
  • New netplan_netdef_get_filepath API (#275)
  • Improve NetworkManager device management logic (#276), LP#1951653

Bug fixes

Gaming als Freizeitbeschäftigung

Neben Familie und Arbeit bleibt häufig kaum noch Zeit für die eigene Freizeit. Jedoch ist gerade das besonders wichtig, damit wir einen entsprechenden Ausgleich schaffen können. Genau diese Pausen sollten wir uns also bewusst nehmen.

Dabei kann die Gestaltung der Freizeit sehr unterschiedlich sein. Während die einen gerne durch die Natur laufen, spielen andere zahlreichen Sportarten. Manchen nehmen sich ein gutes Buch, andere Menschen spielen lieber Videospiele.

Und genau das wird von erwachsenen Menschen häufig nicht erwartet. Videospiele werden mit Teenagern, Kindern und jungen Menschen verbunden. Jedoch ist diese Freizeitgestaltung deutlich ausgeprägter als gedacht.

Die Vorteile von Gaming in der Freizeit

Wer sich einen Gaming PC zusammenstellt oder bereits fertig kauft, hat mit zahlreichen Vorurteilen zu kämpfen. Jedoch bringt gerade diese Freizeitgestaltung auch zahlreiche Vorteile mit sich, die nur wenige Menschen kennen.

Entgegen vieler Aussagen kann das Spielen am Computer das Auge schulen. Gerade bei Action Spielen, bei denen es um kleine Details geht, fördert das Spielen die Auffassungsgabe des Auges.

Wir trainieren die Augen also, während wir Spaß haben. Jedoch kommt es hierbei auf eine gesunde Balance an. Mehrere Stunden vor dem Bildschirm sind nicht förderlich für die Gesundheit oder die Augen.

Videospiele können außerdem unsere Gefühle und unsere Stimmung beeinflussen. Ähnlich wie bei einer Belohnung schütten wir bei Erfolg bestimmte Hormone aus. Diese sorgen für gute Laune und damit für eine bessere Gelassenheit.

Je nach Art des Spiels können unsere Konzentration und unsere Auffassungsgabe geschult werden. Spiele, bei denen unterschiedliche Rätsel gelöst werden und knifflige Aufgaben überwunden werden, sind besonders gut dafür geeignet.

Auch die soziale Kompetenz kann von den unterschiedlichen Spielen profitieren. Nicht selten gibt es Ausführungen, bei denen man nur im Team weiter voranschreitet. Wir lernen also mit anderen zusammen etwas zu erreichen.

Dieser Vorteil kann sich auf das gesamte Leben auswirken. Denn auch hier gibt es zahlreiche Situationen, die man einfacher überwinden kann, wenn man sich entsprechende Hilfe sucht und gemeinsam die Aufgabe bewältigt.

Grundsätzlich ist das Spielen am PC oder auch an der Konsole also nicht nur mit Nachteilen zu sehen. Zahlreiche Fähigkeiten können ausgebaut werden. Diese sind für das Leben deutlich von Vorteil.

Netplan v0.104 is now available

I’m happy to announce that netplan.io version 0.104 is now available on Github and has been uploaded into the next Ubuntu LTS release, code name “Jammy”: netplan.io 0.104-0ubuntu1! This is a big release that has been brought to you by 10 contributors around the globe.

Changelog:

  • Enable embedded-switch-mode setting on SmartNICs (#253)
  • Permit multiple patterns for the driver globs in match (#202), LP#1918421
  • Improve routing capabilities (#248), LP#1892272LP#1805038
  • Support additional link offload options for networkd (#225) (#242), LP#1771740
    • receive-checksum-offloadtransmit-checksum-offloadtcp-segmentation-offload,
      tcp6-segmentation-offloadgeneric-segmentation-offloadgeneric-receive-offload,
      large-receive-offload
  • Consolidate enum-to-string arrays (#230)
  • Handle differing ip6-privacy default value for NetworkManager (#263)
  • YAML state tracking (--state rootdir) for DBus API and netplan try (#231), LP#1943120
  • Support ConfigureWithoutCarrier (ignore-carrier) for networkd (#215)
  • Move primary git branch master to main
  • Documentation improvements (#226)
  • Compatibility for glib-2.70 (#235)
  • Cleanup Makefile, install only public headers
  • Improve test reliability & enable integration testing CI for autopkgtests
  • Netplan get to use the libnetplan parser (#252)
  • libnetplan:
    • introduce the notion of NetplanState (#232)
    • use an explicit parser context (#233)
    • expose coherent generator APIs (#239)
    • improve overall error handling (#234)
    • consolidation of YAML parsing into the library (#241#249#250#251)
  • Restrict the symbol export to a determined public API (#227)
    • WARNING: We dropped some internal symbols from the API that we know
      have no external consumers (that we are aware of)
    • 0.103: _serialize_yamlcontains_netdef_typetmpvalidate_default_route_consistency
    • 0.102: cur_filenamenetplan_netdef_new
    • 0.100: address_option_handlersis_hostnamevalidate_ovs_targetwireguard_peer_handlers
    • 0.99: current_fileis_ip4_addressis_ip6_addressmissing_id,
      missing_ids_foundparser_errorvalidate_backend_rulesvalidate_netdef_grammar,
      yaml_error

Bug fixes:

  • Fix removal of defunct OVS vlan interfaces (#256), LP#1959147
  • Make ConfigManager cleanup on destruction (#259), LP#1959729
  • Do not write unvalidated YAML from keyfile (#247), LP#1952967
  • Disable temporary address generation for real with NetworkManager (#244), LP#1948027
    • this is a slight change in behavior for NM, but is in line with the docs
      and implementation of the networkd backend renderer
  • Ignore empty YAML hints and delete files on set network=null (#246), LP#1946957
  • Wait for ‘netplan try’ to be ready in DBus API (#245), LP#1949893
  • Initialize self.state in apply (#243), LP#1949104
  • Driver fallback to nl80211 and/or wext for wpa_supplicant (#240), LP#1814012
  • Handle missing gateway in keyfile routes, keep dns-search fallback (#238)
  • Make it possible to unset a whole devtype subtree (#236), LP#1942930
  • Fix normalization of multiple keys on a single dict in tests (#229)
  • Add default-routes feature flag
  • Fix memory leaks, dangling pointers & overall cleanup of API data (#228)
  • Small whitespace and formatting fixes & shipping EditorConfig (#224)