Meta-Brille: Bald „First class“ auf dem iPhone dank EU?
(Bild: JLStock/Shutterstock.com)
Ähnlich wie AirPods und andere Apple-Produkte sollen auch Zubehöranbieter mit dem iPhone kommunizieren. Zu Metas Brillen und VR-Headsets gibt es nun neue Infos.
Auf einer nur für Entwickler zugänglichen Seite stellt Apple Informationen zur Verfügung, wie Hardware von Meta künftig mit iPhone und iPad interagieren sollen. Apple ist aufgrund der Regulierung durch den Digital Markets Act (DMA) [1] gezwungen, Third-Party-Geräte ähnlich gut an seine zwei regulierten Gerätefamilien anzubinden, wie dies bereits bei eigenen Produkten wie AirPods, Airtags oder der Apple Watch der Fall ist. Die Pläne dürften bis zum kommenden Jahr umgesetzt werden. Explizit benannt sind die VR-Headset-Serie Meta Quest sowie die Brillen der Meta-Ray-Ban-Glasses-Serie. Die Seite „Interoperability Requests in the EU“ für Entwickler ist nur mit einem Developer-Account zugänglich.
Meta wünscht sich [2] (Developer-Account erforderlich) explizit, dass User Meta-Hardware direkt pairen und dieses Pairing dann auch auf anderen im Besitz befindlichen iPhones und iPads automatisch nutzen kann – und zwar durch „die Koordination über Metas eigene Cloud-Dienste“. Die Bitte der Facebook-Mutterfirma kam Ende Oktober 2025, Apple reagierte einige Tage später mit einem „Eligibility Review“.
Aktueller Stand der Dinge ist, dass die Entwicklungsarbeiten bei Apple noch bis iOS 27 und iPadOS 27 dauern. Allerdings noch nicht in den ersten, ab Herbst zur Verfügung stehenden Versionen. Stattdessen nennt Apple einen Zeitraum im Frühjahr 2027 – mit welcher Version ist noch unklar. Dann sollen Third-Party-Anwendungen Zugriff auf das notwendige kryptografische Material erhalten, um ein Pairing abzusichern. „Apple entwickelt derzeit ein Protokoll, mit dem ein Apple-Gerät einen sicheren Sitzungsschlüssel ableiten kann, der zur Authentifizierung und Verschlüsselung der Übertragungsverbindung zwischen dem Apple-Gerät und einem Zubehörteil eines Drittanbieters dient.“
Die Synchronisation mit anderen Apple-Geräten ist dabei vorgesehen – ob tatsächlich über die Cloud des jeweiligen Herstellers, bleibt offenbar abzuwarten. Meta meldete sich zuletzt im März bei Apples Entwicklerteam. Dabei ging es um die Frage, ob das notwendige AccessorySetupKit (ASK) von Apple den ganzen Bildschirm übernehmen muss oder nicht. Meta hätte hier gerne eine einfachere Lösung – den direkten Start der eigenen App.
Unterdessen gibt es Neuigkeiten in Sachen DMA-Öffnung von KI-Systemen: Google wird von der EU nun gezwungen, sein Android-Betriebssystem vollständig für Assistenten eigener Hersteller zugänglich [3] zu machen. Apple versucht derzeit, genau dies zu verhindern und hat deshalb auch Siri AI zunächst nicht in die EU [4] gebracht.
URL dieses Artikels:
https://www.heise.de/-11367394
Links in diesem Artikel:
Copyright © 2026 Heise Medien
Tap-to-Pay-Funktion mit dem iPhone.
(Bild: Apple)
Lange setzte Apple sogar bei Apple Pay in seinen Stores auf Bezahlterminals. Nun wechselt das Unternehmen auf interne Technik.
Dogfooding nennt man es, wenn ein Unternehmen Technik, die man seiner Kundschaft anbietet, auch selbst einsetzt. Apple versucht das nun bei seinem Tap-to-Pay-Bezahlsystem [1], das schon seit mehreren Jahren auf iPhones ab dem Modell X zur Verfügung steht. Laut einem Bericht werden bisherige Bluetooth-Terminals und andere Sonderlocken-Hardware innerhalb der Ladenkette des Konzerns aussortiert. Kunden sollen direkt im Apple Retail Store am Handy des Mitarbeiters via NFC-Kreditkarte sowie anderen NFC-Verfahren wie Apple Pay bezahlen können. Teilweise ist das bereits umgesetzt, nun erfolgt ein flächendeckender Rollout, schreibt die Finanznachrichtenagentur Bloomberg.
Tap-to-Pay gibt es in Deutschland bereits seit 2024 [2]. Apple arbeitet dazu mit verschiedenen Bezahldiensten zusammen. Der in iPhones integrierte NFC-Kartenchip wird dabei zum Auslesen von Karten genutzt, die Buchung direkt über eine Zahlungsanbieter-App abgewickelt. Unternehmen, die das anbieten [3], sind SumUp, viva.com, die Sparkassen oder MyPOS. Händler müssen mit diesen einen Vertrag schließen und zahlen dann prozentuale Gebühren, teilweise auch Monatstarife.
Für Endkunden ohne geschäftliche Basis ist die Funktion allerdings nicht gedacht, man kann also nicht einfach ein Konto eröffnen, um dann von Freunden Kreditkartenzahlungen zu akzeptieren. Dennoch ist die Funktion nützlich, da man zuvor stets ein angebundenes Kartenterminal eines externen Anbieters benötigt hatte, wie es auch Apple einsetzte.
Zwar begann die Umstellung auf Tap-to-Pay in Apples Ladengeschäften [4] bereits vor einigen Jahren, doch das dabei verwendete iPhone 14 machte manchmal Probleme, so dass die Terminals weiterhin mitgeführt wurden. Der Grund: Die Geräte sollen Probleme mit Kreditkarten aus Metall gehabt haben, beispielsweise die Platin-Karten von American Express. Diese waren teilweise gar nicht lesbar.
Hinzu kam, dass man die Stelle des NFC-Lesers genau treffen musste, ein Problem, das Nutzer etwa auch von Tools wie der AusweisApp [5] (und dem oben angebrachten RFID-Leser) kennen. Neuere Modelle wie das iPhone 16 lesen allerdings zuverlässiger und sollen auch mit Metallkarten zurechtkommen. Das sei der Grund, warum Apple nun die externen Terminals ausrangiere, schreibt Bloomberg [6].
URL dieses Artikels:
https://www.heise.de/-11367380
Links in diesem Artikel:
Copyright © 2026 Heise Medien
Bild: Shutterstock.com
Fast 50 Jahre lang gehörte die Serie zum Freitagabend. Ihr Ende erzählt vom Abschied einer Fernsehkultur. Gegen Netflix & Co. haben Gewohnheiten keine Chance.
46 Jahre lang gehörte "Ein Fall für zwei" zu den Konstanten des deutschen Fernsehens. Über Jahrzehnte versammelte die Reihe am Freitagabend Millionen Zuschauer vor dem Bildschirm.
"Nach reiflicher Überlegung" [1]traf der öffentlich-rechtliche Sender nun die Entscheidung, sich von der Kultserie zu verabschieden.
Das ist Teil eines schleichenden Abschieds von einer Fernsehkultur, die für die Generation des linearen Fernsehens selbstverständlich war, und die weitgehend verschwunden ist: Man setzt sich am Freitagabend vor die Kiste und schaut Krimi.
Fast ein halbes Jahrhundert lang folgten Freitagabende im ZDF einer schlichten Dramaturgie. Ein Anwalt und ein Detektiv, der für die schmutzige Realität zwischen Gerichtssaal und Frankfurter Hinterhöfen und damit auch für gelegentlich notwendige Faustkämpfe zuständig war.
Die Serie erfand das Fernsehen nicht neu. Sie musste es auch nicht. Sie war so verlässlich wie Claus Theo Gärtner als Matula, der erst noch als Polizist und dann als Privatdetektiv dem Anwalt zur Seite steht – und gerade deshalb erfolgreich.
In Zeiten, in denen Streamingdienste mit immer neuen Formaten um Aufmerksamkeit kämpfen, wirkt eine solche Konstanz fast exotisch. Wer heute eine Serie startet, weiß oft nicht, ob sie eine zweite Staffel erlebt.
Ein Fall für zwei überlebte dagegen Generationen von Schauspielern und Zuschauern. Günter Strack als Anwalt Dieter Renz wurde später durch Rainer Hunold ersetzt; Claus Theo Gärtner als Matula zum eigentlichen Gesicht der Reihe. Als Gärtner 2013 nach mehr als 300 Folgen ausschied, schien die Geschichte eigentlich erzählt.
Dass das ZDF die Marke 2014 dennoch neu startete, war mutig – und erstaunlich erfolgreich. Antoine Monot und Wanja Mues machten aus der alten Idee eine neue Serie, die weitere 13 Jahre Bestand hatte.
Nun soll mit vier Folgen der 13. Staffel, die im kommenden Jahr ausgestrahlt werden sollen [2], Schluss sein. Den "endgültigen Schlusspunkt" soll anschließend ein 90-minütiger Spielfilm setzen, der erst 2027 gedreht wird und der die Geschichte "zu einem würdigen Abschluss" bringen soll (Hörzu [3]).
Ganz ausschließen will man eine spätere Wiederbelebung offenbar nicht. Sonst würde man den Schlusspunkt kaum erst 2027 setzen. Im Fernsehen ist schließlich selbst ein endgültiger Abschied manchmal nur bis zur nächsten Programmreform endgültig.
Offiziell spricht das ZDF von einer stärkeren Konzentration auf wenige Freitagskrimis. Das klingt nach Programmstrategie. Tatsächlich markiert die Entscheidung einen tieferen Wandel.
Jahrzehntelang konnte das Fernsehen seinen Zuschauern Gewohnheiten anbieten. Heute jagt es ihrer Aufmerksamkeit hinterher. Aus der Treue zum festen Sendeplatz ist der permanente Wettbewerb um den nächsten Klick geworden.
Krimis gibt es mehr denn je. Was verschwindet, ist eine Fernsehkultur der Routinen. Früher entschied der Programmplatz, was Millionen Menschen am Freitagabend gemeinsam sahen. Heute entscheidet immer häufiger ein individualisiertes Empfehlungssystem, was jeder Einzelne als Nächstes anklickt.
Die eigentliche Konkurrenz von "Ein Fall für zwei" sind am Ende nicht andere Krimis. Es sind Plattformen, deren Geschäftsmodell darin besteht, den Zuschauer nie zur Ruhe kommen zu lassen.
Das klassische Fernsehen wollte Gewohnheiten schaffen. Die Streamingwelt will sie permanent unterbrechen. Zwischen beiden Logiken ist für einen Freitagabend als nationales Ritual irgendwann kein Platz mehr.
URL dieses Artikels:
https://www.heise.de/-11369093
Links in diesem Artikel:
Copyright © 2026 Heise Medien
CATL liefert ab 2027 5 GWh Natrium-Speichertechnologie nach Westeuropa.
(Bild: harhar38 / Shutterstock.com)
Der Batteriehersteller CATL bringt sein natriumbasiertes Speichersystem TENER nach Europa. Ab 2027 sollen 5 Gigawattstunden nach Westeuropa geliefert werden.
CATL hat mit dem niederländischen Energiedienstleister Alfen N.V. eine Absichtserklärung über die Lieferung von 5 Gigawattstunden natriumbasierter Energiespeicher nach Westeuropa unterzeichnet.
Wie Bloomberg berichtet [1] und die offizielle CATL-Pressemitteilung [2] bestätigen, sollen die TENER-Systeme ab 2027 unter anderem in die Niederlande gehen. CATL spricht vom „ersten Einsatz von Natriumbatteriespeichern auf dem europäischen Markt“.
Das Timing kommt nicht von ungefähr. Der Preis für den CME-Lithiumhydroxid-Kontrakt hat sich seit Jahresbeginn deutlich erholt und notiert erstmals seit Ende 2023 wieder über 20.000 US-Dollar pro Tonne. Natrium dagegen ist weltweit mehr als tausendfach häufiger verfügbar als Lithium – und entsprechend günstiger.
Nicht nur CATL reagiert darauf: Auch GM und BYD setzen inzwischen massiv auf Natrium-Ionen-Technik [3].
Das TENER-System, das CATL Ende Juni auf einer Veranstaltung in München vorstellte [4], ersetzt Lithium durch Natrium als Hauptrohstoff.
Die technischen Eckdaten lesen sich ambitioniert: 15.000 Ladezyklen bis 70 Prozent Restkapazität, eine Auslegung auf 25 bis 30 Jahre Betriebsdauer und über 92 Prozent Kapazitätserhalt bei minus 20 Grad Celsius.
Jedes Modul speichert mehr als 30 Megawattstunden, ein komplettes 1-GWh-Projekt benötigt 34 solcher Einheiten.
CATL verfolgt eine Doppelstrategie: Lithium und Natrium sollen parallel ausgebaut werden. In China sicherte sich das Unternehmen bereits einen über drei Jahre laufenden Vertrag mit Beijing HyperStrong Technology, mit dem Natrium-Ionen-Batterien mit einer Gesamtkapazität von über 60 GWh geliefert werden sollen. Das ist der bislang größte Auftrag dieser Art weltweit.
Die ersten chinesischen TENER-Lieferungen starten im September 2026, ab Juni 2027 soll dann auch weltweit ausgeliefert werden.
CATL-Chef Robin Zeng erklärte beim Weltwirtschaftsforum in Dalian, man wolle die Produktion von Natrium-Batterien zügig hochfahren. Innerhalb von drei bis fünf Jahren solle eine Jahreskapazität von über 100 GWh erreicht werden.
Insgesamt rechnet CATL für 2026 mit Batterielieferungen von über 1.000 GWh – ein deutlicher Zuwachs im Vergleich zum Vorjahr, in dem etwa 660 GWh ausgeliefert wurden.
Für Europa ist der Deal mehr als ein reines Liefergeschäft. CATL betonte, die Zusammenarbeit mit Alfen biete die Chance, „lokales Fachwissen über die Integration von Natriumsystemen in europäische Stromnetze aufzubauen“.
Mit einem Geräuschpegel von rund 65 dB – etwa 10 dB leiser als übliche Speicherstationen – zielt das System auch auf siedlungsnahe Standorte.
Dass Natrium-Ionen-Zellen in der Fertigung bereits Qualitäten nahe Tesla-Niveau erreichen [5], zeigten jüngst Forscher der RWTH Aachen bei der Analyse chinesischer Hina-Batteriezellen.
Die Internationale Energieagentur sieht 2026 als mögliches entscheidendes Jahr für die Technologie, die Lithium-Ionen bei stationären Speichern herausfordern könnte.
URL dieses Artikels:
https://www.heise.de/-11368895
Links in diesem Artikel:
Copyright © 2026 Heise Medien
Die EU-Frist ist um: Weil die Bundesregierung das Gesetz zur Lohngleichheit verschleppt, müssen Frauen ihre Rechte nun direkt einklagen.
Die Gleichberechtigung von Frauen und Männern ist Bestandteil des Grundgesetzes. Trotzdem werden Frauen meist schlechter bezahlt. Das ist ein europaweites Problem. Die Vorgaben der EU sind klar: Bis Juni hatte die Bundesregierung Zeit, ein Gesetz zur Lohngerechtigkeit in den Betrieben zu beschließen. Die Regierung Merz lässt den Termin verstreichen, ohne zu handeln. Die EU-Kommission hat unmittelbar nach dem Fristablauf am 7. Juni 2026 die EU-weite Umsetzung der Lohngleichheits-Richtlinie offiziell eingefordert (EU-Kommission, 8. Juni 2026 [1]).
Die EU-Entgelttransparenzrichtlinie (Richtlinie (EU) 2023/970) verpflichtet Arbeitgeber zu Maßnahmen für gleiche Bezahlung durch Auskunftsrechte für Beschäftigte, die Offenlegung von Gehaltsspannen und Berichte über Lohnunterschiede.
Drei Jahre hatten die EU-Mitgliedstaaten Zeit, diese Vorgaben in nationales Recht umzusetzen. Das CDU-geführte Bundesfamilienministerium unter Karin Prien hat eingeräumt, dass ein nationales Umsetzungsgesetz nicht rechtzeitig kommen wird. Als Begründung wird die wirtschaftliche Lage angeführt.
Die aktuelle Situation erfordert ein Handeln der Regierung. Denn unterschiedliche Bezahlung bei Frauen und Männern gibt es auch in der modernen Arbeitswelt. Die Lohnlücke wird auch "Gender Pay Gap" genannt. Dabei wird der durchschnittliche Bruttostundenlohn aller Arbeitnehmer verglichen. Hierzulande liegt dieser Wert meist zwischen 15 Prozent und 18 Prozent.
Er bildet strukturelle Nachteile ab, etwa dass Frauen häufiger in Teilzeit oder in Branchen mit niedrigeren Löhnen arbeiten. Ein bereinigtes "Gender Pay Gap" vergleicht das Gehalt von Männern und Frauen bei gleichen Voraussetzungen, etwa Qualifikation und gleiche Position. Dieser liegt in der Regel bei rund sechs Prozent.
Die Pflichten der Unternehmen werden durch die Richtlinie erweitert:
"Arbeitgeber müssen Vergütungsstrukturen einrichten und unterhalten, durch die gleiches Entgelt bei gleicher oder gleichwertiger Arbeit gewährleistet wird. Der Begriff "Entgelt" umfasst dabei nicht nur das Grundgehalt, sondern auch variable Gehaltsbestandteile, Vorteile in Geld oder Sachleistungen."
Ein Unternehmen hat danach das Einstiegsgehalt für die zu besetzende Stelle spätestens vor dem ersten Bewerbungsgespräch anzugeben. Beschäftigte sollen ein Einsichtsrecht in die Lohnstruktur der eigenen Abteilung haben – wie weit die Rechte gehen und wie der Datenschutz gewährt werden soll, lässt die Richtlinie offen. Diese Vorgaben im Gesetz zu beschreiben, wäre Aufgabe der Bundesregierung.
Das Problem für Beschäftigte: Besteht kein Gesetz, werden Personalabteilungen Anfragen zur Gehaltsinformation ablehnen. Den Betroffenen bleibt nur der Weg zum Arbeitsgericht – oder der Verzicht auf die Möglichkeiten.
Bereits das Allgemeine Gleichbehandlungsgesetz (AGG) verbietet seit 2006 Benachteiligungen wegen des Geschlechts, seit 2017 ergänzt das Entgelttransparenzgesetz (EntgTranspG) diese Regelungen. Es soll der Gleichbehandlung von Frauen und Männern bei der Bezahlung dienen.
Hier wären einfache Lösungen wichtig – etwa, dass eine Arbeiterin eine Information erhalten kann, wie weit sich ihr Gehalt von dem der Männer in vergleichbaren Jobs unterscheidet. Unternehmenslobbyisten setzten durch, dass § 11 Abs. 3 Entgelttransparenzgesetz lautet:
"Das Vergleichsentgelt ist anzugeben als auf Vollzeitäquivalente hochgerechneter statistischer Median des durchschnittlichen monatlichen Bruttoentgelts sowie der benannten Entgeltbestandteile, jeweils bezogen auf ein Kalenderjahr."
Und mit besonderer Umständlichkeit und großer bürokratischer Fantasie wird in § 12 Entgelttransparenzgesetz vorgeschrieben, dass "das Vergleichsentgelt nicht anzugeben, wenn die Vergleichstätigkeit von weniger als sechs Beschäftigten des jeweils anderen Geschlechts ausgeübt wird".
Derart komplizierte Regelungen sollen auf Arbeitende abschreckend wirken, die ihre Rechte wahrnehmen möchten. Das will die EU ändern:
"Arbeitgeber müssen ihren Beschäftigten künftig Informationen darüber, welche Kriterien für die Festlegung ihres Entgelts, ihrer Entgelthöhen und ihrer Entgeltentwicklung verwendet werden, in leicht zugänglicher Weise zur Verfügung stellen. Zudem haben Beschäftigte künftig auf Verlangen das Recht, vom Arbeitgeber Auskünfte über ihre individuelle Entgelthöhe und über die durchschnittlichen Entgelthöhen zu erhalten."
IHK Stuttgart
Die Juristen Dr. Michaela Felisiak und Dr. Dominik Sorber schreiben [3] für das Fachportal Legal Tribune Online (LTO):
"Die Verzögerung der Bundesregierung ist also politisch und rechtlich problematisch – ändert aber an den Pflichten der Unternehmen nichts. Die EU-Entgelttransparenzrichtlinie gilt. Sie gilt wegen ihrer Grundrechtsrelevanz in weiten Teilen unmittelbar."
Dass Betroffene beim Arbeitsgericht ihre Ansprüche geltend machen müssen, um das EU-Recht konkret durchzusetzen, erinnert an die fehlende gesetzliche Regelung zur Zeiterfassung. Ähnlich wie bei dem Thema Arbeitszeit, muss nun auch beim Thema Entgelt die Rechtsprechung dafür Sorge tragen, dass die Europäischen Grundrechte umgesetzt werden.
Das Bundesarbeitsgericht entschied am 13.09.2022, dass Unternehmen Arbeitszeiten zu erfassen haben. Das kam nicht überraschend. Denn der Europäische Gerichtshof (EuGH) sorgte bereits 2019 mit einem Urteil für Klarheit: Beginn und Ende der Arbeitszeit sind systematisch zu erfassen.
Der EuGH erklärt in seiner Entscheidung vom 14.5.2019 – C-55/18, dass eine nationale Rechtslage mit der EU-Charta unvereinbar ist, wenn die Arbeitgeber nicht verpflichtet sind, ein System einzurichten. Das ist ein Teil des Arbeitsschutzes.
Der Gerichtshof betont die Bedeutung des in der EU-Charta verbürgten Grundrechts eines jeden Beschäftigten auf die Begrenzung der Höchstarbeitszeit [4] sowie der täglichen und wöchentlichen Ruhezeiten, was die EU-Arbeitszeitrichtlinie weiter präzisiert.
Die Bundesregierung entschied sich für ein "Aussitzen", Unternehmenslobbyisten verhinderten ein Gesetz.
Ähnlich wird es jetzt bei der Lohngerechtigkeit sein. Dabei stehen die Chancen vor Gericht nicht schlecht, wenn sich eine Betroffene auf den weiten Weg der Instanzen einlässt – und Informationen über das Gehalt anderer hat.
1.000 Euro Unterschied je Monat bei der Bezahlung – das ist unzulässig, hat das höchste deutsche Arbeitsgericht geurteilt. Allein die Tatsache, dass ein Kollege sein Gehalt "besser verhandelt" hat, kann kein zulässiges Unterscheidungskriterium sein.
Bis zu 1.000 Euro Gehaltsunterschied je Monat lagen zwischen einer Außendienstlerin und einem Kollegen. Die Klage sollte den Arbeitgeber zur Zahlung rückständiger Vergütung verpflichten – insgesamt 14.500 Euro brutto. Der Arbeitgeber machte demgegenüber geltend, die höhere Vergütung des Vertrieblers beruhe auf den mit ihm geführten Vertragsverhandlungen und sei im Rahmen der Vertragsfreiheit zulässig.
Eine wegweisende Entscheidung [5] hat das Bundesarbeitsgericht 2023 getroffen: Besseres Verhandlungsgeschick kann kein Argument für unterschiedliche Bezahlung sein. Das Unternehmen konnte die Vermutung der Entgeltbenachteiligung aufgrund des Geschlechts nicht widerlegen.
Das Bundesarbeitsgericht sprach neben der Entgeltnachzahlung auch eine Entschädigung nach § 15 Abs. 2 AGG wegen einer Benachteiligung in Höhe von 2.000 Euro zu.
Fehlendes Wissen der Beschäftigten über die Ungerechtigkeiten im Betrieb und ein aufwändiges individuelles Gerichtsverfahren, machen es vielen Frauen schwer, gegen die Ungerechtigkeiten anzugehen. Unternehmenslobbyisten werden deshalb alles daran setzen, den Belegschaften Initiativen zur Lohngerechtigkeit zu erschweren. Viele Personalabteilungen hoffen deshalb: "Hoffentlich klagt niemand!".
URL dieses Artikels:
https://www.heise.de/-11365358
Links in diesem Artikel:
Copyright © 2026 Heise Medien
(Bild: Manuel Masiero / KI / iX)
100 Prozent Code Coverage und alle Tests grün geben kein verlässliches Korrektheitsurteil. Hinter dieser Beobachtung steckt mehr als nur Pech.
Geht es um Codequalität, ist die Code Coverage eine besonders verführerische Metrik. Sie ist leicht zu erheben, in Pipelines durchzusetzen und scheint auf den ersten Blick eine objektive Aussage darüber zu treffen, wie gründlich ein System getestet ist. Bei näherer Betrachtung zeigt sich aber, dass das Testen selbst an fundamentale Grenzen stößt, an denen auch die ausgefeilteste Coverage-Messung nichts ändern kann. Das Halteproblem aus Teil 2 [1] spielt dabei eine neue Rolle und wie wir in Teil 3 [2] gesehen haben, lässt sich Codequalität ohnehin nicht in eine einzige Zahl pressen.
Vor einigen Jahren entwickelte ein Entwicklungsteam meines Unternehmens eine Implementierung des Chord-Algorithmus [3], eines klassischen Verfahrens für strukturierte Peer-to-Peer-Netzwerke. Chord organisiert die teilnehmenden Knoten in einem virtuellen Ring und erlaubt es, Key-Value-Paare effizient zu speichern und wiederzufinden, auch wenn Knoten kommen und gehen. Das Team arbeitete sorgfältig: Alle Unit-Tests waren grün, die Code Coverage lag bei 100 Prozent.
Trotzdem hatte die Implementierung einen Bug. Wurde ein Knoten im laufenden Netzwerk abgeschossen, stürzten die übrigen Knoten dominoartig ab. Das Problem lag nicht im Code eines einzelnen Knotens, sondern im Zusammenspiel mehrerer Knoten. Bestimmte Konstellationen, in denen Nachrichten zwischen Knoten in einer ungünstigen Reihenfolge eintrafen, führten zu logischen Widersprüchen, die beim Betrachten eines einzelnen Knotens nicht erkennbar waren. Die Tests deckten jede einzelne Funktion vollständig ab, aber sie testeten nicht das, was am Ende den Ausfall verursachte.
Diese Erfahrung steht stellvertretend für ein viel allgemeineres Phänomen. Tests können viele Bugs finden, aber sie können nicht garantieren, dass keine mehr da sind. Und das ist nicht nur eine pragmatische Einschränkung, sondern hat tiefer liegende Ursachen.
Code Coverage misst, wie viel Prozent des Codes durch Tests ausgeführt werden. Eine Zeile, die mindestens einmal im Rahmen eines Tests durchlaufen wird, gilt als abgedeckt. Das klingt zunächst sinnvoll, denn nicht ausgeführter Code ist mit Sicherheit nicht getestet. Die Umkehrung gilt aber nicht: Ausgeführter Code ist nicht automatisch geprüfter Code.
Ein einfaches Beispiel zeigt das Problem. Eine Funktion gibt eine Liste sortiert zurück. Ein Test ruft diese Funktion mit einer beliebigen Liste auf, prüft aber nicht das Ergebnis. Die Coverage-Messung stellt fest, dass alle Zeilen der Funktion durchlaufen wurden, und meldet 100 Prozent Abdeckung. Trotzdem hätte die Funktion auch eine zufällige Permutation zurückgeben können, ohne dass der Test es bemerkt hätte. Coverage misst Ausführung, nicht Verifikation.
Doch selbst wenn die Tests ihre Ausgaben gewissenhaft prüfen, bleibt eine zweite Lücke. Coverage misst die Strukturen des Codes, nicht die Interaktionen zwischen Komponenten. Im Chord-Beispiel waren die einzelnen Funktionen jedes Knotens vollständig abgedeckt, aber das Zusammenspiel mehrerer Knoten in spezifischen zeitlichen Konstellationen war es nicht. Was Coverage nicht erfasst, ist die kombinatorische Explosion der möglichen Reihenfolgen, in denen Nachrichten ausgetauscht werden, in denen Threads parallel laufen, in denen Knoten verbunden oder getrennt sind. Eine Coverage von 100 Prozent ist deshalb keine Aussage über die Korrektheit des Systems, sondern eine Aussage darüber, dass kein Code übersehen wurde.
Diese strukturelle Asymmetrie zwischen Tests und Korrektheit hat Edsger Dijkstra bereits 1969 auf einer NATO-Konferenz zur Softwaretechnik in einem inzwischen berühmten Satz auf den Punkt gebracht: Testing shows the presence, not the absence of bugs [9]. Wenig später formulierte er die ausführlichere Variante in seinen „Notes on Structured Programming“: Programmtests können benutzt werden, um die Anwesenheit von Fehlern zu zeigen, niemals aber deren Abwesenheit.
Die Aussage klingt banal, hat aber weitreichende Konsequenzen. Ein Test, der einen Bug findet, beweist die Existenz dieses Bugs. Ein Test, der keinen Bug findet, beweist nichts darüber, ob weitere Bugs existieren. Die übliche Beweisstruktur in den Naturwissenschaften, dass das Ausbleiben eines Gegenbeispiels die Hypothese stützt, gilt hier nur in sehr eingeschränktem Sinne. Solange nicht alle möglichen Eingaben und Zustände durchgetestet wurden, bleibt jeder Bereich eine potenzielle Fehlerquelle. Und alle möglichen Eingaben und Zustände durchzutesten, ist in praktisch jedem nicht-trivialen Programm aussichtslos.
Schon einfache Funktionen haben mehr mögliche Eingabekombinationen, als sich vollständig durchprobieren lassen. Eine Funktion, die drei Ganzzahlen mit jeweils 32 Bit entgegennimmt, hat 2 hoch 96 mögliche Eingabekombinationen, ungefähr 80 Quadrillionen. Selbst bei einer Milliarde Tests pro Sekunde würde es mehr als zwei Billionen Jahre dauern, alle Kombinationen zu testen, ein Vielfaches des Alters des Universums. Und das ist eine triviale Funktion. Sobald Strings, Listen oder beliebige Objekte als Eingaben hinzukommen, wird der Eingaberaum buchstäblich unendlich groß.
Dieses Phänomen wird als Zustandsraumexplosion bezeichnet. Bei zustandsbehafteten Programmen, also fast jedem realen System, kommt eine weitere Dimension hinzu: Das Verhalten hängt nicht nur von der aktuellen Eingabe ab, sondern auch vom internen Zustand, der wiederum durch frühere Eingaben geprägt ist. Eine Webanwendung mit zwanzig Sessions, jeweils mit unterschiedlich gesetzten Variablen, hat einen Zustandsraum, der sich nicht mehr sinnvoll überschauen lässt. Bei verteilten Systemen wie im Chord-Beispiel multipliziert sich der Zustandsraum eines einzelnen Knotens mit der Anzahl der Knoten und ihrer möglichen Kommunikationsmuster. Was beim Einzelknoten noch handhabbar wirkte, wird im Verbund unbeherrschbar.
Die übliche Antwort auf dieses Problem heißt Äquivalenzklassen. Statt jede Eingabe einzeln zu testen, werden Eingaben in Klassen zusammengefasst, die aus Sicht des Programms gleich behandelt werden sollten. Statt alle ganzen Zahlen zu testen, reichen ein typischer positiver Wert, ein typischer negativer Wert, die Null und die Grenzwerte. Das ist pragmatisch und meistens ausreichend, aber es setzt voraus, dass die Klassenbildung korrekt ist, dass also alle relevanten Fälle erkannt wurden. Genau hier liegen viele Bugs verborgen: in den Fällen, deren Eigenständigkeit niemand erkannt hat.
Selbst wenn sich der Eingaberaum vollständig durchprobieren ließe, bliebe eine zweite, oft übersehene Frage. Woher weiß ein Test, was die richtige Ausgabe ist? Diese Frage ist als Orakel-Problem in der Testtheorie bekannt. Ein Test besteht im Kern aus zwei Teilen: einer Eingabe und einer Erwartung an die Ausgabe. Die Eingabe lässt sich automatisch generieren, die Erwartung im Allgemeinen nicht.
Bei mathematischen Funktionen mag das Orakel offensichtlich sein. Eine Sortierfunktion soll eine sortierte Liste liefern, das lässt sich prüfen. Eine Quadratwurzel soll eine Zahl liefern, die mit sich selbst multipliziert die Eingabe ergibt. Bei realen Anwendungen ist die Lage komplizierter. Was ist die richtige Antwort einer Suchmaschine auf eine bestimmte Anfrage? Was ist die richtige Reihenfolge in einem Newsfeed? Was ist die richtige Empfehlung in einem Webshop? In all diesen Fällen gibt es kein objektives Orakel, sondern nur Heuristiken, Spezifikationen, Geschäftsregeln, manchmal nur menschliches Urteil. Tests können diese Orakel approximieren, aber sie sind selbst eine Quelle möglicher Fehler.
Im Chord-Beispiel zeigt sich das Orakel-Problem in einer besonders perfiden Variante. Die einzelnen Funktionen jedes Knotens hatten klar definierte Erwartungen, und die Tests prüften diese Erwartungen korrekt. Aber das richtige Verhalten des Systems beim Ausfall eines Knotens war nirgendwo als Orakel formuliert, weil niemand explizit darüber nachgedacht hatte. Tests können nur prüfen, was jemand vorher als Erwartung formuliert hat. Was niemand erwartet, kann auch niemand testen.
Aus Teil 2 dieser Serie [12] ist das Halteproblem [13] bereits bekannt: Alan Turing hat 1936 bewiesen, dass es kein allgemeines Verfahren geben kann, das für ein beliebiges Programm und eine beliebige Eingabe entscheidet, ob das Programm terminiert oder in eine Endlosschleife gerät. Im Kontext des Testens taucht dieses Resultat in einer subtileren Variante auf.
Wenn ein Test einen Code aufruft, dann muss die Test-Infrastruktur entscheiden, wann sie diesen Aufruf abbricht. Bleibt das Programm einfach hängen, läuft auch der Test ewig. Das übliche Mittel ist ein Timeout: Nach einer bestimmten Zeit gilt der Test als fehlgeschlagen. Dieses Vorgehen ist eine Heuristik, kein Beweis. Ein Test mit Timeout kann nicht zwischen einem Programm, das in einer Endlosschleife steckt, und einem Programm, das einfach nur sehr lange braucht, unterscheiden. Beide werden gleichermaßen als Fehler gemeldet, oder beide als Erfolg, je nach Konfiguration. Die fundamentale Unentscheidbarkeit des Halteproblems schlägt hier auf eine ganz praktische Frage durch: Wie lange darf ein Test laufen, bevor er als gescheitert gilt?
Eine verwandte Konsequenz betrifft die Generierung von Tests. Werkzeuge, die Tests automatisch erzeugen wollen, müssen entscheiden, welche Pfade durch den Code überhaupt erreichbar sind. Diese Entscheidung ist im Allgemeinen ebenfalls unentscheidbar, was aus Rice’s Theorem [14] folgt, das bereits in Teil 2 eine Rolle spielte. Praktische Werkzeuge nähern sich dem mit Heuristiken an, aber sie können nicht garantieren, alle relevanten Pfade zu finden.
Trotz dieser fundamentalen Grenzen gibt es Verfahren, die deutlich mehr leisten als klassisches Beispiel-basiertes Unit-Testing. Sie verfolgen unterschiedliche Strategien, um den Eingaberaum strukturiert zu erschließen, auch wenn er sich nicht vollständig durchprobieren lässt.
Beim Property-based Testing [15] werden nicht einzelne Beispiele getestet, sondern Eigenschaften, die für alle Eingaben gelten sollen. Statt zu prüfen, dass das Sortieren der Liste [3, 1, 2] das Ergebnis [1, 2, 3] liefert, wird die Eigenschaft formuliert, dass das Ergebnis einer Sortierung dieselben Elemente enthält wie die Eingabe und in aufsteigender Reihenfolge vorliegt. Das System generiert dann automatisch eine große Zahl zufälliger Eingaben und prüft die Eigenschaft. Wird ein Gegenbeispiel gefunden, versucht das Werkzeug, es zu einem minimalen Fall zu reduzieren, der den Bug noch zeigt. Property-based Testing wurde mit dem Werkzeug QuickCheck für Haskell [16] populär und ist inzwischen für viele Programmiersprachen verfügbar.
Beim Fuzzing [17] wird das System mit zufällig generierten oder mutierten Eingaben bombardiert, oft mit dem Ziel, Abstürze, Sicherheitslücken oder unerwartete Zustände zu finden. Moderne Fuzzer nutzen Coverage-Informationen, um Eingaben zu bevorzugen, die neue Codepfade auslösen, und arbeiten sich auf dem Weg systematisch in den Eingaberaum vor. Fuzzing hat zahlreiche schwerwiegende Bugs in weitverbreiteten Bibliotheken aufgedeckt, etwa in Browsern, Bildverarbeitungs-Bibliotheken und Kryptographie-Implementierungen.
Beim Mutation Testing [18] schließlich werden nicht die Programme, sondern die Tests selbst getestet. Das Werkzeug nimmt kleine Änderungen am Quellcode vor, etwa wird ein Plus zu einem Minus, ein Größer-als zu einem Kleiner-als, eine Bedingung negiert. Anschließend werden die Tests gegen den derart mutierten Code laufen gelassen. Wenn die Tests die Mutation nicht bemerken, ist das ein Hinweis darauf, dass die Tests die betroffene Stelle nicht wirklich prüfen, sondern den Code nur durchlaufen lassen. Mutation Testing schließt damit genau die Lücke, die Coverage offenlässt: Es misst nicht, ob Code ausgeführt wurde, sondern ob seine Korrektheit tatsächlich überprüft wird.
All diese Verfahren erweitern die Möglichkeiten des Testens erheblich. Aber keines von ihnen löst das fundamentale Problem. Property-based Testing kann unendlich viele Eingaben nicht in endlicher Zeit prüfen, sondern nur stichprobenartig. Fuzzing findet viele Bugs, aber nicht alle. Mutation Testing prüft die Tests, aber das Orakel-Problem bleibt. Die Verfahren machen Tests besser, aber sie heben die Grenzen nicht auf.
Der Weg vom Chord-Beispiel über Code Coverage, Dijkstras Bonmot, Zustandsraumexplosion, Orakel-Problem und Halteproblem zeigt eine durchgängige Linie. Tests können niemals beweisen, dass ein Programm korrekt ist. Sie können nur Vertrauen aufbauen. Dieses Vertrauen ist nicht wertlos, im Gegenteil: Es ist der pragmatische Ausweg aus einer Reihe theoretischer Unmöglichkeiten. Aber es darf nicht mit einem Beweis verwechselt werden.
Was diese Einsicht in der Praxis bedeutet, lässt sich in wenige Punkte fassen. Tests sollten so geschrieben werden, dass sie aussagekräftige Eigenschaften prüfen, nicht nur Code zur Ausführung bringen. Eine hohe Coverage ist ein notwendiges, aber kein hinreichendes Kriterium für gute Tests. Verschiedene Testarten ergänzen sich, denn Unit-Tests, Integrationstests, End-to-End-Tests, Property-based Tests und Fuzzing decken jeweils unterschiedliche Klassen von Fehlern ab. Und vor allem: Wenn ein System produktiv geht, sollte das Vertrauen in die Tests durch Mechanismen ergänzt werden, die mit den verbleibenden Fehlern umgehen können. Monitoring, Observability, Circuit Breaker, Rollback-Strategien und Chaos Engineering sind keine Eingeständnisse mangelnder Testqualität, sondern Ausdruck der Einsicht, dass Tests allein nicht reichen können.
Im Chord-Beispiel war die Lehre genau diese: Die Tests selbst waren nicht falsch, sie hatten nur einen anderen Geltungsbereich als das Team angenommen hatte. Erst der Betrieb mit mehreren Knoten und gezielt herbeigeführten Ausfällen brachte das Problem zutage. Das ist kein Versagen des Testens, sondern eine Konsequenz seiner prinzipiellen Grenzen.
Eine andere Klasse von Grenzen, die in dieser Serie noch nicht behandelt wurde, betrifft nicht die Entscheidbarkeit, sondern die Effizienz. Es gibt Probleme, die theoretisch lösbar sind, für die aber kein praktikabler Algorithmus bekannt ist. Im nächsten Teil geht es um eine der wichtigsten offenen Fragen der theoretischen Informatik, die zugleich eine sehr konkrete Bedeutung für den Alltag von Entwicklerinnen und Entwicklern hat: P versus NP.
URL dieses Artikels:
https://www.heise.de/-11355919
Links in diesem Artikel:
Copyright © 2026 Heise Medien
(Bild: Pincasso / Shutterstock.com)
Die neue Methode FindByThumbprint() sucht ein digitales Zertifikat anhand des SHA-Fingerabdrucks.
In der Klasse X509Certificate2Collection existiert eine neue Methode FindByThumbprint(), um ein digitales Zertifikat anhand des SHA-Fingerabdrucks mit einem bestimmten SHA-Algorithmus zu finden.
Bisher gab es zur Suche nach Zertifikatsfingerabdrücken die Methode Find():
X509Certificate2Collection coll =
store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false);
Diese Methode hat immer nach Fingerabdrücken mit dem SHA-1-Algorithmus gesucht. Da SHA-2-256 (SHA256) und SHA-3-256 die gleiche Länge haben, bestand Verwechselungsgefahr. Das löst nun die neue Methode FindByThumbprint(), in der man den SHA-Algorithmus angeben kann.
Folgender Beispielcode zeigt den Einsatz von FindByThumbprint():
public void SearchCertificateByFingerprint()
{
CUI.Demo(nameof(SearchCertificateByFingerprint));
CUI.H2("Zertifikat suchen im Store");
string thumbprint = "B9749C08E0D33C5643B7DE067A0B365870B9A9A9";
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
// Alt: Sucht immer nach SHA1-Thumbprint
//X509Certificate2Collection coll = store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false);
// neu: Auswahl des Hash-Algorithmus
X509Certificate2Collection coll = store.Certificates.FindByThumbprint(HashAlgorithmName.SHA256, thumbprint);
if (coll.Count == 0)
{
CUI.Warning($"Zertifikat mit Thumbprint {thumbprint} nicht gefunden.");
}
foreach (var item in coll)
{
Console.WriteLine(item.IssuerName.Name + ": " + item.Thumbprint + " -> " + item.SignatureAlgorithm.FriendlyName);
}
}
URL dieses Artikels:
https://www.heise.de/-11368310
Links in diesem Artikel:
Copyright © 2026 Heise Medien
Nachdem SpaceX im Juni 2026 an die Börse ging, zahlten Aktionäre etwa 150 US-Dollar pro Anteil. Später konnten sie für etwa 135 US-Dollar Anteile an dem Weltraumunternehmen erwerben. Schnell stieg der Wert von SpaceX auf bis zu 225 US-Dollar an. Elon Musk wurde zum ersten Billionär der Welt.
Den Reichtum hielt Musk allerdings nicht lange. Das liegt zu einem signifikanten Teil an der Performance der SpaceX-Aktie. Die ist mittlerweile bei 131 US-Dollar angekommen und hat damit den initialen Kaufwert von 135 US-Dollar unterschritten. Investoren, die zur Hochzeit bei etwa 200 US-Dollar einstiegen, müssten aktuell mehr als 30 Prozent Verlust hinnehmen.
Elon Musk selbst besitzt laut dem Magazin Forbes aktuell einen zusammengefassten Reichtum von geschätzten 838,1 Milliarden US-Dollar. An einem Tag verlor er 22,6 Milliarden US-Dollar – weniger als 3 Prozent seines Vermögens.
Zweitreichster Mensch laut Forbes ist der Google-Gründer Larry Page mit 290,3 Milliarden US-Dollar, dicht gefolgt von seinem Mitgründer-Kollegen Sergey Brin (267,8 Milliarden US-Dollar). Die reichste Frau der Welt ist Alice Walton, Tochter des Walmart Gründers Sam Walton, mit einem Vermögen von 122,5 Milliarden US-Dollar.
Andere Unternehmen von Musk bleiben derweil eher stabil. Ein großer Teil seines Reichtums kommt etwa von Tesla, welches seit Juni 2026 nur etwa ein Prozent an Wert verlor. Es wird sich zeigen, wie sich der Aktienkurs von SpaceX in Zukunft entwickelt.
Aktuell gehen Portale wie Google Finance davon aus, dass sich der Kurs eher weiter nach unten bewegen wird. Erst wenige Stunden vor Veröffentlichung dieses Artikels wurde ein Testflug des Starship abgesagt, das als eines der wichtigsten zukünftigen Produkte des Unternehmens gilt.
Der Verbraucherzentrale Bundesverband hat vor dem Bundesgerichtshof gegen die Fitnessstudiokette Fitx gewonnen. Es ging darum, dass das Unternehmen Abonnenten von einer Kündigung abhalten wollte, indem auch das Pausieren des Abos angeboten wurde.
Entscheiden sich Kunden dazu, ihren Vertrag über den Kündigungsbutton zu beenden, darf das Kündigungsformular keinen zusätzlichen Hinweis auf ein Pausieren des Vertrags enthalten, wird die Entscheidung des Gerichts von Verbraucherschützern zitiert.
"Das Urteil des Bundesgerichtshofs ist eine gute Nachricht für Verbraucherinnen und Verbraucher. Es stellt klar: Wer auf den Kündigungsbutton klickt, muss auch wirklich kündigen können – ohne Ablenkung, ohne Umwege, ohne Tricks", erklärte dazu Ramona Pop, Vorständin des Verbraucherzentrale Bundesverbands.
Laut Pop ist der Kündigungsbutton "ein Meilenstein im Verbraucherschutz, für den wir uns schon politisch eingesetzt haben". Durch das jetzige Gerichtsurteil sei erreicht worden, dass eine "manipulative Webseiten-Gestaltung" verhindert werde.
Der Betreiber der Fitnessstudiokette stellte nach Angaben der Verbraucherschützer auf seiner Internetseite eine Kündigungsschaltfläche zur Verfügung, die nach Anklicken auf eine Unterseite mit einem Kündigungsformular führte. Zusätzlich gab es dort im oberen Teil der Seite den Hinweis, dass Kunden ihren Vertrag auch pausieren könnten. Dazu war ein entsprechender Link gesetzt.
Dagegen klagte der Verbraucherzentrale Bundesverband und verlor vor dem Oberlandesgericht Düsseldorf zunächst. Am 18. September 2025 wies das Gericht die Klage zurück (Az.: I-20-UKI 1/25). Dem widersprach der Bundesgerichtshof nun und bestätigte die Rechtsauffassung der Verbraucherschützer (Az.: I ZR 200/25).
Nach Auffassung des Bundesgerichtshofs darf die Bestätigungsseite zur Kündigung nur die im Gesetz genannten Inhalte aufweisen. Anbieter dürfen Kunden nicht noch von ihrem Kündigungswunsch abhalten.
Wir öffnen unsere neue Community jetzt schon im Beta-Status für dich. Möchtest du in konstruktiver und respektvoller Atmosphäre mit anderen IT-Experten über deine Themen sprechen? Sei dabei und melde dich an
Unser Deal-Qualitätsversprechen: Gute, ehrliche und unabhängig recherchierte Angebote. Mehr Infos
Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.
Das Paket liegt auf der Fußmatte, niemand hat geklingelt und auf dem Smartphone kam keine Benachrichtigung. Oder umgekehrt: Die Klingel hat ausgelöst, aber bis das Handy entsperrt und die App geöffnet war, stand draußen niemand mehr und eine nervige Neuzustellung ist fällig. Eine smarte Video-Türklingel hilft in beiden Situationen, und die Tapo D235 bekam von Connect im März 2025 die Note Sehr gut. Bei Amazon ist sie gerade wieder deutlich günstiger als üblich zu haben.
Die Tapo D235 kostet aktuell 87,44 Euro statt 103,00 Euro. Der 180-Tage-Durchschnitt lag bei 106,11 Euro, der aktuelle Preis ist damit spürbar niedriger.
- Aktueller Preis: 87,44 Euro
- UVP: 103,00 Euro
- 180-Tage-Durchschnitt: 106,11 Euro
- Imtest Testsieger, Connect: Sehr gut (März 2025)
- 2K 5MP Auflösung, 180 Grad Sichtfeld von Kopf bis Fuß
- 10.000-mAh-Akku für bis zu 210 Tage Laufzeit oder Festverdrahtung mit 8 bis 24 Volt
- 4,6 Sterne bei 816 Bewertungen
- Über 500-mal im letzten Monat verkauft
Das 180-Grad-Sichtfeld erfasst die Person vor der Tür von Kopf bis Fuß in einem einzigen Bild, ohne Abschneiden von Paketen am Boden oder Gesichtern im oberen Bildrand. Die 2K-5MP-Auflösung übertrifft klassisches Full-HD deutlich, was bei der nachträglichen Identifikation von Details auf Aufnahmen einen echten Unterschied macht. Nachts schaltet sich das Spotlight zu und liefert Farbbilder statt Schwarz-Weiß-Infrarotaufnahmen. Die KI-Erkennung unterscheidet zwischen Personen, Haustieren, Fahrzeugen und Paketen und schickt entsprechend präzise Benachrichtigungen, ohne dass jede Katze im Vorgarten Alarm auslöst.
Der fest verbaute 10.000-mAh-Akku hält bei normaler Nutzung bis zu 210 Tage durch, alternativ lässt sich die D235 fest mit 8 bis 24 Volt verdrahten und unterstützt dabei zusätzlich die Pre-Roll-Funktion, die einige Sekunden vor der eigentlichen Bewegungserkennung aufzeichnet. Aufnahmen speichert die Klingel lokal auf einer MicroSD-Karte bis 512 GB oder optional in der Tapo-Care-Cloud. Der Diebstahlalarm meldet sofort, wenn jemand versucht, die Klingel von der Wand zu nehmen. Über die Tapo-App lässt sich per Zwei-Wege-Audio direkt sprechen oder eine Schnellantwort abspielen, Alexa und Google Assistant sind ebenfalls eingebunden.
Die smarte Video-Türklingel Tapo D235
Tapo D235 Video-Türklingel Akku/Festverdrahtet
Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.
Wer das Grundstück nicht nur an der Haustür, sondern rundum im Blick behalten möchte, findet in der Tapo C610 Außenkamera mit Solar
Kein Kabel, kein Elektriker: Rund 45 Minuten direkte Sonne am Tag genügen, damit die Kamera durchgehend läuft, der integrierte 6.700-mAh-Akku überbrückt den Rest für bis zu 200 Tage. Die Kamera dreht sich um volle 360 Grad und neigt sich bis zu 130 Grad, einstellbare Patrouillenpunkte lassen sie automatisch zwischen vordefinierten Positionen wechseln. Nachts schaltet das Spotlight zu und liefert Farbaufnahmen statt Infrarotbrei, die KI-Erkennung unterscheidet zuverlässig zwischen Personen, Fahrzeugen und anderen Bewegungsauslösern. Gespeichert wird lokal auf MicroSD bis 512 GB oder in der Tapo-Care-Cloud, das IP65-Gehäuse hält Regen und Staub dauerhaft stand.
Tapo C610 KIT 2K 360° Solar Überwachungskamera Außen
Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.
Weitere neue Angebote für Überwachungskameras verschiedener Hersteller
Alle Details zur Störungsmeldung ansehen Eigene Internetstörung melden
Alle Details zur Störungsmeldung ansehen Eigene Internetstörung melden
(Bild: Shutterstock / Skorzewiak)
Jürgen Schmidt, Leiter von heise security, erklärt, warum Responsible und Coordinated Disclosure keine Zukunft mehr haben.
Full Disclosure – also das Veröffentlichen der Beschreibung einer Sicherheitslücke, auch ohne dass der Hersteller einen Patch bereitstellt – war keine Erfindung geltungssüchtiger Egomanen. Und schon gar nicht handelten die Protagonisten unverantwortlich wie es die Mär der „Responsible Disclosure“ impliziert. Die vollständige Offenlegung war die verzweifelte Reaktion engagierter Sicherheitsforscher auf Hersteller, die versuchten, Sicherheitsprobleme unter den Teppich zu kehren oder schlicht ignorierten. Oder wie es Leonard Rose, einer der Gründer der gleichnamigen Mailingliste, bereits 2002 formulierte: „Soweit wir wissen, ist Full Disclosure [1] der einzige Weg, um sicherzustellen, dass alle – nicht nur die Insider – Zugang zu den Informationen haben, die wir benötigen.“
Wie aktuell das jetzt wieder ist, illustriert eine kritische Lücke in Cursor, einer weitverbreiteten IDE mit KI-Unterstützung. Da genügt es, dass ein Repository eine (bösartige) Datei namens „git.exe“ enthält. Sobald ein Entwickler in Cursor ein Projekt öffnet, das auf dieses Repo verweist, führt es diese Datei mit seinen Rechten aus. Das ist dann Game-Over, denn ein Infostealer wird sofort alle Passwörter und Zugangs-Credentials auslesen und seinem Herrn und Meister schicken. Aaron Portnoy [2] entdeckte diese Lücke im Dezember 2025 und meldete sie unverzüglich dem Hersteller. Seither hat er mehrfach dort nachgehakt. Doch mehr als ein halbes Jahr und 197+ neue Versionen später ist dieses Problem immer noch vorhanden; es gibt keinen Fix. Deshalb hat Aaron die Reißleine gezogen und veröffentlicht das Ganze jetzt via Full Disclosure [3] – also ohne Patch, nur mit den von ihm vorgeschlagenen Mitigations als Schutz.
Derzeit gibt es eine wahre Schwemme an Zero-Day-Lücken; viele Hersteller und auch Open-Source-Teams kommen mit dem Patchen kaum noch hinterher. Was diesen Fall besonders macht und ihn etwa vom Zero-Day-Drama rund um Nightmare Eclipse [4] oder „bikinis“ ständig wachsender, öffentlicher 0day-Sammlung Exploitarium [5] unterscheidet, ist die Person dahinter. Denn die ist kein Unbekannter, sondern ganz im Gegenteil in Sicherheitskreisen seit Langem gut bekannt.
Denn Aaron Portnoy hat nicht nur selbst unzählige Sicherheitslücken gefunden und in Zusammenarbeit mit Herstellern aus der Welt geschafft. Er verantwortete unter anderem viele Jahre als leitender Sicherheitsforscher der Zero Day Initiative eines der ersten großen Programme für Coordinated Disclosure und gründete 2007 den Hacker-Wettbewerb pwn2own [6]. Wenn jemand weiß, wie Disclosure funktioniert, dann Aaron. Und wenn der zur unkoordinierten Full Disclosure greift, dann brennt die Hütte. Oder wie mein Kollege Christopher Kunz gerade von der Seitenlinie achselzuckend einwirft: „Meine Rede: Coordinated Disclosure is over.“
Diese Analyse schrieb Jürgen Schmidt ursprünglich für den exklusiven Newsletter von heise security PRO [7], wo er jede Woche das Geschehen in der IT-Security-Welt für Sicherheitsverantwortliche in Unternehmen einordnet.
URL dieses Artikels:
https://www.heise.de/-11367342
Links in diesem Artikel:
Copyright © 2026 Heise Medien
(Bild: Christian Horz/ Shutterstock.com)
Trügerische Wahlfreiheit: Das GModG streicht Vorgaben, baut aber eine potenzielle Kostenfalle auf. Was die Gasheizung in den kommenden Jahren teuer macht.
Nach monatelangem Hickhack haben Bundestag und Bundesrat das Gebäudemodernisierungsgesetz (GModG) Anfang Juli 2026 verabschiedet. Die verpflichtende 65-Prozent-Vorgabe für erneuerbare Energien entfällt – künftig darf man also auch wieder klassische Gas- und Ölheizungen einbauen.
Ganz ohne Vorgaben kommen aber auch die nicht davon: Über die sogenannte Biotreppe muss dem Gas ab 2029 schrittweise ein steigender Anteil Biokraftstoffe beigemischt werden. Für Hauseigentümer klingt das zunächst nach einem pragmatischen Mittelweg zwischen Klimaschutz und Wahlfreiheit – oder wie die Bundesregierung es nennt – Technologieoffenheit.
Wie teuer dieser „Pragmatismus“ über 20 Jahre werden könnte – im Vergleich zu Wärmepumpe und Fernwärme – und welche Entwicklungen die Kosten einer fossilen Heizung künftig noch stärker beeinflussen könnten, zeigt dieser Artikel anhand der Gasheizung und Biomethan.
URL dieses Artikels:
https://www.heise.de/-11348650
Links in diesem Artikel:
Copyright © 2026 Heise Medien
TSMCs Komplex im US-amerikanischen Arizona. Drumherum ist reichlich Platz für weitere Werke vorhanden.
(Bild: Taiwan Semiconductor Manufacturing Co., Ltd.)
Der Weltmarktführer TSMC will weitere Halbleiterwerke in den USA bauen. Dafür stehen weitere 100 Milliarden US-Dollar bereit.
Der weltweit größte Chipauftragsfertiger TSMC erhöht die Investitionen in den USA ein weiteres Mal: von zuletzt geplanten 165 Milliarden US-Dollar auf nunmehr bis zu 265 Milliarden. Dafür will das Unternehmen mehrere Halbleiterwerke zur Herstellung von Chips sowie Packaging-Werke zur weiteren Verarbeitung bauen.
Die Ankündigung erfolgte im Rahmen der Analystenkonferenz zu den jüngsten Geschäftszahlen (Transkript bei Seeking Alpha [1]). TSMC-Chef C.C. Wei hielt sich zum genauen Umfang und dem Zeitrahmen aber bedeckt. Denkbar wären etwa vier weitere Werke, sagte er.
Ein Blick auf TSMCs Kapitalausgaben (Capital Expenditures, Capex) zeigt, wie lange sich die Investitionen hinziehen können: Jüngst hat die Firma das Capex-Budget fürs Jahr 2026 auf 60 Milliarden bis 64 Milliarden US-Dollar erhöht. Neben den US-Werken entstehen aber auch 13 neue in Taiwan, ein neues in Japan und auch das ESMC-Werk in Deutschland [2] ist noch nicht fertiggestellt, ebenso laufen noch andere Bauprojekte in den USA.
Bisher hat TSMC ein erstes Halbleiterwerk in Phoenix, Arizona, fertiggestellt, in dem Chips aus der 4-Nanometer-Generation vom Band laufen. AMD etwa lässt dort Epyc-Serverprozessoren herstellen [3] und Nvidia Blackwell-Beschleuniger. Für Apple ist dieses Werk wenig geeignet; in Taiwan produziert TSMC für Apple dieses Jahr bereits Prozessoren mit 2-nm-Technik.
Ein zweites Halbleiterwerk für 3- und 2-nm-Chips [4] befindet sich derzeit am selben Standort im Bau und soll ab 2028 den Betrieb aufnehmen. Im April 2024 kündigte TSMC drei weitere Halbleiterwerke [5] für Arizona an. Im März 2025 folgte eine weitere Ankündigung mit zusätzlichen Halbleiterwerken [6], ersten eigenen US-Packaging-Standorten und einem Forschungszentrum.
TSMC plant sogenanntes Advanced Packaging in den USA, bei dem mehrere Chiplets und Speicherstapel auf einem gemeinsamen Träger verheiratet werden. Bisher hat TSMC diese Weiterverarbeitung in den USA lokalen Partnern wie Amkor überlassen.
Die neu angekündigten Halbleiterwerke dürften für 2030 oder später gedacht sein. Vermutlich wird TSMC auch da nicht seine modernste Fertigungstechnik in die USA bringen. Wei ließ sich nur auf „2 Nanometer oder besser“ festnageln, nicht aber auf eine feste Zusage neuerer Technik. In Taiwan will TSMC 2029 mit A13 und A12 mehr als eine Fertigungsgeneration weiter sein.
„Ich gehe davon aus, dass die Nachfrage von heute an – wahrscheinlich bis 2029 oder 2030 – sehr stark sein wird“, sagte Wei. „Ob es zwischendurch zu einem Rückgang kommen wird oder nicht, weiß ich nicht so genau. Aber der Trend deutet meiner Meinung nach darauf hin, dass wir Zeugen einer Art neuer Industrie werden, einer neuen KI-Industrie.“
URL dieses Artikels:
https://www.heise.de/-11367592
Links in diesem Artikel:
Copyright © 2026 Heise Medien
iOS 27: Viele kleine nützliche Neuerungen.
(Bild: Apple)
iOS 27, iPadOS 27, macOS 27 und Co. stehen zum Download bereit, wenn auch nur als öffentliche Beta. Ein Überblick der verwendbaren Geräte – und wichtige Tipps.
Die seit dieser Woche verfügbaren Public Betas von iOS 27, iPadOS 27, macOS 27, watchOS 27, tvOS 27, visionOS 27 sowie der neuen HomePod Software 27 [1] (plus Beta-Firmware für AirPods) verlocken zahlreiche Interessierte, Apples Vorabversionen zu installieren. Einen Hands-on-Bericht dazu lesen Sie hier. [2] Doch bevor man damit loslegt, sollte man sich sein Vorgehen gut überlegen. Läuft die Beta überhaupt auf meinem Gerät? Habe ich eine Test-Hardware, die ich verwenden kann? Mit welchen Daten sollte ich testen? Und wie werde ich die Beta später gegebenenfalls wieder los? Ein Überblick zu den wichtigsten Fragen.
Beim iPhone geht es bei Generation 11 beziehungsweise SE der dritten Generation los. Beim iPad Pro sind es alle 11-Zoll-Modelle ab der 2. Generation, alle 12,9-Zoll-Modelle ab der 4. Generation, alle iPad-Air-Geräte ab Generation 4, das Standard-iPad ab Generation 9 und das iPad mini ab Generation 6. Beim Mac muss es eine Maschine mit Apple Silicon [3] sein, Intel-Macs sind raus. Die Apple Watch benötigt mindestens Series 9, SE 3 oder Ultra 2 [4], beim Apple TV geht es ab der zweiten Version des 4K-Modells (von 2021) los. visionOS-Geräte werden vollständig unterstützt (M2 und M5).
Grundsätzlich gilt, dass man keinesfalls Produktivgeräte nutzen sollte, so verlockend das auch erscheinen mag. Betas können Datenverluste erzeugen [5] und andere Probleme bereiten, die man auf der täglich in Verwendung befindlichen Hardware nicht sehen möchte. Am sichersten ist es daher, ein eigenes Betagerät aufzusetzen, etwa ein älteres iPhone oder einen älteren Mac. Wer gänzlich auf Nummer sicher gehen will, nutzt für die Beta einen eigenen Apple-Account, um iCloud-Probleme [6] zu vermeiden. Ein Nachteil ist bei alledem, dass man Siri AI [7] dann nicht mit Echtdaten ausprobieren kann. Es ist aber leicht, sich Informationen von seinem Produktivgerät auf die Test-Hardware zu kopieren.
Vor jeglicher Installation eines neuen Betriebssystems sollte stets ein aktuelles Backup angelegt werden, auf dem iPhone am besten verschlüsselt [8] über den Mac, auf dem Mac etwa via Time Machine oder Werkzeuge wie Carbon Copy Cloner [9]. Setzen Sie für die Public Beta ein Testgerät neu auf, was Sie, wie erwähnt, tun sollten, ist das nicht unbedingt notwendig, kann aber dennoch sinnvoll sein.
Wenn Sie, wie oben empfohlen, mit einem Testgerät arbeiten, müssen Sie die Beta nicht löschen. Sie können einfach den gesamten Betazyklus durchlaufen, bis dann (wahrscheinlich) im September die jeweilige Finalversion vorliegt, die auch auf Produktivhardware landen darf. Sobald sich die Finalversion ankündigt, schalten Sie den Bezug der Betaversion in den Systemeinstellungen einfach ab. Sollten Sie wirklich ein Downgrade vornehmen wollen, lässt sich dafür auf iPhone und iPad der Wiederherstellungsmodus über einen Mac oder PC mit anschließendem Einspielen des Backups [10] verwenden. Ähnlich läuft es am Mac [11], hier gibt es einen eigenen Wiederherstellungsmodus auf dem Gerät selbst. Eine Apple Watch wird über die Apple-Watch-App auf dem iPhone wiederhergestellt, Hinweise zur Wiederherstellung von Apple-TV-Geräten listet Apple hier [12]. Der Prozess ist jeweils langwierig – nicht nur die Wiederherstellung, sondern auch das Einspielen des Backups. Das führt uns erneut zur Empfehlung, für Public Betas ein eigenes Testgerät zu verwenden.
URL dieses Artikels:
https://www.heise.de/-11364187
Links in diesem Artikel:
Copyright © 2026 Heise Medien
(Bild: New Africa / Shutterstock.com)
Mit dem "High-T"-Programm will US-Minister Hegseth die Kampfkraft stärken. Veteranen und Urologen kritisieren das Hormon-Screening scharf.
Kann ein einzelnes Hormon über die Kampfkraft einer ganzen Armee entscheiden? Pete Hegseth, Verteidigungsminister der USA, scheint davon überzeugt zu sein.
In einem Video aus seinem Büro im Pentagon verkündete er ein neues Vorsorgeprogramm: Alle Soldatinnen und Soldaten ab 30 Jahren sollen künftig im Rahmen ihrer jährlichen Gesundheitsuntersuchung verpflichtend auf Testosteronmangel getestet werden. Wer jünger ist, kann sich freiwillig untersuchen lassen.
Eine anschließende Testosteronersatztherapie (TRT) bleibe optional, so Hegseth in dem Clip, den er auf der Plattform X [1] unter dem Titel "The High-T Department of War" veröffentlichte.
Die Maßnahme fügt sich in eine Reihe kulturpolitischer Umbauten ein, die Hegseth seit seinem Amtsantritt vorantreibt: neue Fitnessstandards mit explizit "männlichem Niveau", ein Verbot für Transgender-Soldaten, blockierte Beförderungen von Frauen in Generalsränge und die zwischenzeitliche Abschaffung der Grippeimpfpflicht.
Zeitgleich arbeitet US-Gesundheitsminister Robert F. Kennedy Jr. daran, die Verschreibungshürden für Testosteron im zivilen Bereich zu senken. Die US-Arzneimittelbehörde FDA hat bereits [2] im Frühjahr 2026 Hersteller von TRT-Produkten aufgefordert, eine erweiterte Zulassung für Männer mit ungeklärtem Testosteronmangel und verminderter Libido zu beantragen.
Dass Soldaten in Spezialeinheiten unter besonderen körperlichen Belastungen leiden, ist medizinisch gut dokumentiert.
Chronischer Schlafmangel, extremer physischer Stress und Kopfverletzungen gehören zu den häufigsten Ursachen eines sekundären Hypogonadismus – eines Testosteronmangels, der nicht durch eine Erkrankung der Hoden, sondern durch eine Störung der übergeordneten Steuerung im Hypothalamus oder der Hypophyse entsteht.
Neuere Studien beschreiben diesen Zustand bei langjährig dienenden Spezialkräften als "Operator-Syndrom", heißt es in der [3] New York Times.
Klinisch gilt ein Hypogonadismus als bestätigt, wenn die morgendliche Testosteronkonzentration im Blut in mindestens zwei Nüchternproben unter etwa 264 bis 300 Nanogramm pro Deziliter liegt.
Die American Urological Association (AUA) [4] setzt den Schwellenwert bei 300 ng/dl an, verlangt aber ausdrücklich Symptome plus zwei unabhängige Messungen. Die europäische Fachgesellschaft EAU arbeitet [5] mit 350 ng/dl und empfiehlt Tests ausschließlich bei symptomatischen Männern – pauschale Screenings lehnen beide Leitlinien ab.
Genau hier liegt das Problem: Hegseth nannte keinen einzigen Grenzwert. Das Pentagon verweigerte auf Nachfragen durch US-Medien jede Auskunft zu medizinischen Schwellenwerten, wissenschaftlichen Grundlagen oder separaten Standards für Frauen.
Auch die Frage, welche Studien das flächendeckende Screening rechtfertigen, blieb unbeantwortet.
Während das Pentagon keine Evidenz vorlegte, hat die FDA ihre eigene Position zur Testosterontherapie in den vergangenen Monaten deutlich verschoben.
Grundlage dafür ist vor allem die TRAVERSE-Studie (Testosterone Replacement Therapy for Assessment of Long-term Vascular Events and Efficacy Response in Hypogonadal Men) mit mehr als 5.200 Männern, die keinen signifikanten Anstieg schwerer kardiovaskulärer Ereignisse wie Herzinfarkt oder Schlaganfall unter TRT nachweisen konnte.
Daraufhin strich die FDA einen seit 2015 bestehenden Warnhinweis, wonach Sicherheit und Wirksamkeit bei altersbedingtem Hypogonadismus nicht belegt seien. Die Kontraindikation bei Prostatakrebs [6] wurde auf metastasierte Fälle beschränkt.
Kennedy feierte die Änderungen als "Rückkehr der Wissenschaft ins Zentrum der Männergesundheit".
Doch die Geschichte hat auch eine andere Seite: Die jährlichen Testosteron-Verschreibungen in den USA stiegen laut New York Times von weniger als einer Million im Jahr 2000 auf fast 12 Millionen im Jahr 2025. Influencer wie Joe Rogan und Andrew Huberman sprechen offen über ihre TRT-Nutzung. Die schnellste Zunahme verzeichnen ausgerechnet jüngere Männer ohne klinisch niedrige Werte.
Die Risiken einer breiten TRT-Nutzung sind erheblich. Exogenes Testosteron unterdrückt über die Hypothalamus-Hypophysen-Achse die körpereigene Hormonproduktion und bringt die Spermienbildung häufig zum Erliegen. In der Fachliteratur wird die Therapie explizit als kontrazeptiv eingestuft.
Zwar erholt sich die Spermatogenese bei den meisten Männern nach dem Absetzen innerhalb von 6 bis 12 Monaten – garantiert ist das jedoch nicht. Hinzu kommen Risiken wie Blutgerinnsel, Akne und Haarausfall.
Theodore Crisostomo-Wynne, Urologe am Madigan Army Medical Center, warnte bereits im Dezember 2025 bei einer FDA-Anhörung vor einem weiteren Problem: Viele Soldaten mieden aus Angst vor dem Verlust ihres Status jede offizielle Untersuchung und besorgten sich Hormone stattdessen über Direktvertrieb oder illegale Quellen.
Die Navy hatte nach dem Tod eines SEAL-Rekruten 2022, bei dem Testosteron und andere Substanzen gefunden wurden, ein Drogentestprogramm für hormonelle Substanzen eingeführt. Ob das neue "High-T"-Programm mit solchen Kontrollen vereinbar ist, ließ das Pentagon offen.
Besonders scharf fällt die Kritik an der politischen Inkonsistenz aus. Senatorin Tammy Duckworth, Kampfhubschrauberpilot und Irakkriegsveteranin, erklärte gegenüber [7] AP News, das Programm klinge "für mich nach geschlechtsbejahender Versorgung" – ein Verweis auf Hegseths Verbot für Transgender-Soldaten, das unter anderem damit begründet wurde, Hormontherapien seien im Einsatz nicht verfügbar.
Shannon Minter vom National Center for LGBTQ Rights nannte es eine "eklatante Doppelmoral", dass männlichen Soldaten künftig dasselbe Medikament empfohlen werde, das Transgender-Angehörigen verboten sei.
Auch Hormontests für Soldatinnen – etwa auf Östrogenmangel bei beginnender Perimenopause – sind bislang nicht vorgesehen.
URL dieses Artikels:
https://www.heise.de/-11368124
Links in diesem Artikel:
Copyright © 2026 Heise Medien
Symbolbild: Demonstranten halten Schilder mit Aufschriften wie „Korruption ist keine Institution“ und „Wir haben das Recht zu wählen“.
(Bild: Vitaliy Holovin / Shutterstock.com)
Nach der Entlassung von Verteidigungsminister Fedorov demonstrieren Tausende in Kiew. Auch Luftwaffen-Kommandeur Yelizarov tritt aus Protest zurück.
Sechs Monate im Amt, dann Schluss: Der ukrainische Präsident Wolodymyr Selenskyj hat seinen populären Verteidigungsminister Mykhailo Fedorov entlassen – den Mann, der die Drohnenarmee aufbaute, Starlink ins Land holte und die sowjetische Bürokratie per App zerschlug.
Die Reaktion kam prompt: Etwa 2.000 Menschen versammelten sich am Donnerstag [1] vor Selenskyjs Amtssitz in Kiew, skandierten "Schande!" und hielten Plakate mit Aufschriften wie "Wofür?" und "Die Russen feiern" hoch, berichtet Reuters.
Der 35-jährige Fedorov war der letzte verbliebene Minister aus Selenskyjs erster Regierung von 2019.
Sein Rauswurf trifft die Ukraine in einer heiklen Phase: Zwar steht Kiew militärisch so gut da wie seit Ende 2022 nicht mehr, doch im Osten mangelt es zunehmend an Bodentruppen, und Russland intensiviert seine Angriffe mit ballistischen Raketen.
Im Kern steht ein Konflikt zwischen Digitaldenker und alter Garde.
Fedorov warf Armeechef Oleksandr Syrskyi öffentlich vor, Reformen des Ministeriums blockiert zu haben. "Anstatt herauszufinden, wie man Russland besiegen kann, hat er herausgefunden, wie man das Land spaltet", sagte Fedorov gegenüber Reportern [2].
Der 60-jährige Syrskyi steht intern wegen eines starren Führungsstils in der Kritik, der nach Ansicht einiger Soldaten zu hohen Verlusten führt.
Selenskyj selbst nannte keinen konkreten Grund für die Entlassung, forderte lediglich "größere Einigkeit" zwischen Ministerium und Militärführung.
Pavlo Yelizarov, stellvertretender Kommandeur der Luftwaffe und eine Schlüsselfigur im ukrainischen Drohnenkrieg, erklärte seinen Rücktritt aus Protest. Er bezeichnete Fedorovs Absetzung als "großes Übel" für die Verteidigung des Landes.
Fedorov selbst lehnte ein Angebot Selenskyjs ab, als Berater weiterzuarbeiten. Ob er einen anderen Posten erhält, blieb zunächst offen [3], so Reuters.
Fedorovs Bilanz ist beachtlich: Er führte die E-Government-App "Diia" ein, überzeugte Elon Musk 2022, Starlink über der Ukraine freizuschalten, und baute ein datengestütztes System auf, das Soldaten für per Video verifizierte Treffer mit Punkten zum Drohnenkauf belohnte.
Im Februar 2026 half er, die unbefugte Starlink-Nutzung durch russische Einheiten zu unterbinden. Doch seine versprochene Reform der Wehrpflicht blieb aus – ein Stichwort, das Selenskyj laut Beobachtern den Vorwand lieferte.
Das Parlament bestätigte [4] derweil mit 289 Stimmen den Energiemanager Sergii Koretskyi als neuen Ministerpräsidenten – den dritten seit Beginn der Invasion im Jahr 2022, wie Reuters meldet.
Der 48-jährige Naftogaz-Chef hatte zuvor kein Regierungsamt inne und gilt als politisch neutral. Sein dringendstes Problem: die Energieinfrastruktur gegen russischen Beschuss härten, bevor der nächste Winter kommt.
Innenminister Ihor Klymenko soll Fedorov als Verteidigungsminister ersetzen, wie Abgeordnete mitteilten [5].
NV-Chefredakteur Vitalii Sych fasste die Stimmung zusammen: "In schwierigen Momenten verhält sich Selenskyj wie ein Held. Aber wir sollten nicht vergessen, dass schwierige Momente oft durch seine idiotischen Entscheidungen verursacht werden".
URL dieses Artikels:
https://www.heise.de/-11367634
Links in diesem Artikel:
Copyright © 2026 Heise Medien
Bild: unsplash
KI verändert Berufe schneller als Ausbildungswege. Viele Jugendliche fürchten, jahrelang für Fähigkeiten zu lernen, die beim Berufseinstieg entwertet sind.
Aus FOMO wird FOBO. Nach der Angst, etwas zu verpassen, folgt die Angst, überflüssig zu werden. Frankreichs Jugendliche haben für dieses Gefühl offenbar einen neuen Namen. Laut Le Monde breitet sich das sogenannte FOBO-Syndrom unter jungen Menschen aus: the Fear of Becoming Obsolete. Damit gemeint ist die Angst, auf dem Arbeitsmarkt überflüssig zu werden.
Sie begreifen sich als Versuchskaninchen, so ist der Le Monde-Artikel [1] überschrieben. Er nennt Einzelbeispiele, wie etwa eine 18-jährige Abiturientin, die Musikerin werden wollte. Jetzt fragt sie sich, ob Algorithmen bald billiger komponieren als Menschen. Oder einen 16-Jährigen, der seit Jahren programmiert und plangemäß Informatik studieren wollte. Doch jetzt hört er überall, dass Künstliche Intelligenz seine Fähigkeiten ersetzen könnte.
Diese Ängste kann man nicht als Ausdruck typischer jugendlicher Verunsicherung abtun ("Früher haben wir doch lange auch nicht gewusst, was wir werden wollen"). Der Unterschied zu früheren Generationen: Jahrzehntelang galt Bildung als verlässliche Zukunftsinvestition.
Es galt die Maxime: Wer sich anstrengte, studierte oder eine anspruchsvolle Ausbildung absolvierte, verbesserte seine Chancen. Natürlich war dieses Versprechen nie vollständig eingelöst – ähnlich wie die Menschenrechte. Trotzdem blieb Bildung über Jahrzehnte ein gesellschaftlicher Aufstiegsmotor.
Künstliche Intelligenz stellt dieses Versprechen erstmals grundsätzlich infrage. Junge Menschen fürchten nicht primär Arbeitslosigkeit. Sie fürchten, jahrelang für Fähigkeiten zu lernen, die beim Berufseinstieg bereits entwertet sind.
Besonders brisant ist dabei weniger das Verschwinden ganzer Berufe als vielmehr der Wegfall klassischer Junioraufgaben. Wenn KI einfache Programmierung, Recherche, Standardgrafiken oder administrative Tätigkeiten übernimmt, verschwinden gerade jene Einstiegstätigkeiten, über die Berufsanfänger bisher Erfahrung sammelten.
Wenn die ersten Sprossen der Karriereleiter verschwinden, stellt sich eine neue Frage: Wo sollen Berufseinsteiger künftig jene Erfahrung sammeln, die Unternehmen später von ihnen erwarten?
Le Monde verweist auf eine Stanford-Studie, nach der Ende 2025 bereits einen Rückgang bei Einstellungen von 22- bis 25-Jährigen in Softwareentwicklung und Buchhaltung. In Frankreich bauen Wirtschaftsprüfungs- und Beratungsfirmen Juniorstellen ab, wie Michaël Giaj von der Plattform JobTeaser zitiert wird.
Auch in Deutschland sind diese Signale sichtbar. Die Bundesagentur für Arbeit [2] meldete für 2025 einen Rückgang der Stellenangebote im IKT-Bereich um 22 Prozent gegenüber dem Vorjahr. Zugleich stieg die Arbeitslosenquote in diesen Berufen von 3,7 auf 4,5 Prozent. Zwar wächst die Gesamtzahl der sozialversicherungspflichtig Beschäftigten im IKT-Bereich weiter, doch die Anforderungen steigen: Gesucht werden vor allem Spezialistinnen und Experten, nicht Berufseinsteiger.
In Frankreich verdichtet sich diese Unsicherheit im zentralen Zulassungssystem Parcoursup. Hier müssen Jugendliche ihre Studienwünsche formulieren und sich für einen mehrjährigen Ausbildungsweg entscheiden – während sich die Berufsbilder vor ihren Augen verändern.
Deutschland kennt kein vergleichbares nationales Nadelöhr. Die Entscheidung verteilt sich auf Hochschulbewerbungen, Numerus clausus, duale Ausbildung und Übergangsjahre. Das macht die deutsche FOBO weniger sichtbar, aber nicht unbedingt geringer.
Deutsche Jugendliche hören einerseits vom Fachkräftemangel, andererseits von automatisierbaren Bürotätigkeiten. Sie sollen flexibel bleiben, sich aber jetzt für eine mehrjährige Ausbildung entscheiden. Laut einer Umfrage des Sinus-Instituts [3] im Auftrag der Barmer sehen 24 Prozent der 14- bis 17-Jährigen ihre beruflichen Pläne durch KI gefährdet – 2023 waren es noch 17 Prozent.
Die Arbeitssoziologin Dominique Méda nennt in Le Monde "Geschwindigkeit des Wandels" als entscheidenden Faktor. Anders als frühere technologische Umbrüche verändert KI Tätigkeitsprofile nicht schrittweise, sondern in atemberaubendem Tempo. Prognosen können binnen zwei Jahren überholt sein.
Statt immer neue Listen "KI-sicherer Berufe" zu erstellen, müssten Schulen und Hochschulen stärker Kompetenzen vermitteln, die technologische Veränderungen überdauern: analytisches Denken, Urteilsfähigkeit, Kommunikation, Anpassungsfähigkeit.
Der Berufsbildungsbericht 2026 [4] betont zwar die Bedeutung passgenauer Beratung, räumt aber Verbesserungsbedarf ein. BIBB-Präsident Friedrich Hubert Esser fordert im angesagten technokratischen Jargon modular anschlussfähige Qualifizierungsstrukturen [5] und systematische Förderung von Schlüsselqualifikationen.
Noch nie mussten junge Menschen so langfristige Bildungsentscheidungen in einer Arbeitswelt treffen, deren kurzfristige Entwicklung kaum jemand verlässlich vorhersagen kann.
URL dieses Artikels:
https://www.heise.de/-11367482
Links in diesem Artikel:
Copyright © 2026 Heise Medien
(Bild: Pincasso / Shutterstock.com)
Neben mehr Einsatzgebieten für Discriminated Unions bietet die Preview weitere Möglichkeiten zur asynchronen Validierung und Neues für die Prozessverwaltung.
Union Types, die C#-Implementierung von Discriminated Unions mit dem neuen Schlüsselwort union, hat Microsoft in .NET 11.0 Preview 3 [1] eingeführt. Mit der neu erschienenen Preview 6 [2] können Entwicklerinnen und Entwickler Union Types nun an verschiedenen Stellen in .NET-Bibliotheken nutzen:
anyOf zum Einsatz (siehe Abbildung). Community-Bibliotheken für OpenAPI wie Swashbuckle und NSwag können damit aber noch nicht umgehen.
Die in C# 14.0 eingeführten Erweiterungsblöcke [5] mit dem Schlüsselwort extension für bestehende Klassen, die bisher nur Methoden, Properties und Operatoren ergänzen konnten, können nun in C# 15.0 auch Indexer zu bestehenden Klassen hinzufügen.
Das folgende Listing zeigt einen Erweiterungsblock in der Klasse ListExtensions, die zum generischen Typ List<T> einen Indexer hinzufügt, der Zeichenketten als Parameter entgegennimmt. Im Standard gibt es dort nur einen Indexer für Ganzzahlen.
using System;
using System.Collections.Generic;
using System.Text;
namespace NET11_Console.C_;
extension<T>(List<T> list)
{
public T this[string index]
{
get
{
// Prüfe, ob der Index ein gültiger Integer ist
if (!Int32.TryParse(index, out int i)) return default(T);
// Prüfe, ob der Index innerhalb der Grenzen der Liste liegt
if (i > list.Count - 1) return default(T);
// liefere den Wert aus der Liste
return list[i];
}
}
}
}
Listing 1: Extension für List<T>, die einen Indexer mit einem Zeichenkettenparameter ergänzt
So verwendet man den neuen Indexer:
List<string> Prio = ["A", "B", "C"];
Console.WriteLine(Prio["1"]); // B
Console.WriteLine(Prio["42"]); // NULL
Console.WriteLine(Prio["unsinn"] == null); // true
Microsoft hatte bereits in .NET 11.0 Preview 5 [6] asynchrone Validierung in Blazor eingebaut. Nun in Preview 6 lässt sich die asynchrone Validierung auch außerhalb von Blazor in anderen Anwendungsarten nutzen. Dazu hat Microsoft die Klasse System.ComponentModel.DataAnnotations.Validator um die vier Methoden ValidateObjectAsync(), TryValidateObjectAsync(), ValidatePropertyAsync() und ValidateValueAsync() erweitert. Zuvor gab es nur Pendants ohne Async im Namen [7].
Zudem gibt es für asynchrone Validierungsregeln eine neue Basisklasse AsyncValidationAttribute in Ergänzung zur bestehenden Basisklasse ValidationAttribute. Das Listing zeigt einen aussagekräftigen Ausschnitt aus einem Beispiel:
using System.ComponentModel.DataAnnotations;
namespace NET11_Console.FCL;
/// <summary>
/// Datenklasse
/// </summary>
public class Rechnung
{
[Required]
public int ID { get; set; }
[Range(0.01, double.MaxValue, ErrorMessage = "Betrag muss größer als 0 sein.")]
public double Betrag { get; set; }
[Required]
[StringLength(14, MinimumLength = 8)]
[RegularExpression(@"^[A-Z]{2}[A-Z0-9]+$")]
[ValidVatNumber] // asynchrone Validierungsregel!
public string SteuerNummer { get; set; } = "";
}
/// <summary>
/// Asynchrone Validierungsregel
/// </summary>
public sealed class ValidVatNumberAttribute : AsyncValidationAttribute
{
// Synchronous IsValid. This attribute validates asynchronously only.
protected override ValidationResult? IsValid(object? value, ValidationContext context) =>
throw new InvalidOperationException("Validate this attribute with IsValidAsync.");
protected override async Task<ValidationResult?> IsValidAsync(
object? value, ValidationContext context, CancellationToken cancellationToken)
{
var ok = await new TaxBL().ValidateVatID(value.ToString());
if (ok)
{
return ValidationResult.Success;
}
else
{
return new ValidationResult("Unbekannte Steuernummer.");
}
}
}
public class FCL11_AsyncValidation
{
public async Task Run()
{
CUI.Demo(nameof(FCL11_AsyncValidation));
var re = new Rechnung() { ID = 123, SteuerNummer = "DE12345678", Betrag = 0.0d };
var context = new ValidationContext(re);
var results = new List<ValidationResult>();
// Asynchrone Validierung
await Validator.TryValidateObjectAsync(re, context, results, validateAllProperties: true);
if (results.Count > 0)
{
CUI.Error("Gefundene Fehler: " + results.Count);
foreach (var result in results)
{
CUI.LI(result.ErrorMessage, ConsoleColor.Red);
}
}
else
{
CUI.Success("Rechnungsobjekt ist einwandfrei!");
}
}
}
Listing 2: Asynchrone Validierung
Das Listing gibt aus:
Gefundene Fehler: 2
Auch in ASP.NET Core Minimal Web-APIs ist nun asynchrone Validierung möglich. Dazu muss man, wie in .NET 10.0 eingeführt, im Startcode builder.Services.AddValidation() aufrufen. Danach können Entwicklerinnen und Entwickler Objekte mit asynchronen Validatoren verwenden, zum Beispiel die oben schon verwendete Klasse Rechnung:
app.MapPost("/CheckInvoice", (Rechnung re) =>
{
new TaxBL().Process(re);
return Results.Ok(re);
});
Dieser HTTP-Request
POST {{NET10_WebAPIMinimal_HostAddress}}/CheckInvoice
Content-Type: application/json
{
"ID": 123,
"SteuerNummer": "DE12345678"
}
führt dann zur Antwort:
{
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"Betrag": [
"Betrag muss größer als 0 sein."
],
"SteuerNummer": [
"Unbekannte Steuernummer."
]
}
}
Wenn der Aufruf AddValidation() vergessen wird, findet keine Validierung statt und es gibt für den Aufrufer auch keinen Laufzeitfehler, der auf die fehlende Validierung hinweist.
In den Release Notes [8] werden die klassischen Controller-basierten Web-APIs nicht erwähnt. Ein Schnelltest ergab, dass dort in Preview 6 die Übergabe eines Objekts mit asynchroner Validierung zu einem Laufzeitfehler führt: „System.InvalidOperationException: Validate this attribute with IsValidAsync.“ Ebenso wenig funktionieren bislang Union Types in Operationen in Controller-basierten Web-APIs.
Seit .NET 8.0 können Entwicklerinnen und Entwickler mit ShortCircuit() beziehungsweise MapShortCircuit() bereits bei Web-APIs deklarieren, dass ein Endpunkt zur Leistungsoptimierung ohne Verwendung aller genutzten Middleware-Komponenten (etwa Authentifizierung, CORS, Protokollierung, Komprimierung oder Durchsatzbegrenzung) direkt aufgerufen werden soll. In .NET 11.0 kann man dies nun auch deklarativ mit der neuen Annotation [ShortCircuit] erreichen.
Das geht in Minimal Web-APIs
app.MapGet("/Info",
[ShortCircuit] () => "ASP.NET Core WebAPI Controller in .NET " +
System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription);
und ebenso in Controller-basierten Web-APIs:
public class PersonController : ControllerBase
{
[HttpGet]
[Route("/Info")]
[ShortCircuit]
public IActionResult Get()
{
return Content("ASP.NET Core WebAPI Controller in .NET " + System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription, "text/plain");
}
}
ASP.NET-Core-basierte Web-APIs unterstützen seit .NET 11.0 Preview 2 [9] die OpenAPI Specification in der Version 3.2. In .NET 10.0 war es Version 3.1. Vor Preview 6 war Version 3.2 nicht im Standard aktiv, sondern musste im Startcode aktiviert werden:
builder.Services.AddOpenApi(options =>
{
options.OpenApiVersion = Microsoft.OpenApi.OpenApiSpecVersion.OpenApi3_2;
});
Am 16.6.2026 hat Microsoft bekanntgegeben, dass ab Preview 6 die Version 3.2 der Standard ist [10].
Eine Rückstufung auf Version 3.1 ist möglich:
builder.Services.AddOpenApi(options =>
{
options.OpenApiVersion = Microsoft.OpenApi.OpenApiSpecVersion.OpenApi3_1;
});
Bei ASP.NET Core SignalR können Clients nun eine Verbindung abbrechen, auch wenn diese kein Streaming verwendet:
public class WorkHub : Hub
{
public async Task NameDerOperation(CancellationToken cancellationToken)
{
await Task.Delay(TimeSpan.FromMinutes(5), cancellationToken);
}
}
…
using var cts = new CancellationTokenSource();
var ergebnis = connection.InvokeAsync("NameDerOperation", cts.Token);
…
cts.Cancel();
{
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"Betrag": [
"Betrag muss größer als 0 sein."
],
"SteuerNummer": [
"Unbekannte Steuernummer."
]
}
}
Microsoft hat bereits in Preview 4 [11] und Preview 5 [12] Erweiterungen für die Prozessverwaltung gebracht. Auch Preview 6 bietet hier Neuerungen: Entwicklerinnen und Entwickler können Prozesse nun direkt im Zustand „Suspended“ starten. Dafür gibt es in der Klasse ProcessStartInfo die neue Boolean-Eigenschaft StartSuspended und in der Klasse SafeProcessHandle die Methode Resume(), siehe Listing.
public async Task StartSuspended()
{
CUI.Demo(nameof(StartSuspended));
var startInfo = new ProcessStartInfo("notepad.exe") { StartSuspended = true };
using var process = Process.Start(startInfo)!;
CUI.Print(DateTime.Now.ToLongTimeString() + ": Neuer Prozess mit ID #" + process.Id + " ist gestartet!");
CUI.Print(IsProcessSuspended(process) ? "Prozess ist ausgesetzt." : "Prozess läuft!");
await Task.Delay(2000);
process.SafeHandle.Resume();
CUI.Print(IsProcessSuspended(process) ? "Prozess ist ausgesetzt." : "Prozess läuft!");
}
Listing 3: Einen Prozess ausgesetzt starten
Die Klasse SafeProcessHandle bietet außerdem die neuen Methoden Open() und TryOpen(), um einen Prozess anhand der ID direkt anzusprechen. In der Klasse Process gibt es die neue Methode TryGetProcessById(), die im Gegensatz zur bestehenden ProcessById() den Wert false liefert, anstatt eine Ausnahme auszulösen, wenn kein Prozess mit der angegebenen ID existiert.
In Blazor können Developer in der eingebauten Komponente <Virtualize> den Nutzerinnen und Nutzern einer Webanwendung nun ermöglichen, leicht zu bestimmten Elementen in der Liste zu scrollen. Dafür gibt es die neue Eigenschaft InitialIndex für die Startposition und die neue Methode ScrollToIndexAsync() für eine Bewegung zur Laufzeit, siehe Listing.
@page "/VirtualizeScrolling"
@inject NavigationManager nav
@inject ITVisions.Blazor.BlazorUtil util
@rendermode InteractiveServer
<Headline BlazorType="@this.RendererInfo.Name">
Scrolling bei <Virtualize>
</Headline>
<input type="number" min="0" max="1000" @bind="Index" />
<button @onclick='GoToIndex'>GoToIndex</button>
<button @onclick='GoToTop'>GoToTop</button>
<hr />
<div class="row">
<div class="col">
<div class="table table-striped sticky-grid">
<Virtualize TItem="IndexedFlight" Items="IndexedFlights" InitialIndex="100" @ref="list" Context="item">
<div>
Flug #@(item.Index + 1):
#@item.Flight.FlightNo:
@item.Flight.Departure → @item.Flight.Destination
</div>
</Virtualize>
</div>
</div>
</div>
@code {
public sealed record IndexedFlight(
int Index,
BO.WWWings.Flight Flight);
private List<BO.WWWings.Flight> FlightSet;
private List<IndexedFlight> IndexedFlights = [];
private Virtualize<IndexedFlight> list = default!;
public int Index { get; set; }
protected override void OnInitialized()
{
DA.WWWings.WwwingsV1EnContext ctx = new();
FlightSet = ctx.Flights.ToList();
IndexedFlights = FlightSet
.Select((flight, index) => new IndexedFlight(index, flight))
.ToList();
}
private async Task GoToTop() => await list.ScrollToIndexAsync(0);
private async Task GoToIndex() => await list.ScrollToIndexAsync(Index);
}
Listing 4: InitialIndex und ScrollToIndexAsync() bei <Virtualize>
Entwicklerinnen und Entwickler können in Blazor nun Client-Einstellungen, die bisher per JavaScript erfolgen mussten, im C#-Startcode der Anwendung vornehmen. Dazu gibt es eine neue Methode WithBrowserOptions(), die man nach dem Hinzufügen der gewünschten Render-Modi (zum Beispiel AddInteractiveServerRenderMode()) aufruft. Als Parameter gibt man ein Objekt des Typs BrowserOptions mit. In BrowserOptions gibt es die Unterobjekte Ssr (für statisches serverseitiges Rendering), Server (für Blazor Server) und WebAssembly (für Blazor WebAssembly):
app.MapRazorComponents<App>()
.AddInteractiveServerRenderMode()
.AddInteractiveWebAssemblyRenderMode()
.AddAdditionalAssemblies(typeof(Client._Imports).Assembly)
// Neu in .NET 11.0: Client-Einstellungen können in der Program.cs-Datei konfiguriert werden.
.WithBrowserOptions(options =>
{
options.LogLevel = LogLevel.Warning;
options.Ssr.PreserveDom = true;
options.Server.ReconnectionMaxRetries = 10;
options.Server.ReconnectionRetryInterval = TimeSpan.FromSeconds(1.5);
options.Server.ReconnectionDialogId = "components-reconnect-modal";
options.WebAssembly.ApplicationCulture = "de-de";
options.WebAssembly.EnvironmentName = "Staging";
options.WebAssembly.EnvironmentVariables["Version"] = "1.2";
});
app.Run();
Alternativ können Entwicklerinnen und Entwickler diese Einstellungen per Komponente <ConfigureBrowser> in App.razor setzen:
<!DOCTYPE html>
<html lang="en">
…
<body>
<Routes @rendermode="InteractiveServer" />
<ReconnectModal />
<ConfigureBrowser Options="bo">
</ConfigureBrowser>
<script src="@Assets["_framework/blazor.web.js"]"></script>
</body>
</html>
@code
{
BrowserOptions bo = new()
{
LogLevel = LogLevel.Warning,
Ssr =
{
PreserveDom = true
},
Server =
{
ReconnectionMaxRetries = 10,
ReconnectionRetryInterval = TimeSpan.FromSeconds(1.5),
ReconnectionDialogId = "components-reconnect-modal"
},
WebAssembly =
{
ApplicationCulture = "de-DE",
EnvironmentName = "Staging",
EnvironmentVariables =
{
["Version"] = "1.2"
}
}
};
}
In Blazor wurde außerdem das in .NET 11.0 Preview 1 [13] eingeführte Steuerelement <EnvironmentBoundary> in <EnvironmentView> umbenannt. Ebenso umbenannt hat Microsoft die Methode GetUriWithHash() in der Klasse NavigationManager: Sie heißt nun GetUriWithFragment().
Der in .NET 11.0 Preview 5 [14] eingeführte neue LINQ-Operator FullJoin() besitzt nun auch eine Implementierung in Entity Framework Core, sodass eine direkte Umsetzung in SQL möglich ist.
Aus diesem LINQ-Befehl mit FullJoin() zwischen Flügen und Piloten
var fluegeUndPiloten = ctx.Flights.IgnoreQueryFilters()
.FullJoin(
ctx.Pilots,
f => f.PilotPersonId,
p => p.PersonId,
(f, p) => new
{
FlightNo = f != null ? f.FlightNo : 0,
Departure = f != null ? f.Departure : "n/a",
Destination = f != null ? f.Destination : "n/a",
FlightDate = f != null ? f.FlightDate : DateTime.MinValue,
PilotId = f != null && f.PilotPersonId != null ? f.PilotPersonId.ToString() : "n/a",
GivenName = p != null ? p.Employee.Person.GivenName : "n/a",
p.Employee.Person.Surname,
}).Where(x => x.Surname == null)
.Take(20)
.ToList();
erzeugt Entity Framework Core dann diesen SQL-Befehl:
SELECT TOP(@p) CASE
WHEN [f].[FlightNo] IS NOT NULL THEN [f].[FlightNo]
ELSE 0
END AS [FlightNo], CASE
WHEN [f].[FlightNo] IS NOT NULL THEN [f].[Departure]
ELSE N'n/a'
END AS [Departure], CASE
WHEN [f].[FlightNo] IS NOT NULL THEN [f].[Destination]
ELSE N'n/a'
END AS [Destination], CASE
WHEN [f].[FlightNo] IS NOT NULL THEN [f].[FlightDate]
ELSE '0001-01-01T00:00:00.000'
END AS [FlightDate], CASE
WHEN [f].[FlightNo] IS NOT NULL AND [f].[Pilot_PersonID] IS NOT NULL THEN CONVERT(varchar(11), [f].[Pilot_PersonID])
ELSE 'n/a'
END AS [PilotId], CASE
WHEN [p].[PersonID] IS NOT NULL THEN [p0].[GivenName]
ELSE N'n/a'
END AS [GivenName], [p0].[Surname]
FROM [Operation].[Flight] AS [f]
FULL JOIN [People].[Pilot] AS [p] ON [f].[Pilot_PersonID] = [p].[PersonID]
LEFT JOIN [People].[Employee] AS [e] ON [p].[PersonID] = [e].[PersonID]
LEFT JOIN [People].[Person] AS [p0] ON [e].[PersonID] = [p0].[PersonID]
WHERE [p0].[Surname] IS NULL
Seit Entity Framework Core 10.0 konnte man einen Full Join erreichen, indem man LeftJoin() und RightJoin() kombiniert hat. Vor Version 10.0 musste man noch umständlicher GroupJoin() und SelectMany() verwenden.
Einige der Kommandozeilenbefehle des .NET SDK laufen nun nicht mehr auf Basis des Just-in-Time-Compilers, sondern mit Native AOT:
dotnet --versiondotnet --infodotnet --helpdotnet (Befehl) --helpdotnet --cli-schemadotnet sln listdotnet sln migratedotnet sln removeBei dotnet test gibt es nun den Parameter --no-dependencies zum Vermeiden der Übersetzung von Projektreferenzen, analog zu dotnet build --no-dependencies. Analog gibt es bei dotnet test nun auch --use-current-runtime (abgekürzt --ucr).
Zur Auswahl des Test-Runners können Entwicklerinnen und Entwickler nun eine Umgebungsvariable setzen, statt eines Eintrags in der global.json-Datei, zum Beispiel
export DOTNET_TEST_RUNNER=Microsoft.Testing.Platform
dotnet test
Der Standard-Test-Runner ist weiterhin der ältere VSTest-Runner. Die Umgebungsvariable hat höhere Priorität [15] als ein Eintrag in der global.json-Datei.
Die mitgelieferte Projektvorlage für xUnit-basierte Tests besitzt nun einen Parameter --xunit-version, um die Version 3 von xUnit zu wählen. Hier ist dann die Microsoft Testing Platform der Standard.
dotnet new xunit --xunit-version v3
Alternativ können Entwicklerinnen und Entwickler noch das ältere VSTest erzwingen:
dotnet new xunit --xunit-version v3 --test-runner VSTest
Für NUnit-basierte Tests gibt es nun ebenfalls die Projektvorlagenoption --test-runner.
Bei File-based Apps (C#-Scripting ohne Projektdatei) funktioniert die in Preview 3 eingeführte Direktive [16] #:include nun auch ohne diese Einstellung:
#:property ExperimentalFileBasedProgramEnableIncludeDirective=true
Zudem können Entwicklerinnen und Entwickler #:include nicht nur für C#-Quellcodedateien, sondern auch für kompilierte DLLs verwenden:
#:include ./Bibliothek.dll
Für das in Preview 5 eingeführte #:ref ist aber noch diese Zeile in File-based Apps notwendig:
#:property ExperimentalFileBasedProgramEnableRefDirective=true
Die sechste Vorschauversion von .NET 11.0 gibt es kostenlos zum Download [17]. .NET 11.0 soll am 10. November 2026 erscheinen und einen Standard-Term Support von zwei Jahren erhalten.
Die iX und der dpunkt.verlag werden in Kooperation mit den bekannten .NET-Experten von www.IT-Visions.de [18] die fertige Version am 17. November in einem ganztägigen Online-Event präsentieren: betterCode() .NET 11.0 [19].
URL dieses Artikels:
https://www.heise.de/-11366944
Links in diesem Artikel:
Copyright © 2026 Heise Medien