Entwicklung & Code
PHPUnit 13: Neue Array-Assertions und strengere Mock-Prüfungen
Mit PHPUnit 13 hat Maintainer Sebastian Bergmann eine neue Major-Version des verbreiteten Test-Frameworks für PHP vorgelegt. Das Release bringt funktionale Neuerungen, entfernt länger veraltete APIs und zieht die technischen Anforderungen an. Ziel ist es laut dem Projekt, Tests klarer zu formulieren und Missverständnisse zu reduzieren.
Weiterlesen nach der Anzeige
Aktuelle PHP-Version erforderlich
PHPUnit 13 setzt PHP 8.4 oder neuer voraus und schließt ältere PHP-Versionen aus. Zur Begründung verweist PHPUnit auf den aktuellen Stand der PHP-Entwicklung: Derzeit entwickeln die PHP-Verantwortlichen nur noch PHP 8.4 und 8.5 aktiv weiter.
Gleichzeitig rät PHPUnit zu einem überlegten Upgrade. Der Wechsel auf eine neue Major-Version soll bewusst erfolgen. Wer mit PHPUnit 12.5 noch Deprecation-Warnungen erhält, sollte diese zuerst beheben, bevor ein Umstieg auf Version 13 erfolgt.
Neue Assertions für Arrays
PHPUnit 13 ergänzt das bestehende Angebot um neue Assertions für Arrays. Sie richten sich an Anwendungsfälle, in denen die bisherigen Methoden assertSame() und assertEquals() nicht fein genug zwischen Vergleichsanforderungen unterscheiden.
Die neuen Assertions erlauben es, Array-Vergleiche genauer zu spezifizieren. Dabei lässt sich festlegen, ob Werte strikt inklusive Typen oder lediglich inhaltlich verglichen werden, ob Array-Schlüssel berücksichtigt werden sollen und ob die Reihenfolge der Elemente relevant ist.
Damit stellt PHPUnit zusätzliche Werkzeuge bereit, um bestimmte Vergleichsszenarien expliziter auszudrücken, etwa bei Vergleichen unabhängig von Sortierung oder bei strikt identischen assoziativen Arrays.
Weiterlesen nach der Anzeige
Änderungen bei Mock-Objekten
Bei Mock-Objekten ändert PHPUnit 13 die Prüfung von Übergabeparametern und verabschiedet sich von der Methode withConsecutive(), die bislang dazu diente, unterschiedliche Parameter für aufeinanderfolgende Methodenaufrufe zu prüfen. An ihre Stelle treten zwei spezielle Regeln, mit denen sich Parameterfolgen über mehrere Aufrufe hinweg überprüfen lassen.
Der bisherige Ansatz stieß auf bekannte Grenzen, etwa durch die enge Bindung an eine feste Aufrufreihenfolge und eine zunehmende Unübersichtlichkeit bei komplexeren Szenarien. Gerade seit PHPUnit 10 waren daher häufig zusätzliche Konstruktionen nötig, um entsprechende Aufrufsequenzen abzubilden. Ziel der Neuerung ist es, Erwartungen an Mock-Objekte klarer zu formulieren und die zugehörigen Prüfungen übersichtlicher zu halten.
Versiegelte Test-Doubles als neue Option
Neu hinzugekommen sind sogenannte sealed test doubles. Mit ihnen schließt PHPUnit die Konfiguration von Mock- oder Stub-Objekten bewusst ab. Ein Stub dient dabei als einfacher Platzhalter für eine Abhängigkeit und liefert festgelegte Rückgabewerte, ohne Aufrufe zu überprüfen. Nach dem Aufruf von seal() lassen sich weder weitere Erwartungen noch zusätzliche Methoden definieren. Bei Mock-Objekten sorgt das zudem dafür, dass nicht ausdrücklich erwartete Methodenaufrufe zurückgewiesen werden.
PHPUnit führt diese Funktion als optionale Ergänzung ein. Bestehende Tests bleiben unverändert lauffähig, lassen sich aber gezielt strenger einstellen, wenn unerwartete Interaktionen frühzeitig auffallen sollen.
any()-Matcher kurz vor dem endgültigen Rausschmiss
Der Matcher any() ist in PHPUnit 13 als „hart veraltet“ (hard-deprecated) markiert. Gemäß Ankündigungsbeitrag liegt das daran, dass Mock-Objekte primär zur Überprüfung konkreter Interaktionen gedacht sind. Wer keine Aufrufe verifizieren möchte, soll stattdessen Stubs verwenden.
Support-Zeiträume und Ausblick
PHPUnit 13 wird gemäß Übersichtsplan der Versionen bis Februar 2028 mit Bugfixes versorgt. PHPUnit 12 bleibt noch bis Februar 2027 im Support, ältere Versionen erhalten keine Fehlerkorrekturen mehr.
Für 2026 sind mehrere Minor Releases der 13er-Reihe geplant. PHPUnit 14 ist derzeit für Februar 2027 angekündigt. Nähere Informationen zu PHPUnit 13 finden sich im Ankündigungsbeitrag sowie im Changelog.
(mdo)
Entwicklung & Code
Super Productivity 18.0: Aufgaben automatisieren statt Handarbeit
Die Aufgabenverwaltung Super Productivity bringt in Version 18.0 ein regelbasiertes Automationssystem, konfigurierbare Issue-Provider, Deadline-Funktionen und Sicherheitsverbesserungen in der Electron-Basis. Das Open-Source-Projekt erscheint für Linux, macOS, Windows, Android und iOS.
Weiterlesen nach der Anzeige
Das neue Automatisierungssystem
Kern der neuen Version ist ein Automationssystem. Nutzer definieren Regeln, die bei bestimmten Auslösern automatisch Aktionen ausführen. Die Regeln unterstützen Titelabgleiche per Regex sowie eine Bedingung für Titelpräfixe („Titel beginnt mit“). Regex (Regular Expressions) sind musterbasierte Suchausdrücke, mit denen sich Titel präziser erfassen lassen als mit einfachen Textfiltern. Damit lassen sich typische Triage- oder Inbox-Abläufe automatisieren.
Die Anbindung an externe Systeme wie Jira, GitHub oder GitLab wird flexibler. Super Productivity erlaubt jetzt, das Polling-Intervall zu konfigurieren – also festzulegen, wie oft die App entfernte Dienste nach Änderungen abfragt. Importierte Vorgänge erhalten auf Wunsch automatisch Standard-Tags und Standard-Notizen. Neu sind außerdem eine Zwei-Wege-Feldsynchronisation und Erweiterungen unterstützen nun auch das Löschen entfernter Issues. Der Google-Calendar-Provider wird nun als mitgeliefertes Plugin eingebunden.
Aufgaben in der Task-Ansicht lassen sich jetzt nach Fälligkeit sortieren, gruppieren und filtern. Die Ansicht unterscheidet dabei Zeitfenster wie „heute“, „morgen“ oder „diese Woche“. Beim Ziehen einer Aufgabe in den Kalender zeigt eine Vorschau, wie lang der geplante Zeitblock wird. Unteraufgaben heben sich in Suchergebnissen visuell stärker ab.
Mobil: Wischgesten, besseres OAuth
Die Mobilversionen bekommen unter anderem ein Rechtswischen zum Abhaken, touchfreundlichere Kontextmenüs und vertikal begrenztes Drag-and-drop auf kleinen Displays. Android zeigt jetzt auch Erinnerungen aus der Hintergrundsynchronisation an.
Sicherheitsrelevant: Für Google-OAuth nutzt die App auf Mobilgeräten nun den Systembrowser statt einer eingebetteten WebView. Das entspricht der Empfehlung aus RFC 8252 für native Apps – ein externer Browser trennt Cookies und Seiteninhalt von der App. Google blockiert OAuth-Anfragen aus eingebetteten WebViews ohnehin.
Weiterlesen nach der Anzeige
Electron-Basis abgesichert
Auf dem Desktop aktiviert Super Productivity die webSecurity in Electron wieder und ergänzt einen Permission-Handler. Das ist kein kosmetischer Eingriff: Ohne webSecurity fällt die Same-Origin-Policy, und die App kann unsichere Inhalte domänenübergreifend ausführen. Electrons eigene Sicherheitsdokumentation warnt ausdrücklich davor, diese Einstellung in Produktionsanwendungen abzuschalten.
Das Preload-Skript wird nun mit esbuild gebündelt, was die Nutzung des Electron-Sandbox-Modus erleichtert. In sandboxierten Renderern gibt es keine vollständige Node.js-Umgebung; privilegierte Aufgaben laufen über IPC zum Hauptprozess. Preload-Skripte behalten dabei nur einen begrenzten Satz an Node- und Electron-APIs. Das verkleinert die Angriffsfläche.
Mehrere Sync-Fehler haben die Entwickler ebenfalls behoben: ein falscher „in sync“-Status bei Fehlern, der Verlust von Auth-Daten nach temporären Serverproblemen und Abstürze der Markdown-Synchronisation beim Anlegen von Unteraufgaben während einer Sync-Oszillation. Die Sync-Server-Bereitstellung validiert jetzt Caddyfile und Container.
Neues Theme, überarbeitetes Onboarding
Ferner bringt Version 18.0 ein minimalistisches Zen-Theme, ein überarbeitetes Onboarding mit Preset-Auswahl und lokalisierten Beispielaufgaben, klickbare Links in Aufgabentiteln, Tastenkürzel für Fett- und Kursivschrift in Kommentaren sowie ein größenverstellbares Always-on-top-Overlay. An Community-Plugins kommen eine Obsidian-Integration und ein StudyForge-Leaderboard hinzu.
Unter der Haube aktualisiert das Projekt Angular und Capacitor, behebt Speicherlecks und validiert die Formate von dueDay und deadlineDay beim Schreiben, um falsche Überfällig-Anzeigen zu verhindern. Der CSV-Export für Arbeitsprotokolle verarbeitet jetzt auch chinesische Zeichen korrekt.
Alle Informationen zu Super Productivity 18.0 finden sich in den Release Notes auf GitHub.
(fo)
Entwicklung & Code
Eclipse Theia: Community-Release 2026-02 integriert GitHub Copilot
EclipseSource hat verkündet, dass das neue Community-Release 2026-02 für Eclipse Theia fertig ist. Die Community-Releases der Plattform zum Erstellen von integrierten Entwicklungsumgebungen (IDEs) und Tools für das Web und den Desktop erscheinen vierteljährlich.
Weiterlesen nach der Anzeige
Sie legen im Gegensatz zu den meist monatlich erscheinenden regulären Releases den Fokus stärker auf Stabilität und Kompatibilität. In der neuen Version finden Entwicklerinnen und Entwickler Features aus den Theia-Versionen 1.67 und 1.68, die sich unter anderem um künstliche Intelligenz drehen.
Rund um KI: GitHub-Copilot-Integration und Agent Skills
Das neue Community-Release bietet eine GitHub-Copilot-Integration sowohl für die Theia IDE als auch für alle mit Theia AI gebauten Tools. Wer bereits ein bestehendes GitHub-Copilot-Abo besitzt, kann dieses direkt ohne zusätzliche API-Keys oder Abos einsetzen. Dieses Feature stammt aus Eclipse Theia 1.68, ebenso wie Agent Skills. Diese befinden sich noch im Alpha-Status und ermöglichen es, Agenten mit wiederverwendbaren Anweisungen und Domänenwissen zu versorgen.
(Bild: TechSolution/Adobe Stock)

