Entwicklung & Code
software-architektur.tv: Was Developer von anarchistischen Denkern lernen können
Andrew Harmel-Law, Tech Principal beim Beratungsunternehmen Thoughtworks, hat eine ungewöhnliche Verbindung zwischen anarchistischer Theorie und moderner Softwarearchitektur aufgedeckt. Ausgangspunkt ist das 1966 erschienene Buch „Patterns of Anarchy“ von Leonard I. Krimerman und Lewis Perry – eine Anthologie anarchistischer Aufsätze, die auch Christopher Alexander als Inspiration für sein einflussreiches Werk „A Pattern Language“ diente.
Weiterlesen nach der Anzeige
Harmel-Law stieß auf die Sammlung, weil Alexander sie in seinem 1977 veröffentlichten Standardwerk zitierte. Alexanders Konzept der Pattern Language – 253 Entwurfsmuster für Architektur und Städtebau – hat auch die Softwarebranche nachhaltig geprägt. Die berühmten Design Patterns der sogenannten Gang of Four aus dem Jahr 1994 gehen direkt auf Alexanders Arbeit zurück.
Die Anthologie von Krimerman und Perry versammelt Texte zur anarchistischen Tradition und behandelt unter anderem alternative Gemeinschaftsmodelle und Organisationsprogramme. Besonders der Abschnitt „Constructive Anarchism: Alternative Communities and Programs“ widmet sich praktischen Aspekten dezentraler Organisationsformen – ein Thema, das in der Softwareentwicklung aktueller ist denn je. Darüber sprechen Andrew Harmel-Law und Eberhard Wolff in dieser englischsprachigen Folge des Videocasts software-architektur.tv.
Der auf agile Methoden und Domain-Driven Design spezialisierte Berater Andrew Harmel-Law sieht deutliche Parallelen zwischen anarchistischen Organisationsideen und modernen Entwicklungspraktiken. Dezentrale, autonome Strukturen und föderale Entscheidungsprozesse, wie sie anarchistische Denker beschrieben, spiegeln sich in agilen Teams, Open-Source-Communities und selbstorganisierten Entwicklungsgruppen wider. Harmel-Law wird einige der interessantesten Erkenntnisse aus seiner Perspektive als Student des soziotechnischen Organisationsdesigns teilen. Manchmal wird er eigene Kommentare hinzufügen. Und natürlich stellt sich die Frage, inwiefern dies mit Softwareentwicklung zusammenhängt.
Livestream am 10. April
Die Folge wird am Freitag, 10. April 2026, live ab 13 Uhr gestreamt. Während des Livestreams können Interessierte Fragen via Twitch-Chat, YouTube-Chat oder anonym über das Formular auf der Videocast-Seite einbringen.
software-architektur.tv ist ein Videocast von Eberhard Wolff, iX-Blogger und bekannter Softwarearchitekt, der als Head of Architecture bei SWAGLab arbeitet. Zum Team gehören außerdem Lisa Maria Schäfer (Socreatory) und Ralf D. Müller (DB Systel). Seit Juni 2020 sind über 250 Folgen entstanden, die unterschiedliche Bereiche der Softwarearchitektur beleuchten – mal mit Gästen, mal Wolff, Schäfer oder Müller solo. Seit mittlerweile mehr als zwei Jahren berichtet heise Developer über die Episoden.
Weiterlesen nach der Anzeige
(map)
Entwicklung & Code
Plane 1.3.0: Update der freien Jira-Alternative
Plane schließt in Version 1.3.0 der freien Community-Version mehrere Sicherheitslücken, bringt neue Integrationen und überarbeitet die Benutzeroberfläche umfassend. Das Release führt unter anderem eine Gitea-Authentifizierung ein, öffnet die API für externe Projektzusammenfassungen und validiert Dateiuploads sowie Projektkennungen strenger. Parallel haben die Entwickler mehrere sicherheitsrelevante Schwachstellen behoben – darunter manipulierbare Rate-Limits für API-Tokens, eine SSRF-Lücke in Webhooks und CSV-Injection beim Datenexport.
Weiterlesen nach der Anzeige
Bei Plane handelt es sich um ein quelloffenes Projektmanagement- und Issue-Tracking-System für Entwickler. Es bietet Aufgabenverwaltung, Roadmaps und API-Anbindung und ist als selbst hostbare Alternative zu Jira oder Linear gedacht.
Integrationen: Gitea-Login und neue API-Endpunkte
Plane unterstützt ab Version 1.3.0 die Authentifizierung über Gitea. Teams mit selbst gehosteter Git-Infrastruktur können damit Benutzerkonten koppeln oder Single Sign-on einrichten. Neu ist außerdem eine externe Project-Summary-API, über die Drittsysteme Projektübersichten abrufen können – etwa für Dashboards oder Reporting. Webhook-Payloads lassen sich nun zudem lokalisieren.
Projektnamen und -kennungen akzeptieren keine potenziell ausführbaren Sonderzeichen mehr, was Injection-Angriffe erschwert. Im Administrationsmodus verhindert Plane außerdem, dass Admins versehentlich alle Authentifizierungsmethoden deaktivieren. Erweiterte Logs liefern detailliertere Fehlermeldungen bei Authentifizierungsproblemen und erleichtern die Fehlersuche und das Auditing.
Überarbeitete Oberfläche mit einheitlichem Designsystem
Einen großen Teil des Releases machen Änderungen an der Oberfläche aus. Plane setzt stärker auf Design-Tokens – also zentral definierte Werte für Farben, Abstände und andere UI-Parameter –, die für ein einheitlicheres Erscheinungsbild sorgen. Die Entwickler haben unter anderem die Detailansichten von Work Items, die Sidebar, Kommentare sowie die Workspace- und Mitgliederverwaltung überarbeitet. Dropdowns verhalten sich kontextsensitiver und zeigen ausgewählte Einträge oben an. Neue Ladezustände sorgen für flüssigere Übergänge, überarbeitete Themes und Editor-Farben für mehr visuelle Konsistenz.
Attachments akzeptieren jetzt auch Markdown-Dateien. Eine Zeitzonen-Einstellung auf Workspace-Ebene sorgt dafür, dass neue Projekte automatisch die richtige Zeitzone übernehmen. Die Mention-Suche nutzt jetzt Debouncing und löst damit bei schneller Eingabe weniger API-Anfragen aus. Die Navigation zeigt eingehende Aufgaben (Intake) direkt als Zähler an.
Weiterlesen nach der Anzeige
Sicherheit: Mehrere Angriffsvektoren geschlossen
Im Bereich Sicherheit verhindert eine serverseitige Absicherung nun, dass Angreifer Rate-Limits von API-Tokens manipulieren. Webhook-URLs durchlaufen eine strengere Validierung, um Server-Side Request Forgery (SSRF) zu unterbinden – also Angriffe, bei denen ein Server dazu gebracht wird, interne Ressourcen anzusprechen.
Beim CSV-Export bereinigt Version 1.3.0 eingebettete Formeln, die Tabellenprogramme wie Excel sonst ungefragt ausführen könnten. Zusätzlich blockiert eine neue Upload-Validierung potenziell schädliche Dateien, und der HTTP-Header X-Frame-Options schützt vor Clickjacking.
Bei der Internationalisierung kommt Ukrainisch als neue Sprache hinzu, die russische Übersetzung wurde erweitert. Zahlreiche Bugfixes betreffen den Editor, die Navigation, API-Endpunkte und E-Mail-Templates.
Alle Informationen zum Update finden sich in den Release Notes auf der Projektseite von Plane auf GitHub.
Lesen Sie auch
(fo)
Entwicklung & Code
Eclipse hawkBit 1.0: Backend für IoT-Updates erreicht Produktionsreife
Mit Version 1.0 hat das Eclipse-Projekt hawkBit einen stabilen Meilenstein erreicht. Die Maintainer stufen das Backend-System für die Verteilung von Software-Updates an IoT-Geräte nun als produktionsreif ein und sichern stabile APIs zu.
Weiterlesen nach der Anzeige
Der Fokus des Tools liegt auf sogenannten Over-the-Air-Updates (OTA), also der zentralen Aktualisierung von Geräten im produktiven Einsatz – laut Eclipse Foundation reicht das Spektrum von stark eingeschränkten Edge-Geräten über alle Zwischenstufen bis hin zu leistungsfähigen Gateways.
Backend für IoT-Rollouts
Technisch positioniert sich hawkBit als domänenunabhängiges Framework für das Update-Management. Es übernimmt die Orchestrierung von Rollouts, die Verwaltung von Gerätegruppen und die Steuerung von Update-Prozessen. Typische Einsatzfelder sind offenbar Industrieanlagen, Automotive, Smart Buildings oder Telekommunikation.
Für die Integration stellt das Projekt mehrere Schnittstellen bereit:
- REST-basierte Device-API (DDI) für direkt angebundene Geräte
- AMQP-Schnittstelle (DMF) für Gateway-Szenarien
- Management-API zur Steuerung und Automatisierung mit Fokus auf Betrieb und Sicherheit
hawkBit adressiert vor allem Anforderungen aus dem operativen Betrieb größerer IoT-Installationen. Dazu gehören Multi-Tenancy, gestaffelte Rollouts mit definierten Abbruchregeln sowie Freigabe-Workflows. Auch eine rollenbasierte Zugriffskontrolle ist integriert.
Weiterlesen nach der Anzeige
Beim Thema Sicherheit setzt das Projekt unter anderem auf gerätespezifische Tokens, mTLS, OAuth 2.0/OIDC und fein granularen Zugriff auf Entitäten.
Flexible Architektur und Ökosystem
Der Server lässt sich sowohl monolithisch als auch als Microservice-Setup betreiben und horizontal skalieren. Entwicklerinnen und Entwickler können die Plattform selbst hosten und behalten damit die Kontrolle über ihre Update-Infrastruktur. Rund um hawkBit hat sich zudem laut Ankündigungsbeitrag ein Ökosystem aus Clients und Integrationen gebildet, beispielsweise für Embedded-Linux-Update-Tools, Zephyr RTOS oder LoRaWAN-Server. Auch kommerzielle Angebote bauen auf dem Projekt auf.
Mit dem 1.0-Release erreicht hawkBit den „Mature“-Status der Eclipse Foundation und verlässt damit endgültig den experimentellen Bereich.
(mdo)
Entwicklung & Code
React im Terminal: Ink 7.0 überarbeitet Input-Handling grundlegend
Mit Version 7.0.0 hebt die React-basierte CLI-Bibliothek Ink ihre Mindestanforderungen deutlich an und überarbeitet das Input-Handling grundlegend. Gleichzeitig kommen neue APIs für Interaktivität, Layout und Animation hinzu. Die Maintainer setzen künftig Node.js 22 und React ab Version 19.2 voraus. Die Änderungen erfordern Anpassungen in bestehenden Projekten, ermöglichen aber auch komplexere Terminal-UIs.
Weiterlesen nach der Anzeige
Mit Ink lassen sich interaktive Kommandozeilenanwendungen deklarativ mit React-Komponenten entwickeln. Statt direkt mit ANSI-Escape-Sequenzen und Low-Level-Terminal-APIs zu arbeiten, definieren Entwickler ihre CLI-Oberflächen ähnlich wie Web-UIs – mit State-Management, Komponentenstruktur und Hooks.
Breaking Changes im Input-Handling
Intern nutzt Ink nun Reacts useEffectEvent, um zu vermeiden, dass sich Input-Handler bei jedem Render neu registrieren. Das stabilisiert das Event-Handling und reduziert Performance-Overhead.
Auch bei der Verarbeitung von Tastatureingaben gibt es Korrekturen. So unterscheidet Ink nun sauber zwischen key.backspace und key.delete. Viele Terminals senden für beide Tasten identische Byte-Sequenzen, was bislang zu Fehlinterpretationen führte. Wer bisher auf key.delete reagiert hat, um Backspace abzufangen, muss seine Logik anpassen. Außerdem setzt Ink key.meta nicht mehr beim Drücken der Escape-Taste: key.meta steht jetzt ausschließlich für Alt-/Meta-Kombinationen, key.escape wird separat ausgewiesen.
Neue Hooks für Interaktivität und Animation
Der neue Hook usePaste behandelt eingefügten Text aus der Zwischenablage als eigenständiges Ereignis. Dafür aktiviert Ink den Bracketed-Paste-Modus des Terminals, sodass eingefügter Text als zusammenhängender String ankommt. Ohne diesen Modus würde ein Paste-Vorgang als Serie einzelner Keypress-Events erscheinen – das ist problematisch etwa bei Eingabefeldern oder REPL-artigen Interfaces.
Für responsive Layouts liefert der neue Hook useWindowSize die aktuelle Terminalgröße in Spalten und Zeilen und löst bei Änderungen automatisch ein Re-Render aus. So lassen sich etwa Tabellen oder Layouts dynamisch an unterschiedliche Terminalgrößen anpassen.
Weiterlesen nach der Anzeige
Mit useBoxMetrics ermitteln Entwickler zur Laufzeit die tatsächlichen Dimensionen von Layout-Containern – vergleichbar mit DOM-Messungen im Browser. Das führt zu präziserer Layout-Logik, wenn Inhalte abhängig von der gerenderten Größe positioniert oder gekürzt werden müssen.
Der Hook useAnimation bringt einen integrierten Animationsmechanismus mit. Er stellt einen Frame-Zähler bereit, der in konfigurierbaren Intervallen hochzählt und sich pausieren lässt. Beim Unmount räumt er automatisch auf. Typische Einsatzfälle sind Spinner, Fortschrittsanzeigen oder ASCII-Animationen.
Rendering und Layout-Erweiterungen
Beim Rendering kommt ein Alternate-Screen-Modus hinzu. Aktiviert man ihn beim Aufruf von render(), nutzt die Anwendung den zweiten Bildschirmpuffer des Terminals – ein Verhalten, das von Programmen wie Vim oder less bekannt ist. Nach dem Beenden stellt das Terminal den ursprünglichen Inhalt wieder her. Ergänzend lässt sich mit der neuen Option interactive die automatische Erkennung interaktiver Umgebungen überschreiben, etwa für CI-Pipelines oder Pipe-Szenarien.
Das Layout-System erhält ebenfalls Erweiterungen. Die Komponente unterstützt jetzt aspectRatio, alignContent, position="static" sowie Positionsangaben wie top, right, bottom und left. Dazu kommen maxWidth und maxHeight. Mit borderBackgroundColor lässt sich erstmals die Hintergrundfarbe von Rahmen unabhängig vom Inhalt setzen. Für Text führt Ink die Option wrap="hard" ein: Sie füllt Zeilen strikt auf die verfügbare Breite auf und bricht dabei auch mitten im Wort um – nützlich für tabellarische oder streng ausgerichtete Monospace-Layouts.
Im Fokus-Management liefert der Hook useFocusManager nun zusätzlich die ID des aktuell fokussierten Elements. Das erleichtert die Steuerung komplexerer Interaktionen und die Fehlersuche.
Bugfixes
Neben den funktionalen Neuerungen behebt Version 7.0.0 mehrere Stabilitätsprobleme. Dazu zählen Darstellungsfehler bei CJK-Texten und Emojis, Abstürze bei unbekannten Keycodes im Input-Handling sowie Rendering-Fehler bei abschließenden Zeilenumbrüchen und überlappenden Schreibvorgängen.
Alle Informationen zur neuen Version 7.0.0 finden sich in den Release Notes auf der GitHub-Projektseite von Ink.
(fo)
-
Künstliche Intelligenzvor 2 Monaten
Top 10: Die beste kabellose Überwachungskamera im Test – Akku, WLAN, LTE & Solar
-
Social Mediavor 1 MonatCommunity Management und Zielgruppen-Analyse: Die besten Insights aus Blog und Podcast
-
Social Mediavor 2 MonatenCommunity Management zwischen Reichweite und Verantwortung
-
UX/UI & Webdesignvor 2 MonatenEindrucksvolle neue Identity für White Ribbon › PAGE online
-
Künstliche Intelligenzvor 3 MonateneHealth: iOS‑App zeigt Störungen in der Telematikinfrastruktur
-
Entwicklung & Codevor 4 WochenCommunity-Protest erfolgreich: Galera bleibt Open Source in MariaDB
-
Entwicklung & Codevor 3 MonatenKommentar: Entwickler, wacht auf – oder verliert euren Job
-
Künstliche Intelligenzvor 2 MonatenSmartphone‑Teleaufsätze im Praxistest: Was die Technik kann – und was nicht
