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)
Entwicklung & Code
JetBrains bündelt KI-Tools für Unternehmen: Einheitliche Governance und Kosten
Unter dem Sammelbegriff „JetBrains AI for Teams and Organizations“ hat JetBrains Dienste und Funktionen vorgestellt, die eine organisationsweite KI-Schicht für Teams und Unternehmen bilden und eine Skalierung der KI-Nutzung ermöglichen sollen. JetBrains will die Tools im Juli und August schrittweise auf seiner Plattform bereitstellen, vorerst nur für Geschäftskunden.
Weiterlesen nach der Anzeige
Hinter JetBrains AI for Teams and Organizations steckt die Idee, einer Fragmentierung der KI-Nutzung entgegenzuwirken. Entwicklerinnen und Entwickler können ihre bevorzugten KI-Werkzeuge wie Claude Code oder Gemini CLI wie gewohnt weiterverwenden. Gleichzeitig hält auf Unternehmensebene eine gemeinsame Infrastruktur für Governance, Kontext und Kostenmanagement Einzug – der Schritt von fragmentierter KI-Nutzung zu koordinierter Softwareentwicklung, wie JetBrains es selbst formuliert.
Langfristig will JetBrains mit seiner KI-Suite ein offenes System aufbauen, das Entwickler, KI-Agenten und Unternehmen an einen Tisch holt, ohne sie dabei in ein einziges Modell, eine bestimmte Bedienoberfläche oder einen festen Workflow zu zwängen. Die KI-Suite ist herstellerunabhängig ausgelegt. Externe Tools bindet sie über das Model Context Protocol (MCP) an, externe KI-Agenten über das Agent Client Protocol (ACP).
Startschuss mit vier Tools
Vier der neuen Systemkomponenten sollen laut JetBrains in den nächsten Wochen bereitstehen. Eine Veröffentlichungsreihenfolge bleibt der Hersteller schuldig, nennt in seinem Blogbeitrag aber zuerst die „Team automations and cloud agents“. Diese Dienste führen KI-Agenten für langlaufende Aufgaben in verwalteten Cloud-Umgebungen autonom aus, wobei Repository-Ereignisse oder Zeitpläne als Auslöser fungieren. Automatisierungen bleiben für das gesamte Team sichtbar.
Ein weiterer Baustein ist die Funktion „JetBrains Context“. Sie stattet Agenten mit Repository-Wissen aus, damit sie komplexe Codebasen schneller verstehen. Die zentrale Verwaltung der KI-Tools übernehmen mit „JetBrains Central“ und dem Befehlszeilenwerkzeug „JetBrains Central CLI“ die Bausteine drei und vier.
Credit-Bezahlmodell für Unternehmen
Weiterlesen nach der Anzeige
Parallel zur Ankündigung stellt JetBrains seine KI-Lizenzen auf On-Demand-KI-Credits um, was wiederum nur für Geschäftskunden gilt. Unternehmen will man so in die Lage versetzen, KI-Investitionen zwischen Entwicklern aufzuteilen und über einen längeren Zeitraum zu verwalten, da die Credits länger gültig sind (12 Monate statt nur einen Monat). Die KI-Credits sollen auch zur Bezahlung künftiger Dienste genutzt werden können, zu denen JetBrains jedoch noch keine Angaben macht.
Lesen Sie auch
(mro)
Entwicklung & Code
RootAsRole 4.0: Mehr Kontrolle als bei sudo
Mit RootAsRole 4.0 haben die Entwickler ihres Linux-/Unix-Werkzeugs zur Rechtevergabe eine neue Hauptversion veröffentlicht. RootAsRole versteht sich als Alternative zu sudo und delegiert Administratorrechte rollenbasiert, sodass Nutzer nur die für eine Aufgabe benötigten Berechtigungen erhalten. Version 4.0 bringt unter anderem ein neues Ausführungsmodell für privilegierte Programme, Richtlinien aus Verzeichnissen sowie Einschränkungen auf bestimmte Arbeitsverzeichnisse.
Weiterlesen nach der Anzeige
Obwohl der Versionssprung auf 4.0 eine neue Hauptversion markiert, soll das Update laut Projekt keine inkompatiblen Änderungen enthalten. Stattdessen begründen die Entwickler den Schritt in den Release Notes vor allem mit einer grundlegenden Überarbeitung der Programmausführung.
Neues Ausführungsmodell für privilegierte Programme
Die wichtigste technische Neuerung betrifft die Ausführung privilegierter Prozesse. RootAsRole orientiert sich dabei künftig am Modell von sudo statt an doas. Während doas das Zielprogramm direkt startet, schaltet sudo einen zusätzlichen Prozess dazwischen. Er überwacht die Programmausführung und kann Ein- und Ausgaben sowie administrative Interaktionen kontrollieren. Nach Ansicht der Entwickler erhöht dieses Modell trotz des größeren Codeumfangs die Sicherheit gegenüber einer direkten Ausführung.
Neu ist außerdem eine Option, Befehle nur aus einem bestimmten Arbeitsverzeichnis heraus zu erlauben. Administratoren können beispielsweise festlegen, dass ein Build- oder Deployment-Werkzeug ausschließlich innerhalb eines definierten Projektverzeichnisses gestartet werden darf. Das soll Fehlbedienungen erschweren und den möglichen Einsatzbereich privilegierter Befehle weiter einschränken. Die Entwickler weisen allerdings darauf hin, dass die Wirksamkeit dieser Funktion von einer korrekt abgesicherten Dateisystemkonfiguration abhängt.
Ebenfalls neu ist eine verzeichnisbasierte Richtlinienverwaltung. Anstatt sämtliche Regeln in einer Konfigurationsdatei zu sammeln, kann RootAsRole nun mehrere Policy-Dateien aus einem Verzeichnis einlesen. Das erleichtert etwa eine getrennte Richtlinienverwaltung pro Benutzer oder sorgt bei umfangreichen Installationen für eine übersichtlichere Organisation.
Außerdem haben die Entwickler die Build-Konfiguration erweitert, das Projekt auf die Rust Edition 2024 umgestellt und die interne Projektstruktur modernisiert. Auch Werkzeuge und Linting-Regeln wurden laut Release Notes überarbeitet.
Rollen statt Root-Rechte
Weiterlesen nach der Anzeige
RootAsRole verfolgt das Prinzip der geringsten Rechte (Principle of Least Privilege). Anders als klassische sudo-Konfigurationen, die Benutzern häufig weitreichende Root-Rechte übertragen, vergibt das Werkzeug nur die Rechte, die für eine konkrete Aufgabe erforderlich sind. Grundlage dafür ist ein rollenbasiertes Zugriffskontrollmodell (Role-Based Access Control, RBAC) mit Rollen und Aufgaben sowie der Unterstützung von Linux Capabilities, also feingranularen Kernel-Berechtigungen.
Dadurch lässt sich beispielsweise festlegen, dass ein Benutzer lediglich Netzwerkdiagnoseprogramme mit der Capability CAP_NET_RAW ausführen darf, ohne vollständige Root-Rechte zu erhalten. Ergänzend unterstützt RootAsRole Rollenhierarchien sowie statische und dynamische Trennung von Zuständigkeiten, um kritische Verwaltungsaufgaben auf mehrere Rollen aufzuteilen.
Hilfswerkzeuge für Administratoren
Zum Projekt gehören außerdem mehrere Werkzeuge für die Richtlinienverwaltung. Das Programm capable analysiert, welche Berechtigungen ein Befehl benötigt, während gensr aus Ansible-Playbooks passende Sicherheitsrichtlinien erzeugen kann. Laut Projekt soll das nicht nur die Erstellung feingranularer Regeln vereinfachen, sondern auch helfen, unerwartete Änderungen in Automatisierungsabläufen zu erkennen.
RootAsRole ist in Rust implementiert und unterstützt Linux-Kernel ab Version 4.3. Das Projekt entstand am französischen Informatikforschungsinstitut IRIT und wurde im Rahmen eines industriellen Promotionsprogramms gemeinsam mit Airbus Protect weiterentwickelt. Die Entwickler verweisen auf GitHub auf mehrere wissenschaftliche Veröffentlichungen, die RootAsRole von den ersten Konzepten bis zur produktionsreifen Umsetzung begleiten.
Lesen Sie auch
(fo)
Entwicklung & Code
GitHub-Alternative für KI-Entwickler: Entire startet eigenes Git-Netzwerk
Weiterlesen nach der Anzeige
Entire, das neue Start-up von Ex-GitHub-CEO Thomas Dohmke, kündigt eine eigene Git-Infrastruktur an. Entwickler können in einer Vorschau der neuen Funktion ihre bestehenden GitHub-Repositories auf Entires Server spiegeln. Der Quellcode selbst bleibt auf GitHub, während Clone- und Pull-Anfragen über die regionalen Mirrors laufen.
Zukünftig sollen zudem öffentliche und private Git-Repositories direkt bei Entire gehostet werden können. Das soll nach Unternehmensangaben „in den kommenden Monaten“ folgen. Langfristig plant Entire ein vollständig dezentralisiertes Git-Netzwerk.
Das Ganze soll die Last von Zugriffen durch KI-Agenten verteilen. Dazu habe man Git entsprechend angepasst, um diese gleichzeitigen Agenten-Aktivitäten besser zu bewältigen. In eigenen Tests sei der Durchsatz dabei deutlich verbessert worden. Interessierte Nutzer können sich für eine Warteliste registrieren.
„Git war von Anfang an als verteiltes System gedacht“, sagt Entire-CEO Thomas Dohmke. Im „Zeitalter der KI-Agenten“ sei ein zentralisiertes Git-Hosting zur Einschränkung geworden: „Die Belastung durch Milliarden von Agenten und Entwicklern, die auf einen zentralen Server zugreifen, zeigt sich in Form von Rate-Limits, hoher Latenz oder sogar Ausfällen“.
GitHub-Alternative vom Ex-GitHub-CEO
Weiterlesen nach der Anzeige
Auch wenn es viele ebenfalls auf Git-basierende Alternativen wie Codeberg gibt, bleibt das zu Microsoft gehörende GitHub mit zuletzt mehr als 180 Millionen Nutzern und 630 Millionen dort gehosteten Softwareprojekten De-Facto-Standard für das Cloudhosting von Code.
Bis 2025 war der deutsche Entire-Gründer Thomas Dohmke selbst noch CEO bei GitHub. Im August 2025 kündigte er jedoch den Rückzug an, um nach eigenen Aussagen zu seinen Start-up-Wurzeln zurückzukehren. Entire gründete er Anfang 2026, dank Investoren ist das Start-up bereits jetzt mit 300 Millionen US-Dollar bewertet. Aktuell beschäftigt Entire 40 Personen, davon viele in Europa.
(dzi)
-
Künstliche Intelligenzvor 3 Monaten„Don’t Starve Elsewhere“: Survival‑Hit kehrt nach zehn Jahren zurück
-
Künstliche Intelligenzvor 3 MonatenKine‑Exakta: Die erste Spiegelreflexkamera fürs Kleinbild
-
Künstliche Intelligenzvor 3 Monaten
xTool P3 im Test: CO₂-Laser mit 80 Watt schneidet und graviert auch Acryl
-
Künstliche Intelligenzvor 3 MonatenWeitere Entlassungswelle bei Disney: Bis zu 1000 Mitarbeiter betroffen
-
Apps & Mobile Entwicklungvor 3 MonatenMega-GPUs für Nvidia, AMD & Co: TSMC zeigt CoWoS-Package mit >11.600 mm² & 24 × HBM5E
-
Social Mediavor 2 MonatenMetas neuer Creative Setup Workflow: Was sich wirklich ändert – und warum das nicht nur eine UI-Frage ist!
-
UX/UI & Webdesignvor 3 TagenRegional & mit Gefühl: Identity für Klimafonds Baden-Württemberg › PAGE online
-
Künstliche Intelligenzvor 2 MonatenApple‑Geräte mit Microsoft Intune verwalten – zweiteiliges Live-Webinar