Der betterCode() GenAI Summit zeigt am 11. Juni, welche KI-Tools für welche Aufgaben geeignet sind und wie die KI-Integration effizient funktioniert. Außerdem thematisiert er die Auswirkungen der KI-gestützten Softwareentwicklung auf die Security und die Arbeit von Entwicklungsteams.
Terminal Manager vereint mehrere Terminals
Der seit Eclipse Theia 1.67 verfügbare Terminal Manager hat nun auch in das Community-Release Einzug gehalten. Er erlaubt das Verwalten mehrerer Terminals aus einer einzigen Ansicht heraus, mit vertikaler und horizontaler Teilung, Tree-basierter Navigation sowie den Möglichkeiten der Terminal-Umbenennung und ihrer Anordnung per Drag & Drop. Der Terminal Manager lässt sich mit dem Setzen der Einstellung terminal.grouping.mode auf tree aktivieren.

Der Terminal Manager in Eclipse Theia zeigt mehrere Terminals an.
(Bild: EclipseSource)
Alle Neuerungen im Community-Release 2026-02 für Eclipse Theia führt der EclipseSource-Blog auf.
Weiterlesen nach der Anzeige
Lesen Sie auch
(mai)
Entwicklung & Code
KubeCon EU 2026: Kubernetes wird erwachsen – BSD, eBPF und mTLS
Vom 24. bis 26. März 2026 war Amsterdam zum zweiten Mal das Zentrum des (europäischen) Cloud-Native-Universums. Über 13.000 Teilnehmende hatten sich nach offizieller Verlautbarung der CNCF auf den Weg zur KubeCon EU in die niederländische Metropole gemacht, um die neuesten Infos von Kubernetes und Co. zu erfahren. Der erste Tag war – wenig überraschend – dem Thema KI gewidmet.
Weiterlesen nach der Anzeige
Im Frühjahr 2026 kann man keine Open-Source-Konferenz in Europa ausrichten, ohne das Thema (Daten-)Souveränität deutlich anzusprechen. In diesem Punkt hat die KubeCon EU jedoch Potenzial verspielt. Es gab im Vorfeld lediglich eine kleine Satelliten-Veranstaltung zu dem Thema. Zwar stellten europäische Kubernetes-Anwender wie der IT-Dienstleister der Bundeswehr BWI oder die französische Eisenbahngesellschaft SNCF ihre Cloud-Native-Reise auf der großen Hauptbühne vor, es bleibt aber der Eindruck einer eher stiefmütterlichen Behandlung des Themas zurück. Die Thesen: „Global zusammenarbeiten und lokal installieren“ und „You can always fork“ sind nur bedingt hilfreich.

Die auf Developer Experience (DX) und Platform Engineering spezialisierte CLC-Konferenz findet vom 11. bis 12. November 2026 in Mannheim statt. Beim Call for Proposals werden bis zum 21. April Vorschläge für Workshops und Talks gesucht – vor allem Praxisberichte.
Weitere Informationen finden sich auf derCLC-Website.
Neue Laufzeiten und Plattformen: Lima, urunc und die BSD-Welt
Obwohl Kubernetes bereits 12 Jahre existiert und sich zu einem Standard gemausert hat, sind noch wichtige Arbeiten an fundamentalen Bauteilen notwendig. Technisch ist die Container-Orchestrierung zu weiten Teilen mit Linux verknüpft. Das betrifft sowohl die darunterliegende Infrastruktur als auch die Applikationen in den Containern. Bei Letzteren gibt es gute Neuigkeiten für die BSD-Freunde und auch für macOS-Anwender: das Projekt Lima (Linux Machines). Dieses ist schon seit 2022 Teil der CNCF-Familie. Das ursprüngliche Ziel war eine bessere Unterstützung von Containern auf macOS-Rechnern. Inzwischen ist es unter anderem auch für Linux verfügbar und fokussiert sich auf leichtgewichtige virtuelle Maschinen.
Im Vorfeld der KubeCon EU 2026 ist Version 2.1 des Projekts erschienen, die nun auch macOS und FreeBSD als Gäste unterstützt. Das Feature ist allerdings noch im experimentellen Stadium. Anwender können mit Lima leichtgewichtige virtuelle Maschinen nutzen – vergleichbar mit Containern. Letztere und auch Kubernetes-Pods lassen sich ebenfalls mit Lima verwalten. In der Dokumentation finden sich Beispiele für K3s, k0s und RKE2. Alternativ gibt es aber noch weitere Projekte wie KubeVirt, die ebenfalls virtuelle Maschinen und Container gleichwertig behandeln.
Neuigkeiten wurden auch für OpenBSD verkündet. Das Projekt urunc liefert eine weitere Laufzeitumgebung für Container, die auf das Unikernel-Konzept zurückgreift. Daraus leitet sich auch der Name des Projekts ab. Das runc für Unikernels: urunc. Anstatt eines Prozesses in einem Container startet hier quasi ein kleiner Betriebssystemkern in abgeschotteter Umgebung. Das ist mit einer speziellen virtuellen Maschine vergleichbar und bereits von den Kata-Containern und Nabla bekannt. Das urunc-Projekt will einen speziellen Unikernel liefern, der mit BSD kompatibel ist. Dazu kommt ein minimalistisches Basissystem, um eine Anwendung ausführen zu können. Damit entfällt das Portieren von BSD-Anwendungen für Container. Sie müssen nicht mehr Linux-kompatibel sein. Es ist lediglich der Mehraufwand zum Verwalten der zusätzlichen Laufzeitumgebung urunc zu erbringen. Seit knapp einem Jahr ist das Projekt Teil der CNCF-Familie.
Weiterlesen nach der Anzeige
mTLS ohne Sidecars: Cilium integriert ztunnel
Ein wichtiges Thema im Netzwerkbereich der Container ist noch immer mTLS (mutual Transport Layer Security). Das Schlüsselwort dabei lautet CNI (Container Network Interface). Eine bekannte Größe hier ist Cilium. Das Projekt startete vor zehn Jahren und steht seit 2021 unter der Obhut der CNCF. Seit Version 1.19 beherrscht Cilium auch mTLS, und zwar ohne die Verwendung sogenannter Sidecars oder die Notwendigkeit zur Anpassung der Container-Anwendungen. Ein wesentlicher Baustein ist eBPF. Das Format erlaubt einerseits umfassende Einblicke in die Vorgänge in Containern und Pods, darüber hinaus lassen sich damit Sicherheitsrichtlinien implementieren und durchsetzen.
Der andere Baustein ist ztunnel, das man vom Service Mesh Istio kennt. Im sogenannten Ambient-Modus hat hier jeder Knoten einen kleinen Proxy, der sich um die TLS-Vorgänge kümmert. Diese in Rust geschriebene Komponente hat Cilium nun ebenfalls integriert. Damit ließen sich ein paar bekannte Probleme aus dem eBPF-Ansatz lösen. Die Authentisierung ist spezifisch für jede Sitzung und nicht nur per Knoten. Es gehen nun keine initialen Pakete beim Handschlag verloren. Außerdem steigt der Durchsatz insgesamt, da ztunnel größere Datenmengen zusammenfasst und verschlüsselt. Das Loslegen ist recht einfach und erfolgt in drei Schritten. Zunächst muss man das ztunnel-Feature in den Helm-Charts für Cilium einschalten. Danach gilt es den ztunnel auszurollen. Am Schluss muss man das Label io.cilium/mtls-enabled=true auf den entsprechenden Namensraum setzen. Alle Pods, die dann dort landen, verwenden automatisch mTLS.
Resümee und der Blick nach vorn
Nach drei Tagen KubeCon-Konferenz lässt sich festhalten, dass es zwar auch im 12. Jahr noch sehr viel Energie und Leidenschaft für Kubernetes und Co. gibt, allerdings auch noch recht grundlegende Probleme in verschiedenen Bereichen zu lösen sind – und das auch ganz ohne den KI-Hype.
Angesichts weiter wachsender Besucherzahlen muss die CNCF die Planung ihrer Hausmessen entsprechend langfristig vorbereiten: Die nächste KubeCon EU findet vom 15. bis 18. März 2027 in Barcelona statt. Auch der Termin für 2028 steht bereits fest: Berlin soll vom 24. bis 27. April zum Mittelpunkt des Cloud-Native-Universums werden.
(map)
-
Künstliche Intelligenzvor 3 MonatenSchnelles Boot statt Bus und Bahn: Was sich von London und New York lernen lässt
-
Social Mediavor 4 WochenCommunity Management und Zielgruppen-Analyse: Die besten Insights aus Blog und Podcast
-
Künstliche Intelligenzvor 1 Monat
Top 10: Die beste kabellose Überwachungskamera im Test – Akku, WLAN, LTE & Solar
-
Social Mediavor 1 MonatCommunity Management zwischen Reichweite und Verantwortung
-
UX/UI & Webdesignvor 2 MonatenEindrucksvolle neue Identity für White Ribbon › PAGE online
-
Künstliche Intelligenzvor 3 MonatenAumovio: neue Displaykonzepte und Zentralrechner mit NXP‑Prozessor
-
Künstliche Intelligenzvor 3 MonatenÜber 220 m³ Fläche: Neuer Satellit von AST SpaceMobile ist noch größer
-
Künstliche Intelligenzvor 3 MonateneHealth: iOS‑App zeigt Störungen in der Telematikinfrastruktur
