urn:uuid:b9e8a5ae-bd8d-440d-8270-55173120b619
heise developer News
2026-04-13T15:28:00.000Z
Heise - Content
Heise
https://www.heise.de
Copyright (c) Heise Medien
urn:bid:5062610
2026-04-13T15:28:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Nach dem holprigen Start von Apple Intelligence verlässt KI-Chef John Giannandrea das Unternehmen. Angekündigt wurde der Rückzug im Dezember.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Apple-s-former-Head-of-AI-John-Giannandrea-is-leaving-the-company-11255505.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FApples-frueherer-KI-Chef-John-Giannandrea-verlaesst-das-Unternehmen-11255446.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.mac-and-i.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FApples-frueherer-KI-Chef-John-Giannandrea-verlaesst-das-Unternehmen-11255446.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Apples-frueherer-KI-Chef-John-Giannandrea-verlaesst-das-Unternehmen-11255446.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.mac-and-i.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Apples-frueherer-KI-Chef-John-Giannandrea-verlaesst-das-Unternehmen/forum-580939/comment/"
class="a-article-action"
name="meldung.mac-and-i.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>2</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/6/2/6/1/0/Apple-WWDC24-event11-05ea6c4ee9703832-1d76ceeef89d5ebc.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/6/2/6/1/0/Apple-WWDC24-event11-05ea6c4ee9703832-1d76ceeef89d5ebc.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/2/6/1/0/Apple-WWDC24-event11-05ea6c4ee9703832-1d76ceeef89d5ebc.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/2/6/1/0/Apple-WWDC24-event11-05ea6c4ee9703832-1d76ceeef89d5ebc.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/2/6/1/0/Apple-WWDC24-event11-05ea6c4ee9703832-1d76ceeef89d5ebc.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/2/6/1/0/Apple-WWDC24-event11-05ea6c4ee9703832-1d76ceeef89d5ebc.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Die WWDC-Fragestunde 2024 mit dem damaligen KI-Chef Apples"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__text">
Da war die Welt noch in Ordnung: YouTuberin und Moderatorin Justine Ezarik (von links), Apples KI-Chef John Giannandrea und Software-Chef Craig Federighi auf der Bühne im Steve-Jobs-Theater.
</p> <p class="a-caption__source">
(Bild: Apple)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-13T17:28:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>13.04.2026,
</span>
<span class="a-datetime__time ">17:28
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/mac-and-i/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Mac & i"
>
Mac & i
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Malte-Kirchner-3659878"
class="creator__link"
>Malte Kirchner</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Apple-s-former-Head-of-AI-John-Giannandrea-is-leaving-the-company-11255505.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Es war ein denkwürdiger Auftritt am Nachmittag des 11. Juni 2024: Apples damaliger KI-Chef John Giannandrea und Software-Chef Craig Federighi demonstrierten auf der Bühne des Steve Jobs Theater im Apple-Hauptquartier in Cupertino den großen Schulterschluss. <a href="http://www.heise.de/news/Apple-Intelligence-Das-sagen-der-KI-und-der-Software-Chef-zum-Siri-Neubeginn-9757150.html">Die von Apple-Chef Tim Cook eingeleitete Fragestunde</a> mit YouTuberin iJustine sollte die kurz zuvor vorgestellte Apple Intelligence inhaltlich vertiefen und vermutlich ein Signal der Einmütigkeit in der Apple-Chefetage ausstrahlen. Jetzt, nicht einmal zwei Jahre danach, wird Giannandrea das Unternehmen zur Monatsmitte verlassen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Das Schicksal des früheren Google-Mitarbeiters ist eng verknüpft mit den <a href=" https://www.heise.de/thema/Kuenstliche-Intelligenz" rel="external noopener" target="_blank">KI-Bemühungen Apples</a>. Damals angekündigte Grundfunktionen der Apple Intelligence wie das Zusammenfassen von Texten oder maßgeschneiderte Emojis erreichten zwar binnen weniger Monate einen großen Teil der Apple-Kundschaft. Der Blick der Fachwelt richtete sich allerdings mehr auf das, was nicht kam: Siri sei kein Sprachassistent mehr, sondern ein Geräteassistent mit tieferem Verständnis dafür, was auf dem Gerät passiert, tönte Giannandrea in der damaligen Fragestunde. Zwei Jahre später gibt es immer noch nur die Ankündigung, dass Siri besser werden soll. Zuletzt verdichteten sich jedoch Berichte, wonach Apple für <a href="http://www.heise.de/news/iOS-27-Apple-erwaegt-Siri-App-und-Siri-fragen-Knopf-11224654.html">iOS 27 eine eigene Siri-App sowie einen Chatbot-Modus</a> plant.</p>
<h3 class="subheading" id="nav_ki_weichen_neu__0">KI-Weichen neu gestellt</h3>
<p>Giannandrea kam im Jahr 2018 zu Apple. Bei Google war er zuvor acht Jahre lang tätig. Seine Expertise in Machine-Learning passte gut zu Apples Ambitionen, die mit der Neural Engine auch in Hardware gegossen wurden. Doch als mit ChatGPT von OpenAI Jahre später die generativen Sprachmodelle einen Hype auslösten, wirkte Apple wie auf dem falschen Fuß erwischt. Die Vorstellung der Apple Intelligence, 2024, sollte der Befreiungsschlag werden. Die „AI for the rest of us“ (KI für den Rest von uns) sollte mit dem Datenschutz-Vorrang punkten. Stattdessen machte Apple Schlagzeilen damit, dass die KI-Siri offenbar gar nicht funktionierte und das Projekt offenbar komplett zurückgesetzt werden musste. Intern gilt die <a href="http://www.heise.de/news/Dauerbaustelle-Siri-Vision-Pro-Chef-soll-es-jetzt-richten-10323435.html">Dauerbaustelle Siri bereits seit Längerem als Problemfall</a>, da versprochene Funktionen immer wieder verschoben wurden.</p>
<p>Die diesjährige <a href="http://www.heise.de/news/WWDC-2026-am-8-Juni-Apple-gewaehrt-ersten-Blick-auf-iOS-27-und-macOS-27-11221912.html">Entwicklerkonferenz WWDC am 8. Juni</a> soll nun den Trubel der vergangenen Jahre vergessen machen. Apple ist eine Kooperation mit Google eingegangen, um deren KI-Modell Gemini zu verwenden. Vor allem aber wurden erhebliche Veränderungen in der Leitung vorgenommen. Dabei gilt Federighi intern als Verfechter eines eher <a href="http://www.heise.de/news/Federighi-und-Apples-KI-Ambitionen-Pragmatismus-statt-Innovation-11152262.html">pragmatischen KI-Kurses mit Fokus auf Budgets</a> und Partnerschaften. Der ehemalige Vision-Pro-Chef brachte für den <a href="http://www.heise.de/news/Apple-baut-Siri-Abteilung-um-uebernimmt-Vision-Pro-Entwickler-10359675.html">Umbau der Siri-Abteilung</a> zahlreiche Experten aus seinem alten Team mit. Weitere erfahrene Kräfte, die es richten sollen, sind Eddy Cue und Sabih Khan. Erneut ist ein Ex-Googler mit in der Verantwortung: Neuzugang Amar Subramanya soll als Vice President of AI aber deutlich weniger Eigenständigkeit genießen als sein Vorgänger. Er berichte an Federighi.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_eine_letzte__1">Eine letzte Aktienprämie</h3>
<p>Giannandrea war in den vergangenen Monaten nur noch Berater für Apple. Sein Rückzug wurde im Dezember 2025 angekündigt, nachdem zuvor bereits laut geworden war, dass es zwischen den Ressortleitern bei Apple geknirscht hat. Bereits im März 2025 habe Cook Giannandrea deshalb die Leitung des Siri-Teams entzogen, hieß es in Medienberichten. Es war ein Rückzug in Raten. Sein Verbleib bis Mitte April <a href="https://www.bloomberg.com/news/newsletters/2026-04-12/apple-ai-smart-glasses-features-styles-colors-cameras-giannandrea-leaving-mnvtz4yg" rel="external noopener" target="_blank">erklärt Bloomberg-Reporter Mark Gurman</a> mit den üblichen Gepflogenheiten in börsennotierten Unternehmen, um Giannandrea noch eine letzte Aktienprämie auszahlen zu können.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Nach Apple will der frühere KI-Chef laut Bericht in verschiedenen Unternehmensvorständen mitwirken und als Berater für Start-up-Unternehmen tätig werden. Wie stark Apples stotternder KI-Motor tatsächlich mit seiner Person verknüpft war, wird sich in den nächsten Monaten zeigen. Finanziell profitiert der Konzern trotz technischer Rückstände massiv: Erwartungen zufolge wird <a href="http://www.heise.de/news/Apple-verdient-bald-eine-Milliarde-US-Dollar-dank-KI-im-App-Store-11221048.html">Apple bald eine Milliarde US-Dollar durch KI-Apps</a> im App Store verdienen.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5062655" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11255536"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/KI-Betrug-Deutsche-ueberschaetzen-ihre-Faehigkeit-Deepfakes-zu-entlarven-11255536.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5184" height="2913" src="https://www.heise.de/imgs/18/5/0/6/2/6/5/5/shutterstock_2692522213-92a72f14a4333716.jpeg" alt="Eine Hand mit einer digitalen roten Weltkugel und lauter Warnzeichen" style="aspect-ratio:5184 / 2913"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5184" height="2913" alt="Eine Hand mit einer digitalen roten Weltkugel und lauter Warnzeichen" style="aspect-ratio:5184 / 2913;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">KI-Betrug: Deutsche überschätzen ihre Fähigkeit, Deepfakes zu entlarven</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Confluence-Seiten-per-KI-in-Diagramme-Prototypen-und-Apps-verwandeln-11255160.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1340" height="753" src="https://www.heise.de/imgs/18/5/0/6/2/4/7/0/csd-24797-confluence-remix-blog-header-5-1560x760-83696057bd232696.png" alt="Ein Pop-up-Fenster mit der Option, Inhalte als Diagramm, Infografik oder visuell darzustellen." style="aspect-ratio:1340 / 753"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1340" height="753" alt="Ein Pop-up-Fenster mit der Option, Inhalte als Diagramm, Infografik oder visuell darzustellen." style="aspect-ratio:1340 / 753;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Confluence-Seiten per KI in Diagramme, Prototypen und Apps verwandeln</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Netflix-Synchronisationen-Schauspielergewerkschaft-gegen-Sprecherverband-11255110.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6180" height="3472" src="https://www.heise.de/imgs/18/5/0/6/2/4/4/3/shutterstock_2097721672-e1b78b1d127d58ca.jpeg" alt="Netflix-Logo auf Bildschirm, im Vordergrund ein Gaming-Controller" style="aspect-ratio:6180 / 3472"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6180" height="3472" alt="Netflix-Logo auf Bildschirm, im Vordergrund ein Gaming-Controller" style="aspect-ratio:6180 / 3472;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Netflix-Synchronisationen: Schauspielergewerkschaft gegen Sprecherverband</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/KI-Update-kompakt-BSI-warnt-vor-Mythos-Muse-Spark-KI-Urteil-Apple-Klage-11254376.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/6/2/1/2/7/heise_Podcasts_KIUpdate_ho_16_9-29d64feac662a6b2.jpeg" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">KI-Update kompakt: BSI warnt vor Mythos, Muse Spark, KI-Urteil, Apple-Klage</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/hintergrund/Interview-Puraite-will-Evidenzsynthese-mit-erklaerbarer-KI-beschleunigen-11247196.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/5/8/4/8/5/Puraite-aad38743b0fb0198.png" alt="Laptop, auf dem miteinander verbundene Datenpunkte zu sehen sind." style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="Laptop, auf dem miteinander verbundene Datenpunkte zu sehen sind." style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Interview: Puraite will Evidenzsynthese mit erklärbarer KI beschleunigen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Nach dem holprigen Start von Apple Intelligence verlässt KI-Chef John Giannandrea das Unternehmen. Angekündigt wurde der Rückzug im Dezember.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Apple-s-former-Head-of-AI-John-Giannandrea-is-leaving-the-company-11255505.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FApples-frueherer-KI-Chef-John-Giannandrea-verlaesst-das-Unternehmen-11255446.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.mac-and-i.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FApples-frueherer-KI-Chef-John-Giannandrea-verlaesst-das-Unternehmen-11255446.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Apples-frueherer-KI-Chef-John-Giannandrea-verlaesst-das-Unternehmen-11255446.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.mac-and-i.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Apples-frueherer-KI-Chef-John-Giannandrea-verlaesst-das-Unternehmen/forum-580939/comment/"
class="a-article-action"
name="meldung.mac-and-i.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>2</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/6/2/6/1/0/Apple-WWDC24-event11-05ea6c4ee9703832-1d76ceeef89d5ebc.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/6/2/6/1/0/Apple-WWDC24-event11-05ea6c4ee9703832-1d76ceeef89d5ebc.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/2/6/1/0/Apple-WWDC24-event11-05ea6c4ee9703832-1d76ceeef89d5ebc.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/2/6/1/0/Apple-WWDC24-event11-05ea6c4ee9703832-1d76ceeef89d5ebc.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/2/6/1/0/Apple-WWDC24-event11-05ea6c4ee9703832-1d76ceeef89d5ebc.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/2/6/1/0/Apple-WWDC24-event11-05ea6c4ee9703832-1d76ceeef89d5ebc.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Die WWDC-Fragestunde 2024 mit dem damaligen KI-Chef Apples"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__text">
Da war die Welt noch in Ordnung: YouTuberin und Moderatorin Justine Ezarik (von links), Apples KI-Chef John Giannandrea und Software-Chef Craig Federighi auf der Bühne im Steve-Jobs-Theater.
</p> <p class="a-caption__source">
(Bild: Apple)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-13T17:28:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>13.04.2026,
</span>
<span class="a-datetime__time ">17:28
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/mac-and-i/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Mac & i"
>
Mac & i
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Malte-Kirchner-3659878"
class="creator__link"
>Malte Kirchner</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Apple-s-former-Head-of-AI-John-Giannandrea-is-leaving-the-company-11255505.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Es war ein denkwürdiger Auftritt am Nachmittag des 11. Juni 2024: Apples damaliger KI-Chef John Giannandrea und Software-Chef Craig Federighi demonstrierten auf der Bühne des Steve Jobs Theater im Apple-Hauptquartier in Cupertino den großen Schulterschluss. <a href="http://www.heise.de/news/Apple-Intelligence-Das-sagen-der-KI-und-der-Software-Chef-zum-Siri-Neubeginn-9757150.html">Die von Apple-Chef Tim Cook eingeleitete Fragestunde</a> mit YouTuberin iJustine sollte die kurz zuvor vorgestellte Apple Intelligence inhaltlich vertiefen und vermutlich ein Signal der Einmütigkeit in der Apple-Chefetage ausstrahlen. Jetzt, nicht einmal zwei Jahre danach, wird Giannandrea das Unternehmen zur Monatsmitte verlassen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Das Schicksal des früheren Google-Mitarbeiters ist eng verknüpft mit den <a href=" https://www.heise.de/thema/Kuenstliche-Intelligenz" rel="external noopener" target="_blank">KI-Bemühungen Apples</a>. Damals angekündigte Grundfunktionen der Apple Intelligence wie das Zusammenfassen von Texten oder maßgeschneiderte Emojis erreichten zwar binnen weniger Monate einen großen Teil der Apple-Kundschaft. Der Blick der Fachwelt richtete sich allerdings mehr auf das, was nicht kam: Siri sei kein Sprachassistent mehr, sondern ein Geräteassistent mit tieferem Verständnis dafür, was auf dem Gerät passiert, tönte Giannandrea in der damaligen Fragestunde. Zwei Jahre später gibt es immer noch nur die Ankündigung, dass Siri besser werden soll. Zuletzt verdichteten sich jedoch Berichte, wonach Apple für <a href="http://www.heise.de/news/iOS-27-Apple-erwaegt-Siri-App-und-Siri-fragen-Knopf-11224654.html">iOS 27 eine eigene Siri-App sowie einen Chatbot-Modus</a> plant.</p>
<h3 class="subheading" id="nav_ki_weichen_neu__0">KI-Weichen neu gestellt</h3>
<p>Giannandrea kam im Jahr 2018 zu Apple. Bei Google war er zuvor acht Jahre lang tätig. Seine Expertise in Machine-Learning passte gut zu Apples Ambitionen, die mit der Neural Engine auch in Hardware gegossen wurden. Doch als mit ChatGPT von OpenAI Jahre später die generativen Sprachmodelle einen Hype auslösten, wirkte Apple wie auf dem falschen Fuß erwischt. Die Vorstellung der Apple Intelligence, 2024, sollte der Befreiungsschlag werden. Die „AI for the rest of us“ (KI für den Rest von uns) sollte mit dem Datenschutz-Vorrang punkten. Stattdessen machte Apple Schlagzeilen damit, dass die KI-Siri offenbar gar nicht funktionierte und das Projekt offenbar komplett zurückgesetzt werden musste. Intern gilt die <a href="http://www.heise.de/news/Dauerbaustelle-Siri-Vision-Pro-Chef-soll-es-jetzt-richten-10323435.html">Dauerbaustelle Siri bereits seit Längerem als Problemfall</a>, da versprochene Funktionen immer wieder verschoben wurden.</p>
<p>Die diesjährige <a href="http://www.heise.de/news/WWDC-2026-am-8-Juni-Apple-gewaehrt-ersten-Blick-auf-iOS-27-und-macOS-27-11221912.html">Entwicklerkonferenz WWDC am 8. Juni</a> soll nun den Trubel der vergangenen Jahre vergessen machen. Apple ist eine Kooperation mit Google eingegangen, um deren KI-Modell Gemini zu verwenden. Vor allem aber wurden erhebliche Veränderungen in der Leitung vorgenommen. Dabei gilt Federighi intern als Verfechter eines eher <a href="http://www.heise.de/news/Federighi-und-Apples-KI-Ambitionen-Pragmatismus-statt-Innovation-11152262.html">pragmatischen KI-Kurses mit Fokus auf Budgets</a> und Partnerschaften. Der ehemalige Vision-Pro-Chef brachte für den <a href="http://www.heise.de/news/Apple-baut-Siri-Abteilung-um-uebernimmt-Vision-Pro-Entwickler-10359675.html">Umbau der Siri-Abteilung</a> zahlreiche Experten aus seinem alten Team mit. Weitere erfahrene Kräfte, die es richten sollen, sind Eddy Cue und Sabih Khan. Erneut ist ein Ex-Googler mit in der Verantwortung: Neuzugang Amar Subramanya soll als Vice President of AI aber deutlich weniger Eigenständigkeit genießen als sein Vorgänger. Er berichte an Federighi.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_eine_letzte__1">Eine letzte Aktienprämie</h3>
<p>Giannandrea war in den vergangenen Monaten nur noch Berater für Apple. Sein Rückzug wurde im Dezember 2025 angekündigt, nachdem zuvor bereits laut geworden war, dass es zwischen den Ressortleitern bei Apple geknirscht hat. Bereits im März 2025 habe Cook Giannandrea deshalb die Leitung des Siri-Teams entzogen, hieß es in Medienberichten. Es war ein Rückzug in Raten. Sein Verbleib bis Mitte April <a href="https://www.bloomberg.com/news/newsletters/2026-04-12/apple-ai-smart-glasses-features-styles-colors-cameras-giannandrea-leaving-mnvtz4yg" rel="external noopener" target="_blank">erklärt Bloomberg-Reporter Mark Gurman</a> mit den üblichen Gepflogenheiten in börsennotierten Unternehmen, um Giannandrea noch eine letzte Aktienprämie auszahlen zu können.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Nach Apple will der frühere KI-Chef laut Bericht in verschiedenen Unternehmensvorständen mitwirken und als Berater für Start-up-Unternehmen tätig werden. Wie stark Apples stotternder KI-Motor tatsächlich mit seiner Person verknüpft war, wird sich in den nächsten Monaten zeigen. Finanziell profitiert der Konzern trotz technischer Rückstände massiv: Erwartungen zufolge wird <a href="http://www.heise.de/news/Apple-verdient-bald-eine-Milliarde-US-Dollar-dank-KI-im-App-Store-11221048.html">Apple bald eine Milliarde US-Dollar durch KI-Apps</a> im App Store verdienen.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5062655" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11255536"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/KI-Betrug-Deutsche-ueberschaetzen-ihre-Faehigkeit-Deepfakes-zu-entlarven-11255536.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5184" height="2913" src="https://www.heise.de/imgs/18/5/0/6/2/6/5/5/shutterstock_2692522213-92a72f14a4333716.jpeg" alt="Eine Hand mit einer digitalen roten Weltkugel und lauter Warnzeichen" style="aspect-ratio:5184 / 2913"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5184" height="2913" alt="Eine Hand mit einer digitalen roten Weltkugel und lauter Warnzeichen" style="aspect-ratio:5184 / 2913;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">KI-Betrug: Deutsche überschätzen ihre Fähigkeit, Deepfakes zu entlarven</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Confluence-Seiten-per-KI-in-Diagramme-Prototypen-und-Apps-verwandeln-11255160.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1340" height="753" src="https://www.heise.de/imgs/18/5/0/6/2/4/7/0/csd-24797-confluence-remix-blog-header-5-1560x760-83696057bd232696.png" alt="Ein Pop-up-Fenster mit der Option, Inhalte als Diagramm, Infografik oder visuell darzustellen." style="aspect-ratio:1340 / 753"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1340" height="753" alt="Ein Pop-up-Fenster mit der Option, Inhalte als Diagramm, Infografik oder visuell darzustellen." style="aspect-ratio:1340 / 753;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Confluence-Seiten per KI in Diagramme, Prototypen und Apps verwandeln</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Netflix-Synchronisationen-Schauspielergewerkschaft-gegen-Sprecherverband-11255110.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6180" height="3472" src="https://www.heise.de/imgs/18/5/0/6/2/4/4/3/shutterstock_2097721672-e1b78b1d127d58ca.jpeg" alt="Netflix-Logo auf Bildschirm, im Vordergrund ein Gaming-Controller" style="aspect-ratio:6180 / 3472"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6180" height="3472" alt="Netflix-Logo auf Bildschirm, im Vordergrund ein Gaming-Controller" style="aspect-ratio:6180 / 3472;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Netflix-Synchronisationen: Schauspielergewerkschaft gegen Sprecherverband</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/KI-Update-kompakt-BSI-warnt-vor-Mythos-Muse-Spark-KI-Urteil-Apple-Klage-11254376.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/6/2/1/2/7/heise_Podcasts_KIUpdate_ho_16_9-29d64feac662a6b2.jpeg" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">KI-Update kompakt: BSI warnt vor Mythos, Muse Spark, KI-Urteil, Apple-Klage</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/hintergrund/Interview-Puraite-will-Evidenzsynthese-mit-erklaerbarer-KI-beschleunigen-11247196.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/5/8/4/8/5/Puraite-aad38743b0fb0198.png" alt="Laptop, auf dem miteinander verbundene Datenpunkte zu sehen sind." style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="Laptop, auf dem miteinander verbundene Datenpunkte zu sehen sind." style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Interview: Puraite will Evidenzsynthese mit erklärbarer KI beschleunigen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-13T15:28:00.000Z
urn:bid:5060356
2026-04-11T07:41:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Steuererklärung, Prozesse oder Bauplanungen: Vieles lässt sich mit einer domänenspezifischen Sprache darstellen. Editoren mit LSP machen die Umsetzung leicht.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/background/Create-simple-UX-for-domain-specific-languages-with-VS-Code-11252263.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FEinfache-UX-fuer-domaenenspezifische-Sprachen-mit-VS-Code-gestalten-11250899.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FEinfache-UX-fuer-domaenenspezifische-Sprachen-mit-VS-Code-gestalten-11250899.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/hintergrund/Einfache-UX-fuer-domaenenspezifische-Sprachen-mit-VS-Code-gestalten-11250899.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Einfache-UX-fuer-domaenenspezifische-Sprachen-mit-VS-Code-gestalten/forum-580848/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>11</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/6/0/3/5/6/shutterstock_1285858291-d341f74ca17a1fe0.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/6/0/3/5/6/shutterstock_1285858291-d341f74ca17a1fe0.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/3/5/6/shutterstock_1285858291-d341f74ca17a1fe0.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/3/5/6/shutterstock_1285858291-d341f74ca17a1fe0.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/3/5/6/shutterstock_1285858291-d341f74ca17a1fe0.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/3/5/6/shutterstock_1285858291-d341f74ca17a1fe0.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Mund, aus dem Buchstaben schweben"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: lassedesignen / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-11T09:41:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>11.04.2026,
</span>
<span class="a-datetime__time ">09:41
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
13 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Georg Hinkel</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/background/Create-simple-UX-for-domain-specific-languages-with-VS-Code-11252263.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Lohnt es sich, eine eigene Programmiersprache samt Syntax-Highlighting, Code Completion anderen Features im Editor nur für ein einzelnes Projekt zu erstellen? Was sich auf den ersten Blick nach viel Arbeit anhört, ist dank Language Server Protocol (LSP) deutlich einfacher geworden. Durch die reichhaltigen Möglichkeiten zur Interaktion mit Texteditoren wie Visual Studio Code eignen sich domänenspezifische Sprachen (Domain Specific Languages, DSL) als eine vollwertige und auch unterschätzte Möglichkeit der Gestaltung einer UX.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Georg Hinkel
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Portrait Georg Hinkel" height="4252" high-dpi-quality="70" quality="85" src="/imgs/71/4/7/8/5/0/9/5/Hinkel_Georg-1c7d0bb8fa39fcf4.jpg" style="aspect-ratio: 2835 / 4252;" width="2835">
<img alt="Portrait Georg Hinkel" height="4252" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 2835 / 4252; object-fit: cover;" width="2835">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: </p><p>Georg Hinkel</p>)
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Georg Hinkel forscht und lehrt an der Hochschule RheinMain zu den Themenschwerpunkten Softwaretechnik, modellgetriebene Softwareentwicklung und verteilte Systeme. Er ist außerdem Maintainer des Open-Source-Projekts NMF.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<p>Anwenderinnen und Anwender jenseits der Informatik nehmen Spezifikationen oft mit Formularen vor. Je komplexer die Anforderungen sind, desto komplizierter wird die Umsetzung per Formular. Ein grotesk wirkendes Beispiel zeigt Abbildung 1: Anweisungen für einen Compiler, über ein Formular zu spezifizieren.</p>
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/6/0/3/5/6/compiler-66307a5e2fc9f8ab.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/6/0/3/5/6/compiler-66307a5e2fc9f8ab.png">
<a-img alt="Anweisungen per Formular" height="762" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/6/0/3/5/6/compiler-66307a5e2fc9f8ab.png" style="
aspect-ratio: 1500 / 762;" width="1500">
<img alt="Anweisungen per Formular" height="762" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1500 / 762; object-fit: cover;" width="1500">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Programmieren per Formular wirkt grotesk (Abb. 1)</div>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Gleich mehrere Gründe machen diese Idee so absurd:</p>
<ul class="rte__list rte__list--unordered"><li>Die Spezifikation ist völlig aufgebläht: Die noch unvollständige Implementierung des Heron-Verfahrens zum Wurzelziehen lässt sich auch mit nur drei Zeilen Code umsetzen.</li><li>Als direkte Folge davon ist das Formular deutlich schwerer verständlich.</li><li>Für erfahrene Nutzer ist eine Programmiersprache sehr viel effizienter, weil sie in der gleichen Zeit wesentlich mehr Spezifikationen verfassen können.</li><li>Es ist nur schwer vorstellbar, wie man eine formularbasierte Programmspezifikation versionieren kann. Textbasierte Algorithmen, wie Git sie verwendet, funktionieren hier vermutlich nicht.</li></ul>
<p>Eine komplexe Spezifikation ist keine Besonderheit der Informatik, auch in anderen Fachbereichen gibt es schwierige Probleme, die immer mehr mithilfe von Computern gelöst werden sollen. Das kann die Automatisierung von Workflows sein, die Planung von Bauteilen oder Gebäuden, die Dokumentation von manuellen Prozessen oder vieles mehr. Ein Erfolgsfaktor von Programmiersprachen ist sicherlich, dass Programme sowieso abstrakt sind, während sich physische Bauteile oder Gebäudepläne schon immer auch grafisch haben repräsentieren lassen. Das Beispiel von Prozessautomatisierung zeigt aber, dass in vielen Bereichen ebenfalls abstrakte Konzepte auftreten.</p>
<p>Innerhalb der Informatik haben sich textuelle Sprachen auch jenseits des Programmierens bewährt. Admins legen Infrastrukturen in der Cloud schon lange nicht mehr per Formular an (diese Praxis wird eher als ClickOps geschmäht), sondern in Textform per Infrastructure-as-Code. Die Gründe sind dieselben: die Spezifikation ist schlanker, verständlicher, einfacher zu versionieren und man ist damit schneller.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Einfacher zu versionieren als Formulare, sind generische Formate wie JSON oder XML. Sie sind allerdings ursprünglich nicht dafür gedacht, für Menschen lesbar zu sein, sondern für Maschinen. Da viele Anwendungen ohnehin eine maschinenlesbare Sprache benötigen, ist es bequem, diese auch als alternative Schnittstelle anzubieten.</p>
<p>Aber auch solche Konfigurationsdateien erreichen nicht die Prägnanz, Lesbarkeit und Effizienz einer domänenspezifischen Sprache, zumal auch Validierungstechnologien wie XML Schema oder JSON Schema nur die Struktur der Dokumente validieren, aber wenig zur fachlichen Analyse beitragen können.</p>
<h3 class="subheading" id="nav_dsl_als__0">DSL als Alternative zu Formularen und Konfigurationsdateien</h3>
<p>Komplexe Vorgänge, die Menschen gern sehr prägnant, lesbar und versionierbar ausdrücken wollen, kann man vorteilhaft mit einer domänenspezifischen Sprache spezifizieren, mit der gleichen Editorunterstützung wie bei Programmiersprachen. Beispiele wären Reisekostenabrechnungen, Nebenkostenabrechnungen, Steuererklärungen, Umsatzabfragen, Prozessautomatisierungen oder Bauplanungen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>LLM-basierte Chatfunktionen sind dabei kein Ersatz für domänenspezifische Sprachen, umgekehrt aber können domänenspezifische Sprachen die Intention eines KI-Systems einfacher überprüfbar machen. Anstatt agentenbasierte Systeme kritische Dinge tun zu lassen (was zumindest <a href="https://artificialintelligenceact.eu/de/high-level-summary/" rel="external noopener" target="_blank">in der EU per AI Act</a> streng reglementiert ist), kann man KI-Systeme auch eine in natürlicher Sprache vorliegende Beschreibung in eine DSL umformulieren lassen.</p>
<h3 class="subheading" id="nav_das_language__1">Das Language Server Protocol als Enabler für eine DSL-UX</h3>
<p>Die Entwicklung einer domänenspezifischen Sprache reduziert sich nicht nur auf einen Parser: Nutzerinnen und Nutzer sind den Komfort von Syntax-Highlighting, Code Completion, bequemes Springen zur Definition oder zu Referenzen gewohnt, die wesentlich für eine gute UX und gesteigerte Produktivität sind. In den letzten Jahren ist dies durch das von Microsoft entwickelte Language Server Protocol (LSP) deutlich einfacher geworden. Dieses Prinzip hat sich auf weitere Bereiche ausgeweitet, zum Beispiel auf grafische Sprachen mit dem Graphical Language Server Protocol (GLSP). LSP und GLSP erlauben es, weitgehend auf die Entwicklung von UI-Komponenten zu verzichten und sich stattdessen auf die Semantik einer Sprache zu konzentrieren.</p>
<p>Aus diesem Grund können Editoren wie Visual Studio Code mit beliebigen Programmiersprachen umgehen: Während sie als Frontend immer dasselbe UI verwenden (im Fall von Visual Studio Code den Monaco-Editor), liefert ein LSP-Server die sprachspezifische Editorunterstützung. Da LSP auf JSON-RPC basiert, das keine Transportschicht definiert, lässt sich LSP wahlweise über stdin/stdout oder über Websockets betreiben. Das ermöglicht viele Optionen für das Deployment: Der Client kann in einer Desktopanwendung (in Fall von Visual Studio Code via Electron) oder im Browser laufen, während der Server entweder in die IDE eingebettet oder auf einem entfernten Rechner arbeitet.</p>
<p>Mittlerweile gibt es für die Entwicklung von LSP-Servern mehrere Frameworks, je nachdem, mit welcher Programmiersprache man die DSL entwickeln will. Für die Beschreibung der Grammatik der DSL kommt ebenfalls eine DSL zum Einsatz. Daraus generiert das Framework Parser, Klassen für den abstrakten Syntaxbaum und die Editorunterstützung. Entwicklerinnen und Entwickler können das Ergebnis durch manuellen Code ergänzen oder überschreiben. Beispiele für entsprechende Tools sind <a href="https://eclipse.dev/Xtext/" rel="external noopener" target="_blank">Xtext für Java</a> (siehe auch: <a href="#anchor_1">[1]</a>), <a href="https://langium.org/" rel="external noopener" target="_blank">Langium für TypeScript</a> und <a href="https://nmfcode.github.io/anytext/" rel="external noopener" target="_blank">AnyText für .NET</a> (siehe auch <a href="#anchor_2">[2]</a>).</p>
<h3 class="subheading" id="nav_eine_neue_dsl__2">Eine neue DSL entwickeln</h3>
<p>Der Startpunkt für die Entwicklung einer neuen DSL ist mit allen dreien der genannten Frameworks eine Grammatik, die auch die abstrakte Syntax der Sprache ausdrückt. Die abstrakte Syntax ist hierbei die Definition der Konzepte, die die Sprache ausmachen. Für die Grammatik werden bei Xtext und Langium kontextfreie LL(k)-Grammatiken verwendet, bei AnyText Parse-Expression-Grammatiken (PEGs). Beide Klassen von Grammatiken arbeiten mit Nichtterminalen (= Platzhaltern) und Produktionsregeln, die bestimmen, wie ein Nichtterminal ersetzt werden kann. Diese Produktionsregeln lassen sich bequem über die Metasprache Erweiterte Backus-Naur-Form (EBNF) spezifizieren, die zusätzlich noch um Zuweisungen ergänzt wird, um auch die abstrakte Syntax angeben zu können.</p>
<p>Praktischerweise bietet <a href="https://langium.org/playground/" rel="external noopener" target="_blank">Langium mit dem Playground</a> eine Möglichkeit an, mit der Entwicklung einer DSL ohne Installation einer Software direkt im Browser zu beginnen. Für <a href="https://eclipse.dev/Xtext/documentation/102_domainmodelwalkthrough.html" rel="external noopener" target="_blank">Xtext</a> oder <a href="https://nmfcode.github.io/anytext/tutorials/helloWorld.html" rel="external noopener" target="_blank">AnyText</a> bieten die Tutorials gute Einstiegspunkte.</p>
<p>Um beispielsweise die (hier vereinfachte) Deklaration einer Klasse in einer Programmiersprache zu spezifizieren, genügt das folgende Fragment:</p>
<pre class="rte__tx--listing">Class: ‘class’ name=ID ‘{‘ members+=ClassMember* ‘}’;</pre>
<p>Dieses Beispiel geht davon aus, dass es weitere Nichtterminale <code>ID</code> und <code>ClassMember</code> gibt, die regeln, wie ein Identifier genau aussieht und was zulässige Member einer Klasse sein können. Der Postfixoperator <code>*</code> erlaubt hierbei beliebig viele Member. Alternativ sind auch <code>+</code> oder <code>?</code> möglich, um mindestens oder höchstens ein Vorkommen zu beschreiben. Der Operator <code>|</code> erlaubt auch Alternativen, was unterschiedliche Arten von Membern ermöglicht. Besteht eine Regel ausschließlich aus Alternativen, dann wird das in der abstrakten Syntax durch Inheritance abgebildet.</p>
<p>Die Zuweisung <code>=</code> bzw. <code>+=</code> weist das System darüber hinaus an, das Ergebnis des Nichtterminals <code>ID</code> bzw. <code>ClassMember</code> dem abstrakten Element des Nichtterminals zuzuordnen. Das geht entweder als einwertige Eigenschaft (beispielsweise, dass das Ergebnis von <code>ID</code> den Namen bilden soll) oder als mehrwertige Eigenschaft, dass das Ergebnis von <code>ClassMember</code> zur Auflistung <code>members</code> hinzugefügt werden soll.</p>
<p>Aus diesen Zuweisungen lassen sich dann auch Klassen ableiten, um die abstrakten Elemente der Sprache im Speicher darstellen zu können. Sowohl Xtext und Langium als auch AnyText unterstützen den Operator <code>[]</code>, mit dem sich Referenzen abbilden lassen, dass also an einer gegebenen Stelle nur eine Referenz auf ein anderes syntaktisches Element erscheinen soll.</p>
<p>Die Konstruktion des Parsers bleibt zwar weitestgehend vor den Entwicklern verborgen, allerdings haben manche Klassen von Grammatiken Einschränkungen, die Entwickler einer DSL berücksichtigen müssen. So sind die Produktionen bei kontextfreien Grammatiken ungeordnet, bei PEGs aber geordnet, weswegen es konstruktionsbedingt keine Mehrdeutigkeiten gibt. Gängige Parser für kontextfreie Grammatiken unterstützen keine Linksrekursionen, für PEGs aber schon.</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Auswirkungen, ob Alternativen für Produktionen geordnet sind.
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<div class="a-inline-textbox__content-container">
<p>Die Ordnung von Alternativen bedeutet, dass eine Alternative nur dann überhaupt in Betracht gezogen wird, wenn die vorherigen Alternativen fehlschlagen. Das hat zur Folge, dass es niemals Mehrdeutigkeiten geben kann und beispielsweise bei <code>if</code>-Statements in C-ähnlichen Sprachen ein <code>else</code>-Block immer dem inneren <code>if</code> zugeschlagen werden würde. Das kann in vielen Fällen erwünscht sein, weil die Sprache damit niemals mehrdeutig ist, kann aber auch gegen Intuition verstoßen. Beispielsweise matcht die Grammatik <code>S: ‚a’S’a’ | ‚aa’</code> als kontextfreie Grammatik alle Wörter mit einer geraden Anzahl des Buchstabens <code>a</code>, als PEG aber nur Wörter, die nur aus <code>a</code> bestehen und deren Länge eine Zweierpotenz > 1 ist. Gerade wenn man kontextfreie Grammatiken gewohnt ist, ist dieses Verhalten kontraintuitiv. Aus meiner Sicht betrifft das aber nur eher pathologische Fälle.</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<p>Die Unterstützung von Linksrekursionen ist vor allem für Ausdrücke wichtig, da man damit sehr intuitiv Formeln umsetzen kann. Insbesondere sind binäre Ausdrücke selbst Ausdrücke, beginnen aber auch mit einem Ausdruck. Für PEGs haben Warth und andere <a href="#anchor_3">[3]</a> eine Erweiterung von Packrat-Parsern entwickelt, die Linksrekursionen parsen kann, wobei das lineare Laufzeitverhalten von Packrat-Parsern erhalten bleibt.</p>
<p>In AnyText lässt sich daher eine einfache Expression-Grammatik wie in Listing 1 unten dargestellt implementieren. Hierbei überschreibt das Schlüsselwort <code>returns</code>, welche Klasse der abstrakten Syntax das Nichtterminal zurückgibt. Im Beispiel dient es dazu, nicht für jedes einzelne Nichtterminal eine Klasse einführen zu müssen. Das Schlüsselwort <code>enum</code> kommt zum Einsatz, um eine fixe Menge von Werten abzubilden. Ferner beschreibt das Schlüsselwort <code>parantheses</code> ein Nichtterminal für Klammerungen und <code>terminal</code> ein Terminal, dargestellt durch einen regulären Ausdruck.</p>
<!-- RSPEAK_STOP -->
<a-code>
<pre class="rte__tx--listing listing"><code>grammar Expressions (exp)
root Expression
Expression:
AdditiveBinary | Multiplicative;
AdditiveBinary returns BinaryExpression:
left=Expression operator=AdditiveOperator right=Expression;
enum AdditiveOperator returns BinaryOperator:
Add => '+'
Subtract => '-';
Multiplicative returns Expression:
MultiplicativeBinary | LiteralExpression | VariableExpression | ParanthesisExpression;
MultiplicativeBinary returns BinaryExpression:
left=Multiplicative operator=MultiplicativeOperator right=Multiplicative;
enum MultiplicativeOperator returns BinaryOperator:
Multiply => '*'
Divide => '/';
LiteralExpression:
value=Number;
VariableExpression:
variable=Identifier;
parantheses ParanthesisExpression:
'(' Expression ')';
terminal Number returns nmeta.Integer:
/\d+/;
terminal Identifier:
/[a-zA-Z]\w*/;</code></pre>
</a-code>
<!-- RSPEAK_START -->
<p><em></em></p>
<h3 class="subheading" id="nav_ux_interaktionen__3">UX-Interaktionen im Editor über LSP</h3>
<p>LSP ist nicht nur auf das Parsen von Text begrenzt, sondern erlaubt auch praktische Interaktionen mit einem Text in der IDE. Programmiererinnen und Programmierern sind Features wie Code Lenses oder Code Fixes geläufig. Sie erlauben es, Analyseergebnisse wie die Anzahl der Referenzen oder Autor und Datum der letzten Änderung an einer Methode einfach in das Sichtfeld einzublenden. Interaktionen wie Refactorings lassen sich ebenfalls direkt aus dem Code heraus starten.</p>
<p>Zu Features dieser Art gehören:</p>
<ul class="rte__list rte__list--unordered"><li><strong>Diagnostics</strong>: In den seltensten Fällen lassen sich Einschränkungen allein durch die Grammatik ausdrücken, auch domänenspezifische Analysen können auf Fehler hindeuten. Beispielsweise könnte man in einer DSL für Überweisungen eine Analyse des Empfängernamens einbauen und Fehler melden, sollte der Name nicht zur IBAN passen.</li><li><strong>Code Lenses</strong>: Code Lenses können an einer beliebigen Stelle im Text eine beliebige Zeichenkette anzeigen. Damit lassen sich viele Arten von Analysen darstellen. Code Lenses können auch Aktionen anbieten, zum Beispiel öffnet sich beim Klicken auf die Anzeige der Referenzen üblicherweise ein Fenster mit Details. Einige Editoren bieten auch an, Unit Tests per Code Lens zu starten. Recht generisch könnte man Code Lenses verwenden, um in einer DSL den derzeitig beschriebenen Zustand auf ein modelliertes System anzuwenden.</li><li><strong>Code Actions</strong>: Von Editoren wie der Visual-Studio-Familie mit einem Lampensymbol dargestellt, erlauben es Code Actions, zum Kontext passende Interaktionen auszuführen.</li><li><strong>Inlays</strong>: Inlays blenden Texte im Editor ein, die eigentlich gar nicht dort stehen. Während dieses Feature in Programmiersprachen vor allem dazu dient, inferrierte Typsignaturen oder Parameternamen einzublenden, lässt es sich prinzipiell für beliebige Analysen verwenden.</li><li><strong>Hover</strong>: Verweilt ein Nutzer mit der Maus auf einem Token, kann ein LSP-Server Kontextinformationen dazu liefern. Eine sehr clevere Nutzung ist beispielsweise, einen Hovertext für Schlüsselwörter mit Erklärungen dazu anzubieten. Gerade weil eine DSL nur für einen eingeschränkten Nutzerkreis gedacht ist, kann eine solche Unterstützung die Anwendung leichter zugänglich machen.</li></ul>
<p>AnyText macht die Entwicklung dieser Features besonders einfach, indem es für jede Regel in der Grammatik eine Klasse generiert, in der Entwickler meist nur eine entsprechende Methode überschreiben müssen, um das jeweilige Feature zu aktivieren. Aber auch mit Langium oder Xtext lassen sich diese Features einfach nutzen.</p>
<h3 class="subheading" id="nav_fazit__4">Fazit: Alternative UX-Technologie</h3>
<p>Domänenspezifische Sprachen haben neben Formularen oder KI-Agenten einen eigenen Platz als Möglichkeit verdient, mit der Endanwender spezifizieren, welche Probleme der Computer lösen soll. DSLs richten sich dabei vor allem an Expertinnen und Experten, die solche Spezifikationen häufiger verfassen müssen, für die also Produktivität, einfache Versionierbarkeit und Interoperabilität textueller Sprachen besonders vorteilhaft sind.</p>
<p>Dabei hat sich die Entwicklung neuer DSLs durch Innovationen wie das Language Server Protocol und Frameworks wie Langium, Xtext oder AnyText dramatisch vereinfacht. Wo Developer Parser früher per Hand schreiben mussten, können sie diese heute mit Editorunterstützung weitgehend aus der Spezifikation einer Grammatik ableiten, was den Aufwand stark reduziert. Daher sollten DSLs als alternative UX-Technologie durchaus in Betracht gezogen werden.</p>
<h3 class="subheading" id="nav_literaturverzeic__5">Literaturverzeichnis</h3>
<p><a name="anchor_1"></a>[1] M. Eysholdt und H. Behrens, „Xtext: implement your language faster than the quick and dirty way,“ in Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion, Reno/Tahoe, Nevada, USA, Association for Computing Machinery, 2010, pp. 307–309.</p>
<p><a name="anchor_2"></a>[2] G. Hinkel, A. Hert, N. Hettler und K. Weinert, „AnyText: Incremental, left-recursive Parsing and Pretty-Printing from a single Grammar Definition with first-class LSP support,“ Proceedings of the 18th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2025, pp. 98–111, 12–13 Juni 2025.</p>
<p><a name="anchor_3"></a>[3] A. Warth, J. R. Douglass und T. Millstein, „Packrat parsers can support left recursion,“ in Proceedings of the 2008 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, San Francisco, California, USA, Association for Computing Machinery, 2008, pp. 103–110.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:who@heise.de" title="Wolf Hosbach">who</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11250899"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11250899: Einfache UX für domänenspezifische Sprachen mit VS Code gestalten"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Steuererklärung, Prozesse oder Bauplanungen: Vieles lässt sich mit einer domänenspezifischen Sprache darstellen. Editoren mit LSP machen die Umsetzung leicht.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/background/Create-simple-UX-for-domain-specific-languages-with-VS-Code-11252263.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FEinfache-UX-fuer-domaenenspezifische-Sprachen-mit-VS-Code-gestalten-11250899.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FEinfache-UX-fuer-domaenenspezifische-Sprachen-mit-VS-Code-gestalten-11250899.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/hintergrund/Einfache-UX-fuer-domaenenspezifische-Sprachen-mit-VS-Code-gestalten-11250899.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Einfache-UX-fuer-domaenenspezifische-Sprachen-mit-VS-Code-gestalten/forum-580848/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>11</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/6/0/3/5/6/shutterstock_1285858291-d341f74ca17a1fe0.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/6/0/3/5/6/shutterstock_1285858291-d341f74ca17a1fe0.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/3/5/6/shutterstock_1285858291-d341f74ca17a1fe0.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/3/5/6/shutterstock_1285858291-d341f74ca17a1fe0.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/3/5/6/shutterstock_1285858291-d341f74ca17a1fe0.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/3/5/6/shutterstock_1285858291-d341f74ca17a1fe0.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Mund, aus dem Buchstaben schweben"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: lassedesignen / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-11T09:41:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>11.04.2026,
</span>
<span class="a-datetime__time ">09:41
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
13 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Georg Hinkel</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/background/Create-simple-UX-for-domain-specific-languages-with-VS-Code-11252263.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Lohnt es sich, eine eigene Programmiersprache samt Syntax-Highlighting, Code Completion anderen Features im Editor nur für ein einzelnes Projekt zu erstellen? Was sich auf den ersten Blick nach viel Arbeit anhört, ist dank Language Server Protocol (LSP) deutlich einfacher geworden. Durch die reichhaltigen Möglichkeiten zur Interaktion mit Texteditoren wie Visual Studio Code eignen sich domänenspezifische Sprachen (Domain Specific Languages, DSL) als eine vollwertige und auch unterschätzte Möglichkeit der Gestaltung einer UX.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Georg Hinkel
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Portrait Georg Hinkel" height="4252" high-dpi-quality="70" quality="85" src="/imgs/71/4/7/8/5/0/9/5/Hinkel_Georg-1c7d0bb8fa39fcf4.jpg" style="aspect-ratio: 2835 / 4252;" width="2835">
<img alt="Portrait Georg Hinkel" height="4252" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 2835 / 4252; object-fit: cover;" width="2835">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: </p><p>Georg Hinkel</p>)
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Georg Hinkel forscht und lehrt an der Hochschule RheinMain zu den Themenschwerpunkten Softwaretechnik, modellgetriebene Softwareentwicklung und verteilte Systeme. Er ist außerdem Maintainer des Open-Source-Projekts NMF.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<p>Anwenderinnen und Anwender jenseits der Informatik nehmen Spezifikationen oft mit Formularen vor. Je komplexer die Anforderungen sind, desto komplizierter wird die Umsetzung per Formular. Ein grotesk wirkendes Beispiel zeigt Abbildung 1: Anweisungen für einen Compiler, über ein Formular zu spezifizieren.</p>
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/6/0/3/5/6/compiler-66307a5e2fc9f8ab.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/6/0/3/5/6/compiler-66307a5e2fc9f8ab.png">
<a-img alt="Anweisungen per Formular" height="762" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/6/0/3/5/6/compiler-66307a5e2fc9f8ab.png" style="
aspect-ratio: 1500 / 762;" width="1500">
<img alt="Anweisungen per Formular" height="762" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1500 / 762; object-fit: cover;" width="1500">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Programmieren per Formular wirkt grotesk (Abb. 1)</div>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Gleich mehrere Gründe machen diese Idee so absurd:</p>
<ul class="rte__list rte__list--unordered"><li>Die Spezifikation ist völlig aufgebläht: Die noch unvollständige Implementierung des Heron-Verfahrens zum Wurzelziehen lässt sich auch mit nur drei Zeilen Code umsetzen.</li><li>Als direkte Folge davon ist das Formular deutlich schwerer verständlich.</li><li>Für erfahrene Nutzer ist eine Programmiersprache sehr viel effizienter, weil sie in der gleichen Zeit wesentlich mehr Spezifikationen verfassen können.</li><li>Es ist nur schwer vorstellbar, wie man eine formularbasierte Programmspezifikation versionieren kann. Textbasierte Algorithmen, wie Git sie verwendet, funktionieren hier vermutlich nicht.</li></ul>
<p>Eine komplexe Spezifikation ist keine Besonderheit der Informatik, auch in anderen Fachbereichen gibt es schwierige Probleme, die immer mehr mithilfe von Computern gelöst werden sollen. Das kann die Automatisierung von Workflows sein, die Planung von Bauteilen oder Gebäuden, die Dokumentation von manuellen Prozessen oder vieles mehr. Ein Erfolgsfaktor von Programmiersprachen ist sicherlich, dass Programme sowieso abstrakt sind, während sich physische Bauteile oder Gebäudepläne schon immer auch grafisch haben repräsentieren lassen. Das Beispiel von Prozessautomatisierung zeigt aber, dass in vielen Bereichen ebenfalls abstrakte Konzepte auftreten.</p>
<p>Innerhalb der Informatik haben sich textuelle Sprachen auch jenseits des Programmierens bewährt. Admins legen Infrastrukturen in der Cloud schon lange nicht mehr per Formular an (diese Praxis wird eher als ClickOps geschmäht), sondern in Textform per Infrastructure-as-Code. Die Gründe sind dieselben: die Spezifikation ist schlanker, verständlicher, einfacher zu versionieren und man ist damit schneller.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Einfacher zu versionieren als Formulare, sind generische Formate wie JSON oder XML. Sie sind allerdings ursprünglich nicht dafür gedacht, für Menschen lesbar zu sein, sondern für Maschinen. Da viele Anwendungen ohnehin eine maschinenlesbare Sprache benötigen, ist es bequem, diese auch als alternative Schnittstelle anzubieten.</p>
<p>Aber auch solche Konfigurationsdateien erreichen nicht die Prägnanz, Lesbarkeit und Effizienz einer domänenspezifischen Sprache, zumal auch Validierungstechnologien wie XML Schema oder JSON Schema nur die Struktur der Dokumente validieren, aber wenig zur fachlichen Analyse beitragen können.</p>
<h3 class="subheading" id="nav_dsl_als__0">DSL als Alternative zu Formularen und Konfigurationsdateien</h3>
<p>Komplexe Vorgänge, die Menschen gern sehr prägnant, lesbar und versionierbar ausdrücken wollen, kann man vorteilhaft mit einer domänenspezifischen Sprache spezifizieren, mit der gleichen Editorunterstützung wie bei Programmiersprachen. Beispiele wären Reisekostenabrechnungen, Nebenkostenabrechnungen, Steuererklärungen, Umsatzabfragen, Prozessautomatisierungen oder Bauplanungen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>LLM-basierte Chatfunktionen sind dabei kein Ersatz für domänenspezifische Sprachen, umgekehrt aber können domänenspezifische Sprachen die Intention eines KI-Systems einfacher überprüfbar machen. Anstatt agentenbasierte Systeme kritische Dinge tun zu lassen (was zumindest <a href="https://artificialintelligenceact.eu/de/high-level-summary/" rel="external noopener" target="_blank">in der EU per AI Act</a> streng reglementiert ist), kann man KI-Systeme auch eine in natürlicher Sprache vorliegende Beschreibung in eine DSL umformulieren lassen.</p>
<h3 class="subheading" id="nav_das_language__1">Das Language Server Protocol als Enabler für eine DSL-UX</h3>
<p>Die Entwicklung einer domänenspezifischen Sprache reduziert sich nicht nur auf einen Parser: Nutzerinnen und Nutzer sind den Komfort von Syntax-Highlighting, Code Completion, bequemes Springen zur Definition oder zu Referenzen gewohnt, die wesentlich für eine gute UX und gesteigerte Produktivität sind. In den letzten Jahren ist dies durch das von Microsoft entwickelte Language Server Protocol (LSP) deutlich einfacher geworden. Dieses Prinzip hat sich auf weitere Bereiche ausgeweitet, zum Beispiel auf grafische Sprachen mit dem Graphical Language Server Protocol (GLSP). LSP und GLSP erlauben es, weitgehend auf die Entwicklung von UI-Komponenten zu verzichten und sich stattdessen auf die Semantik einer Sprache zu konzentrieren.</p>
<p>Aus diesem Grund können Editoren wie Visual Studio Code mit beliebigen Programmiersprachen umgehen: Während sie als Frontend immer dasselbe UI verwenden (im Fall von Visual Studio Code den Monaco-Editor), liefert ein LSP-Server die sprachspezifische Editorunterstützung. Da LSP auf JSON-RPC basiert, das keine Transportschicht definiert, lässt sich LSP wahlweise über stdin/stdout oder über Websockets betreiben. Das ermöglicht viele Optionen für das Deployment: Der Client kann in einer Desktopanwendung (in Fall von Visual Studio Code via Electron) oder im Browser laufen, während der Server entweder in die IDE eingebettet oder auf einem entfernten Rechner arbeitet.</p>
<p>Mittlerweile gibt es für die Entwicklung von LSP-Servern mehrere Frameworks, je nachdem, mit welcher Programmiersprache man die DSL entwickeln will. Für die Beschreibung der Grammatik der DSL kommt ebenfalls eine DSL zum Einsatz. Daraus generiert das Framework Parser, Klassen für den abstrakten Syntaxbaum und die Editorunterstützung. Entwicklerinnen und Entwickler können das Ergebnis durch manuellen Code ergänzen oder überschreiben. Beispiele für entsprechende Tools sind <a href="https://eclipse.dev/Xtext/" rel="external noopener" target="_blank">Xtext für Java</a> (siehe auch: <a href="#anchor_1">[1]</a>), <a href="https://langium.org/" rel="external noopener" target="_blank">Langium für TypeScript</a> und <a href="https://nmfcode.github.io/anytext/" rel="external noopener" target="_blank">AnyText für .NET</a> (siehe auch <a href="#anchor_2">[2]</a>).</p>
<h3 class="subheading" id="nav_eine_neue_dsl__2">Eine neue DSL entwickeln</h3>
<p>Der Startpunkt für die Entwicklung einer neuen DSL ist mit allen dreien der genannten Frameworks eine Grammatik, die auch die abstrakte Syntax der Sprache ausdrückt. Die abstrakte Syntax ist hierbei die Definition der Konzepte, die die Sprache ausmachen. Für die Grammatik werden bei Xtext und Langium kontextfreie LL(k)-Grammatiken verwendet, bei AnyText Parse-Expression-Grammatiken (PEGs). Beide Klassen von Grammatiken arbeiten mit Nichtterminalen (= Platzhaltern) und Produktionsregeln, die bestimmen, wie ein Nichtterminal ersetzt werden kann. Diese Produktionsregeln lassen sich bequem über die Metasprache Erweiterte Backus-Naur-Form (EBNF) spezifizieren, die zusätzlich noch um Zuweisungen ergänzt wird, um auch die abstrakte Syntax angeben zu können.</p>
<p>Praktischerweise bietet <a href="https://langium.org/playground/" rel="external noopener" target="_blank">Langium mit dem Playground</a> eine Möglichkeit an, mit der Entwicklung einer DSL ohne Installation einer Software direkt im Browser zu beginnen. Für <a href="https://eclipse.dev/Xtext/documentation/102_domainmodelwalkthrough.html" rel="external noopener" target="_blank">Xtext</a> oder <a href="https://nmfcode.github.io/anytext/tutorials/helloWorld.html" rel="external noopener" target="_blank">AnyText</a> bieten die Tutorials gute Einstiegspunkte.</p>
<p>Um beispielsweise die (hier vereinfachte) Deklaration einer Klasse in einer Programmiersprache zu spezifizieren, genügt das folgende Fragment:</p>
<pre class="rte__tx--listing">Class: ‘class’ name=ID ‘{‘ members+=ClassMember* ‘}’;</pre>
<p>Dieses Beispiel geht davon aus, dass es weitere Nichtterminale <code>ID</code> und <code>ClassMember</code> gibt, die regeln, wie ein Identifier genau aussieht und was zulässige Member einer Klasse sein können. Der Postfixoperator <code>*</code> erlaubt hierbei beliebig viele Member. Alternativ sind auch <code>+</code> oder <code>?</code> möglich, um mindestens oder höchstens ein Vorkommen zu beschreiben. Der Operator <code>|</code> erlaubt auch Alternativen, was unterschiedliche Arten von Membern ermöglicht. Besteht eine Regel ausschließlich aus Alternativen, dann wird das in der abstrakten Syntax durch Inheritance abgebildet.</p>
<p>Die Zuweisung <code>=</code> bzw. <code>+=</code> weist das System darüber hinaus an, das Ergebnis des Nichtterminals <code>ID</code> bzw. <code>ClassMember</code> dem abstrakten Element des Nichtterminals zuzuordnen. Das geht entweder als einwertige Eigenschaft (beispielsweise, dass das Ergebnis von <code>ID</code> den Namen bilden soll) oder als mehrwertige Eigenschaft, dass das Ergebnis von <code>ClassMember</code> zur Auflistung <code>members</code> hinzugefügt werden soll.</p>
<p>Aus diesen Zuweisungen lassen sich dann auch Klassen ableiten, um die abstrakten Elemente der Sprache im Speicher darstellen zu können. Sowohl Xtext und Langium als auch AnyText unterstützen den Operator <code>[]</code>, mit dem sich Referenzen abbilden lassen, dass also an einer gegebenen Stelle nur eine Referenz auf ein anderes syntaktisches Element erscheinen soll.</p>
<p>Die Konstruktion des Parsers bleibt zwar weitestgehend vor den Entwicklern verborgen, allerdings haben manche Klassen von Grammatiken Einschränkungen, die Entwickler einer DSL berücksichtigen müssen. So sind die Produktionen bei kontextfreien Grammatiken ungeordnet, bei PEGs aber geordnet, weswegen es konstruktionsbedingt keine Mehrdeutigkeiten gibt. Gängige Parser für kontextfreie Grammatiken unterstützen keine Linksrekursionen, für PEGs aber schon.</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Auswirkungen, ob Alternativen für Produktionen geordnet sind.
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<div class="a-inline-textbox__content-container">
<p>Die Ordnung von Alternativen bedeutet, dass eine Alternative nur dann überhaupt in Betracht gezogen wird, wenn die vorherigen Alternativen fehlschlagen. Das hat zur Folge, dass es niemals Mehrdeutigkeiten geben kann und beispielsweise bei <code>if</code>-Statements in C-ähnlichen Sprachen ein <code>else</code>-Block immer dem inneren <code>if</code> zugeschlagen werden würde. Das kann in vielen Fällen erwünscht sein, weil die Sprache damit niemals mehrdeutig ist, kann aber auch gegen Intuition verstoßen. Beispielsweise matcht die Grammatik <code>S: ‚a’S’a’ | ‚aa’</code> als kontextfreie Grammatik alle Wörter mit einer geraden Anzahl des Buchstabens <code>a</code>, als PEG aber nur Wörter, die nur aus <code>a</code> bestehen und deren Länge eine Zweierpotenz > 1 ist. Gerade wenn man kontextfreie Grammatiken gewohnt ist, ist dieses Verhalten kontraintuitiv. Aus meiner Sicht betrifft das aber nur eher pathologische Fälle.</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<p>Die Unterstützung von Linksrekursionen ist vor allem für Ausdrücke wichtig, da man damit sehr intuitiv Formeln umsetzen kann. Insbesondere sind binäre Ausdrücke selbst Ausdrücke, beginnen aber auch mit einem Ausdruck. Für PEGs haben Warth und andere <a href="#anchor_3">[3]</a> eine Erweiterung von Packrat-Parsern entwickelt, die Linksrekursionen parsen kann, wobei das lineare Laufzeitverhalten von Packrat-Parsern erhalten bleibt.</p>
<p>In AnyText lässt sich daher eine einfache Expression-Grammatik wie in Listing 1 unten dargestellt implementieren. Hierbei überschreibt das Schlüsselwort <code>returns</code>, welche Klasse der abstrakten Syntax das Nichtterminal zurückgibt. Im Beispiel dient es dazu, nicht für jedes einzelne Nichtterminal eine Klasse einführen zu müssen. Das Schlüsselwort <code>enum</code> kommt zum Einsatz, um eine fixe Menge von Werten abzubilden. Ferner beschreibt das Schlüsselwort <code>parantheses</code> ein Nichtterminal für Klammerungen und <code>terminal</code> ein Terminal, dargestellt durch einen regulären Ausdruck.</p>
<!-- RSPEAK_STOP -->
<a-code>
<pre class="rte__tx--listing listing"><code>grammar Expressions (exp)
root Expression
Expression:
AdditiveBinary | Multiplicative;
AdditiveBinary returns BinaryExpression:
left=Expression operator=AdditiveOperator right=Expression;
enum AdditiveOperator returns BinaryOperator:
Add => '+'
Subtract => '-';
Multiplicative returns Expression:
MultiplicativeBinary | LiteralExpression | VariableExpression | ParanthesisExpression;
MultiplicativeBinary returns BinaryExpression:
left=Multiplicative operator=MultiplicativeOperator right=Multiplicative;
enum MultiplicativeOperator returns BinaryOperator:
Multiply => '*'
Divide => '/';
LiteralExpression:
value=Number;
VariableExpression:
variable=Identifier;
parantheses ParanthesisExpression:
'(' Expression ')';
terminal Number returns nmeta.Integer:
/\d+/;
terminal Identifier:
/[a-zA-Z]\w*/;</code></pre>
</a-code>
<!-- RSPEAK_START -->
<p><em></em></p>
<h3 class="subheading" id="nav_ux_interaktionen__3">UX-Interaktionen im Editor über LSP</h3>
<p>LSP ist nicht nur auf das Parsen von Text begrenzt, sondern erlaubt auch praktische Interaktionen mit einem Text in der IDE. Programmiererinnen und Programmierern sind Features wie Code Lenses oder Code Fixes geläufig. Sie erlauben es, Analyseergebnisse wie die Anzahl der Referenzen oder Autor und Datum der letzten Änderung an einer Methode einfach in das Sichtfeld einzublenden. Interaktionen wie Refactorings lassen sich ebenfalls direkt aus dem Code heraus starten.</p>
<p>Zu Features dieser Art gehören:</p>
<ul class="rte__list rte__list--unordered"><li><strong>Diagnostics</strong>: In den seltensten Fällen lassen sich Einschränkungen allein durch die Grammatik ausdrücken, auch domänenspezifische Analysen können auf Fehler hindeuten. Beispielsweise könnte man in einer DSL für Überweisungen eine Analyse des Empfängernamens einbauen und Fehler melden, sollte der Name nicht zur IBAN passen.</li><li><strong>Code Lenses</strong>: Code Lenses können an einer beliebigen Stelle im Text eine beliebige Zeichenkette anzeigen. Damit lassen sich viele Arten von Analysen darstellen. Code Lenses können auch Aktionen anbieten, zum Beispiel öffnet sich beim Klicken auf die Anzeige der Referenzen üblicherweise ein Fenster mit Details. Einige Editoren bieten auch an, Unit Tests per Code Lens zu starten. Recht generisch könnte man Code Lenses verwenden, um in einer DSL den derzeitig beschriebenen Zustand auf ein modelliertes System anzuwenden.</li><li><strong>Code Actions</strong>: Von Editoren wie der Visual-Studio-Familie mit einem Lampensymbol dargestellt, erlauben es Code Actions, zum Kontext passende Interaktionen auszuführen.</li><li><strong>Inlays</strong>: Inlays blenden Texte im Editor ein, die eigentlich gar nicht dort stehen. Während dieses Feature in Programmiersprachen vor allem dazu dient, inferrierte Typsignaturen oder Parameternamen einzublenden, lässt es sich prinzipiell für beliebige Analysen verwenden.</li><li><strong>Hover</strong>: Verweilt ein Nutzer mit der Maus auf einem Token, kann ein LSP-Server Kontextinformationen dazu liefern. Eine sehr clevere Nutzung ist beispielsweise, einen Hovertext für Schlüsselwörter mit Erklärungen dazu anzubieten. Gerade weil eine DSL nur für einen eingeschränkten Nutzerkreis gedacht ist, kann eine solche Unterstützung die Anwendung leichter zugänglich machen.</li></ul>
<p>AnyText macht die Entwicklung dieser Features besonders einfach, indem es für jede Regel in der Grammatik eine Klasse generiert, in der Entwickler meist nur eine entsprechende Methode überschreiben müssen, um das jeweilige Feature zu aktivieren. Aber auch mit Langium oder Xtext lassen sich diese Features einfach nutzen.</p>
<h3 class="subheading" id="nav_fazit__4">Fazit: Alternative UX-Technologie</h3>
<p>Domänenspezifische Sprachen haben neben Formularen oder KI-Agenten einen eigenen Platz als Möglichkeit verdient, mit der Endanwender spezifizieren, welche Probleme der Computer lösen soll. DSLs richten sich dabei vor allem an Expertinnen und Experten, die solche Spezifikationen häufiger verfassen müssen, für die also Produktivität, einfache Versionierbarkeit und Interoperabilität textueller Sprachen besonders vorteilhaft sind.</p>
<p>Dabei hat sich die Entwicklung neuer DSLs durch Innovationen wie das Language Server Protocol und Frameworks wie Langium, Xtext oder AnyText dramatisch vereinfacht. Wo Developer Parser früher per Hand schreiben mussten, können sie diese heute mit Editorunterstützung weitgehend aus der Spezifikation einer Grammatik ableiten, was den Aufwand stark reduziert. Daher sollten DSLs als alternative UX-Technologie durchaus in Betracht gezogen werden.</p>
<h3 class="subheading" id="nav_literaturverzeic__5">Literaturverzeichnis</h3>
<p><a name="anchor_1"></a>[1] M. Eysholdt und H. Behrens, „Xtext: implement your language faster than the quick and dirty way,“ in Proceedings of the ACM International Conference Companion on Object Oriented Programming Systems Languages and Applications Companion, Reno/Tahoe, Nevada, USA, Association for Computing Machinery, 2010, pp. 307–309.</p>
<p><a name="anchor_2"></a>[2] G. Hinkel, A. Hert, N. Hettler und K. Weinert, „AnyText: Incremental, left-recursive Parsing and Pretty-Printing from a single Grammar Definition with first-class LSP support,“ Proceedings of the 18th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2025, pp. 98–111, 12–13 Juni 2025.</p>
<p><a name="anchor_3"></a>[3] A. Warth, J. R. Douglass und T. Millstein, „Packrat parsers can support left recursion,“ in Proceedings of the 2008 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, San Francisco, California, USA, Association for Computing Machinery, 2008, pp. 103–110.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:who@heise.de" title="Wolf Hosbach">who</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11250899"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11250899: Einfache UX für domänenspezifische Sprachen mit VS Code gestalten"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-11T07:41:00.000Z
urn:bid:5060674
2026-04-11T07:23:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Kleine, aber interessante Meldungshäppchen vom News-Buffet zu React Native, Perl, JavaScript, ASP .NET Core, State of Web Dev AI, PHP, Python und OpenJDK.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Developer-tidbits-for-the-weekend-smaller-news-of-the-week-11252297.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FDeveloper-Haeppchen-fuers-Wochenende-Kleinere-News-der-Woche-11251532.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FDeveloper-Haeppchen-fuers-Wochenende-Kleinere-News-der-Woche-11251532.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Developer-Haeppchen-fuers-Wochenende-Kleinere-News-der-Woche-11251532.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Developer-Haeppchen-fuers-Wochenende-Kleinere-News-der-Woche/forum-580847/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/6/0/6/7/4/shutterstock_1308890458-cee11c10e934f531.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/6/0/6/7/4/shutterstock_1308890458-cee11c10e934f531.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/6/7/4/shutterstock_1308890458-cee11c10e934f531.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/6/7/4/shutterstock_1308890458-cee11c10e934f531.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/6/7/4/shutterstock_1308890458-cee11c10e934f531.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/6/7/4/shutterstock_1308890458-cee11c10e934f531.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Mexikanische Häppchen"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Natalia Klenova / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-11T09:23:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>11.04.2026,
</span>
<span class="a-datetime__time ">09:23
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Madeleine-Domogalla-4578408"
class="creator__link"
>Madeleine Domogalla</a></li>
<li class="creator__name"><a
href="http://www.heise.de/autor/Maika-Moebus-4588908"
class="creator__link"
>Maika Möbus</a></li>
<li class="creator__name"><a
href="http://www.heise.de/autor/Matthias-Parbel-4581721"
class="creator__link"
>Matthias Parbel</a></li>
<li class="creator__name"><a
href="http://www.heise.de/autor/Wolf-Hosbach-4581725"
class="creator__link"
>Wolf Hosbach</a></li>
<li class="creator__name"><a
href="http://www.heise.de/autor/Rainald-Menge-Sonnentag-4582362"
class="creator__link"
>Rainald Menge-Sonnentag</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Developer-tidbits-for-the-weekend-smaller-news-of-the-week-11252297.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>In unserem leckeren Häppchen-Überblick servieren wir alles, was es zwar nicht in die News geschafft hat, wir aber dennoch für spannend halten:</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<ul class="rte__list rte__list--unordered"><li><a href="https://devblogs.microsoft.com/react-native/%F0%9F%9A%80react-native-windows-v0-82-is-here/" rel="external noopener" target="_blank">React Native Windows 0.82</a> entfernt die alte Paper-Architektur vollständig und zwingt alle Apps auf die neue Fabric-Architektur als einheitliche Basis. Gleichzeitig ermöglicht das Update erstmals, native XAML-Controls direkt in React-Native-Komponenten einzubinden und verbessert damit Funktionsumfang, Accessibility und Stabilität deutlich.</li><li>PDL (Perl Data Language), eine Erweiterung für Perl, die effizientes numerisches Rechnen mit mehrdimensionalen Arrays ermöglicht, wurde vollständig <a href="https://blogs.perl.org/users/petamem/2026/04/pdl-in-rust----a-native-reimplementation-of-the-perl-data-language.html" rel="external noopener" target="_blank">in Rust neu implementiert</a>. Die neue Version soll die Performance und die Architektur deutlich verbessern und sich nahtlos in eine moderne, JIT-fähige (Just in Time) Perl-Runtime ohne C/XS-Abhängigkeiten integrieren.</li><li>JSIR, eine neue High-Level-Zwischensprache für JavaScript im LLVM-Ökosystem, <a href="https://discourse.llvm.org/t/rfc-jsir-a-high-level-ir-for-javascript/90456" rel="external noopener" target="_blank">führt erstmals eine IR</a> (Intermediate Representation, also eine Zwischenform von Code für Analyse und Optimierung) ein, die AST-Informationen vollständig erhält und offenbar verlustfrei zurück in Quellcode überführt werden kann. Neu sind außerdem integrierte Kontrollfluss- und Dataflow-Analysen auf Basis von MLIR.</li><li>Microsoft kündigt an, dass <a href="https://devblogs.microsoft.com/dotnet/aspnet-core-2-3-end-of-support/" rel="external noopener" target="_blank">ASP.NET Core 2.3 am 7. April 2027 das Support-Ende</a> erreicht und danach keine Sicherheitsupdates, Bugfixes oder Support mehr erhält. Entwickler sollen daher auf eine aktuelle .NET-Version migrieren, da die alte Version weiterhin läuft, aber zunehmend Sicherheitsrisiken birgt.</li></ul>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" has-indicator is-open media="(min-width: 993px)" toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
" data-collapse-trigger>
<span>
Heise-Konferenz: enterJS Integrate AI
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="enterJS Integrate AI" height="720" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/6/0/6/7/4/eJSAI-Teaser-c5fc99f7649b622b.png" style="aspect-ratio: 1280 / 720;" width="1280">
<img alt="enterJS Integrate AI" height="720" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1280 / 720; object-fit: cover;" width="1280">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: Stone Story / stock.adobe.com)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Webanwendungen mit KI anreichern, sodass sie wirklich besser werden? Der Online-Thementag <a href="https://enterjs.de/ai.php?wt_mc=intern.academy.dpunkt.konf_dpunkt_ejs_ai.empfehlung-ho.link.link&LPID=34830" rel="external noopener" target="_blank">enterJS Integrate AI</a> am 28. April 2026 zeigt, wie das geht. <a href="https://enterjs.de/tickets.php?wt_mc=intern.academy.dpunkt.konf_dpunkt_ejs_ai.empfehlung-ho.link.link&LPID=34830#AI" rel="external noopener" target="_blank">Frühbuchertickets nur noch bis 14. April</a> im Online-Ticketshop verfügbar.</p>
</div>
</div>
</div>
</div>
</a-collapse>
<ul class="rte__list rte__list--unordered"><li>So steht es um KI in der Webentwicklung: Die Umfrage <a href="https://survey.devographics.com/en-US/survey/state-of-ai/2026" rel="external noopener" target="_blank">State of Web Dev AI</a> ist eröffnet. Interessierte Webentwicklerinnen und -entwickler können bis zum 10. Mai daran teilnehmen – unabhängig von ihrem Erfahrungslevel und davon, ob sie KI nutzen.</li><li>Das <a href="https://devblogs.microsoft.com/agent-framework/microsoft-agent-framework-version-1-0/" rel="external noopener" target="_blank">Microsoft Agent Framework</a> hat für .NET und Python die Version 1.0 erreicht. Das Open-Source-Projekt für agentische KI-Anwendungen erlaubt unter anderem Multi-Agenten-Orchestrierung und unterstützt das Model Context Protocol (MCP). Im neuen, produktionsreifen Release verspricht Microsoft stabile APIs und Long-Term Support.</li></ul>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5054499" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11229014"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/blog/Konsistenz-ist-eine-fachliche-Entscheidung-11229014.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4174" height="2345" src="https://www.heise.de/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg" style="aspect-ratio:4174 / 2345"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4174" height="2345" style="aspect-ratio:4174 / 2345;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Konsistenz ist eine fachliche Entscheidung</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Kleine, aber interessante Meldungshäppchen vom News-Buffet zu React Native, Perl, JavaScript, ASP .NET Core, State of Web Dev AI, PHP, Python und OpenJDK.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Developer-tidbits-for-the-weekend-smaller-news-of-the-week-11252297.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FDeveloper-Haeppchen-fuers-Wochenende-Kleinere-News-der-Woche-11251532.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FDeveloper-Haeppchen-fuers-Wochenende-Kleinere-News-der-Woche-11251532.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Developer-Haeppchen-fuers-Wochenende-Kleinere-News-der-Woche-11251532.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Developer-Haeppchen-fuers-Wochenende-Kleinere-News-der-Woche/forum-580847/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/6/0/6/7/4/shutterstock_1308890458-cee11c10e934f531.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/6/0/6/7/4/shutterstock_1308890458-cee11c10e934f531.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/6/7/4/shutterstock_1308890458-cee11c10e934f531.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/6/7/4/shutterstock_1308890458-cee11c10e934f531.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/6/7/4/shutterstock_1308890458-cee11c10e934f531.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/6/7/4/shutterstock_1308890458-cee11c10e934f531.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Mexikanische Häppchen"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Natalia Klenova / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-11T09:23:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>11.04.2026,
</span>
<span class="a-datetime__time ">09:23
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Madeleine-Domogalla-4578408"
class="creator__link"
>Madeleine Domogalla</a></li>
<li class="creator__name"><a
href="http://www.heise.de/autor/Maika-Moebus-4588908"
class="creator__link"
>Maika Möbus</a></li>
<li class="creator__name"><a
href="http://www.heise.de/autor/Matthias-Parbel-4581721"
class="creator__link"
>Matthias Parbel</a></li>
<li class="creator__name"><a
href="http://www.heise.de/autor/Wolf-Hosbach-4581725"
class="creator__link"
>Wolf Hosbach</a></li>
<li class="creator__name"><a
href="http://www.heise.de/autor/Rainald-Menge-Sonnentag-4582362"
class="creator__link"
>Rainald Menge-Sonnentag</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Developer-tidbits-for-the-weekend-smaller-news-of-the-week-11252297.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>In unserem leckeren Häppchen-Überblick servieren wir alles, was es zwar nicht in die News geschafft hat, wir aber dennoch für spannend halten:</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<ul class="rte__list rte__list--unordered"><li><a href="https://devblogs.microsoft.com/react-native/%F0%9F%9A%80react-native-windows-v0-82-is-here/" rel="external noopener" target="_blank">React Native Windows 0.82</a> entfernt die alte Paper-Architektur vollständig und zwingt alle Apps auf die neue Fabric-Architektur als einheitliche Basis. Gleichzeitig ermöglicht das Update erstmals, native XAML-Controls direkt in React-Native-Komponenten einzubinden und verbessert damit Funktionsumfang, Accessibility und Stabilität deutlich.</li><li>PDL (Perl Data Language), eine Erweiterung für Perl, die effizientes numerisches Rechnen mit mehrdimensionalen Arrays ermöglicht, wurde vollständig <a href="https://blogs.perl.org/users/petamem/2026/04/pdl-in-rust----a-native-reimplementation-of-the-perl-data-language.html" rel="external noopener" target="_blank">in Rust neu implementiert</a>. Die neue Version soll die Performance und die Architektur deutlich verbessern und sich nahtlos in eine moderne, JIT-fähige (Just in Time) Perl-Runtime ohne C/XS-Abhängigkeiten integrieren.</li><li>JSIR, eine neue High-Level-Zwischensprache für JavaScript im LLVM-Ökosystem, <a href="https://discourse.llvm.org/t/rfc-jsir-a-high-level-ir-for-javascript/90456" rel="external noopener" target="_blank">führt erstmals eine IR</a> (Intermediate Representation, also eine Zwischenform von Code für Analyse und Optimierung) ein, die AST-Informationen vollständig erhält und offenbar verlustfrei zurück in Quellcode überführt werden kann. Neu sind außerdem integrierte Kontrollfluss- und Dataflow-Analysen auf Basis von MLIR.</li><li>Microsoft kündigt an, dass <a href="https://devblogs.microsoft.com/dotnet/aspnet-core-2-3-end-of-support/" rel="external noopener" target="_blank">ASP.NET Core 2.3 am 7. April 2027 das Support-Ende</a> erreicht und danach keine Sicherheitsupdates, Bugfixes oder Support mehr erhält. Entwickler sollen daher auf eine aktuelle .NET-Version migrieren, da die alte Version weiterhin läuft, aber zunehmend Sicherheitsrisiken birgt.</li></ul>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" has-indicator is-open media="(min-width: 993px)" toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
" data-collapse-trigger>
<span>
Heise-Konferenz: enterJS Integrate AI
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="enterJS Integrate AI" height="720" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/6/0/6/7/4/eJSAI-Teaser-c5fc99f7649b622b.png" style="aspect-ratio: 1280 / 720;" width="1280">
<img alt="enterJS Integrate AI" height="720" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1280 / 720; object-fit: cover;" width="1280">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: Stone Story / stock.adobe.com)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Webanwendungen mit KI anreichern, sodass sie wirklich besser werden? Der Online-Thementag <a href="https://enterjs.de/ai.php?wt_mc=intern.academy.dpunkt.konf_dpunkt_ejs_ai.empfehlung-ho.link.link&LPID=34830" rel="external noopener" target="_blank">enterJS Integrate AI</a> am 28. April 2026 zeigt, wie das geht. <a href="https://enterjs.de/tickets.php?wt_mc=intern.academy.dpunkt.konf_dpunkt_ejs_ai.empfehlung-ho.link.link&LPID=34830#AI" rel="external noopener" target="_blank">Frühbuchertickets nur noch bis 14. April</a> im Online-Ticketshop verfügbar.</p>
</div>
</div>
</div>
</div>
</a-collapse>
<ul class="rte__list rte__list--unordered"><li>So steht es um KI in der Webentwicklung: Die Umfrage <a href="https://survey.devographics.com/en-US/survey/state-of-ai/2026" rel="external noopener" target="_blank">State of Web Dev AI</a> ist eröffnet. Interessierte Webentwicklerinnen und -entwickler können bis zum 10. Mai daran teilnehmen – unabhängig von ihrem Erfahrungslevel und davon, ob sie KI nutzen.</li><li>Das <a href="https://devblogs.microsoft.com/agent-framework/microsoft-agent-framework-version-1-0/" rel="external noopener" target="_blank">Microsoft Agent Framework</a> hat für .NET und Python die Version 1.0 erreicht. Das Open-Source-Projekt für agentische KI-Anwendungen erlaubt unter anderem Multi-Agenten-Orchestrierung und unterstützt das Model Context Protocol (MCP). Im neuen, produktionsreifen Release verspricht Microsoft stabile APIs und Long-Term Support.</li></ul>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5054499" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11229014"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/blog/Konsistenz-ist-eine-fachliche-Entscheidung-11229014.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4174" height="2345" src="https://www.heise.de/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg" style="aspect-ratio:4174 / 2345"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4174" height="2345" style="aspect-ratio:4174 / 2345;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Konsistenz ist eine fachliche Entscheidung</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-11T07:23:00.000Z
urn:bid:5060964
2026-04-10T10:09:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Gas Town 1.0.0 orchestriert mehrstufige Entwicklungs-Workflows, härtet Agenten-Sicherheit und unterstützt erstmals Windows.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Gas-Town-controls-what-automated-agents-are-allowed-11252281.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FGas-Town-kontrolliert-was-automatisierte-Agenten-duerfen-11252101.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FGas-Town-kontrolliert-was-automatisierte-Agenten-duerfen-11252101.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Gas-Town-kontrolliert-was-automatisierte-Agenten-duerfen-11252101.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Gas-Town-1-0-0-Agenten-brauchen-jetzt-eine-Freigabe/forum-580810/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>1</span>
<span class="a-u-sr-only">Kommentar lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/6/0/9/6/4/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/6/0/9/6/4/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/9/6/4/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/9/6/4/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/9/6/4/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/9/6/4/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Ein Terminalfenster zeigt Befehle und Statusinformationen eines Mayor-Tools an."
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: heise medien)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-10T12:09:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>10.04.2026,
</span>
<span class="a-datetime__time ">12:09
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Gas-Town-controls-what-automated-agents-are-allowed-11252281.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Gas Town hat Version 1.0.0 erreicht und gilt damit als produktionsreif. Nach 14 Vorabversionen (v0.5.0 bis v0.13.0) bringt das Release vor allem mehr Stabilität, bessere Sicherheit und neue Werkzeuge für die Orchestrierung komplexer Abläufe. Im Mittelpunkt stehen eine Workflow-basierte Ausführung, die direkte Anbindung an GitHub Merge Queues sowie zusätzliche Kontroll- und Schutzmechanismen für automatisierte Systeme.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Gas Town ist ein Open-Source-Projekt, das Entwicklungs- und Automatisierungsprozesse orchestriert – insbesondere mehrstufige, teils agentenbasierte Workflows. Konzepte wie „Formulas“, „Polecats“ oder „Refinery“ stehen für die Verbindung strukturierter Abläufe mit automatisierten Akteuren, die sich in bestehende Entwicklungsumgebungen wie GitHub einfügen. Entwickler arbeiten dazu nur mit einem einzigen, zentralen Agenten zusammen, dem Mayor, der die anderen Agenten selbsttätig ins Leben ruft und orchestriert.</p>
<h3 class="subheading" id="nav_mehrstufige__0">Mehrstufige Workflows und GitHub-Merge-Queue-Anbindung</h3>
<p>Die wichtigste funktionale Neuerung sind Workflow-Formeln. Der neue Typ „workflow“ in <code>gt formula run</code> erlaubt es, mehrstufige, interaktive Abläufe zu definieren und auszuführen. Statt einzelner Befehle lassen sich damit ganze Prozessketten abbilden – etwa Codegenerierung, Testlauf und Pull-Request-Erstellung in einem Durchgang. Für Entwicklungsteams entspricht das einer leichtgewichtigen Workflow-Engine, die besonders bei KI-gestützten Prozessen nützlich ist.</p>
<p>Dazu passend bindet die Komponente „Refinery“ jetzt nativ GitHub Merge Queues an. Mit <code>merge_strategy=pr</code> reiht Gas Town Pull Requests direkt in die Warteschlange ein. GitHub führt Änderungen dann seriell und erst nach erfolgreichem CI-Lauf zusammen. In automatisierten Setups entfällt damit ein guter Teil der eigenen Merge-Logik, gleichzeitig sinkt das Risiko von Konflikten durch parallele Änderungen.</p>
<h3 class="subheading" id="nav_windows_support_1">Windows-Support</h3>
<p>Version 1.0 bringt außerdem einen ersten Windows-Support. Gas Town implementiert dafür plattformspezifisches Signal-Handling, Prozessmanagement und die Nachverfolgung von tmux-Prozesshierarchien. Da sich diese Mechanismen unter Windows grundlegend von Unix unterscheiden, war eine eigene Umsetzung nötig. Teams mit gemischten Betriebssystemlandschaften können Gas Town damit erstmals durchgängig einsetzen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_sicherheit_und__2">Sicherheit und Governance</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Beim Thema Sicherheit bündelt das Release mehrere Maßnahmen. Die Entwickler haben eine SQL-Injection-Lücke in <code>dolt_remotes</code> geschlossen. Ein neuer „PreToolUse“-Guard blockiert kritische Systemeingriffe wie sudo-Aufrufe oder Paketinstallationen. Zusätzlich lehnt Gas Town unsignierte Binärdateien ab. Die Kombination aus Schwachstellenbehebung und Laufzeitkontrollen zielt vor allem auf agentenbasierte Szenarien, in denen automatisierte Akteure potenziell gefährliche Aktionen auslösen könnten.</p>
<p>Neu sind auch „Mayor Approval Gates“ als Governance-Mechanismus. Bevor ein Polecat – also ein ausführendes Modul oder ein Agent – seinen Wirkungsbereich erweitert, braucht er eine Freigabe. Das betrifft etwa den Zugriff auf zusätzliche Ressourcen oder Komponenten. Das Prinzip ähnelt Policy-Engines oder Human-in-the-Loop-Ansätzen und soll verhindern, dass automatisierte Systeme eigenmächtig ihre Berechtigungen ausweiten.</p>
<p>Ein neues Rate-Limit-Watchdog-Plugin rundet das Release ab. Es erkennt HTTP-429-Antworten und stoppt den betroffenen Prozess automatisch. Das verhindert, dass Workflows bei API-Überlastung in Endlosschleifen laufen oder ungewollt hohe Kosten verursachen.</p>
<p>Alle Details zur Version 1.0.0 finden sich in den <a href="https://github.com/gastownhall/gastown/releases/tag/v1.0.0" rel="external noopener" target="_blank">Release Notes auf der GitHub-Projektseite von Gas Town</a>.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5034835" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11190474"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/ratgeber/Framework-Gas-Town-orchestriert-Coding-Agenten-nach-Kubernetes-Vorbild-11190474.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/3/4/8/3/5/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg" alt=", " style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt=", " style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Framework: Gas Town orchestriert Coding-Agenten nach Kubernetes-Vorbild</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/hintergrund/Volle-Kontrolle-Gas-Town-orchestriert-zehn-und-mehr-Coding-Agenten-11177514.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5145" height="2890" src="https://www.heise.de/imgs/18/5/0/2/8/2/8/1/shutterstock_2577774401-ba94896e07ad3037.jpeg" alt="Industrieanlage mit einem Rohr auf dem "Methane" steht" style="aspect-ratio:5145 / 2890"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5145" height="2890" alt="Industrieanlage mit einem Rohr auf dem "Methane" steht" style="aspect-ratio:5145 / 2890;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Gas Town: Mad-Max-inspiriertes Framework für Coding-Agenten</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Gas Town 1.0.0 orchestriert mehrstufige Entwicklungs-Workflows, härtet Agenten-Sicherheit und unterstützt erstmals Windows.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Gas-Town-controls-what-automated-agents-are-allowed-11252281.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FGas-Town-kontrolliert-was-automatisierte-Agenten-duerfen-11252101.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FGas-Town-kontrolliert-was-automatisierte-Agenten-duerfen-11252101.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Gas-Town-kontrolliert-was-automatisierte-Agenten-duerfen-11252101.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Gas-Town-1-0-0-Agenten-brauchen-jetzt-eine-Freigabe/forum-580810/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>1</span>
<span class="a-u-sr-only">Kommentar lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/6/0/9/6/4/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/6/0/9/6/4/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/9/6/4/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/9/6/4/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/9/6/4/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/9/6/4/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Ein Terminalfenster zeigt Befehle und Statusinformationen eines Mayor-Tools an."
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: heise medien)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-10T12:09:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>10.04.2026,
</span>
<span class="a-datetime__time ">12:09
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Gas-Town-controls-what-automated-agents-are-allowed-11252281.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Gas Town hat Version 1.0.0 erreicht und gilt damit als produktionsreif. Nach 14 Vorabversionen (v0.5.0 bis v0.13.0) bringt das Release vor allem mehr Stabilität, bessere Sicherheit und neue Werkzeuge für die Orchestrierung komplexer Abläufe. Im Mittelpunkt stehen eine Workflow-basierte Ausführung, die direkte Anbindung an GitHub Merge Queues sowie zusätzliche Kontroll- und Schutzmechanismen für automatisierte Systeme.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Gas Town ist ein Open-Source-Projekt, das Entwicklungs- und Automatisierungsprozesse orchestriert – insbesondere mehrstufige, teils agentenbasierte Workflows. Konzepte wie „Formulas“, „Polecats“ oder „Refinery“ stehen für die Verbindung strukturierter Abläufe mit automatisierten Akteuren, die sich in bestehende Entwicklungsumgebungen wie GitHub einfügen. Entwickler arbeiten dazu nur mit einem einzigen, zentralen Agenten zusammen, dem Mayor, der die anderen Agenten selbsttätig ins Leben ruft und orchestriert.</p>
<h3 class="subheading" id="nav_mehrstufige__0">Mehrstufige Workflows und GitHub-Merge-Queue-Anbindung</h3>
<p>Die wichtigste funktionale Neuerung sind Workflow-Formeln. Der neue Typ „workflow“ in <code>gt formula run</code> erlaubt es, mehrstufige, interaktive Abläufe zu definieren und auszuführen. Statt einzelner Befehle lassen sich damit ganze Prozessketten abbilden – etwa Codegenerierung, Testlauf und Pull-Request-Erstellung in einem Durchgang. Für Entwicklungsteams entspricht das einer leichtgewichtigen Workflow-Engine, die besonders bei KI-gestützten Prozessen nützlich ist.</p>
<p>Dazu passend bindet die Komponente „Refinery“ jetzt nativ GitHub Merge Queues an. Mit <code>merge_strategy=pr</code> reiht Gas Town Pull Requests direkt in die Warteschlange ein. GitHub führt Änderungen dann seriell und erst nach erfolgreichem CI-Lauf zusammen. In automatisierten Setups entfällt damit ein guter Teil der eigenen Merge-Logik, gleichzeitig sinkt das Risiko von Konflikten durch parallele Änderungen.</p>
<h3 class="subheading" id="nav_windows_support_1">Windows-Support</h3>
<p>Version 1.0 bringt außerdem einen ersten Windows-Support. Gas Town implementiert dafür plattformspezifisches Signal-Handling, Prozessmanagement und die Nachverfolgung von tmux-Prozesshierarchien. Da sich diese Mechanismen unter Windows grundlegend von Unix unterscheiden, war eine eigene Umsetzung nötig. Teams mit gemischten Betriebssystemlandschaften können Gas Town damit erstmals durchgängig einsetzen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_sicherheit_und__2">Sicherheit und Governance</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Beim Thema Sicherheit bündelt das Release mehrere Maßnahmen. Die Entwickler haben eine SQL-Injection-Lücke in <code>dolt_remotes</code> geschlossen. Ein neuer „PreToolUse“-Guard blockiert kritische Systemeingriffe wie sudo-Aufrufe oder Paketinstallationen. Zusätzlich lehnt Gas Town unsignierte Binärdateien ab. Die Kombination aus Schwachstellenbehebung und Laufzeitkontrollen zielt vor allem auf agentenbasierte Szenarien, in denen automatisierte Akteure potenziell gefährliche Aktionen auslösen könnten.</p>
<p>Neu sind auch „Mayor Approval Gates“ als Governance-Mechanismus. Bevor ein Polecat – also ein ausführendes Modul oder ein Agent – seinen Wirkungsbereich erweitert, braucht er eine Freigabe. Das betrifft etwa den Zugriff auf zusätzliche Ressourcen oder Komponenten. Das Prinzip ähnelt Policy-Engines oder Human-in-the-Loop-Ansätzen und soll verhindern, dass automatisierte Systeme eigenmächtig ihre Berechtigungen ausweiten.</p>
<p>Ein neues Rate-Limit-Watchdog-Plugin rundet das Release ab. Es erkennt HTTP-429-Antworten und stoppt den betroffenen Prozess automatisch. Das verhindert, dass Workflows bei API-Überlastung in Endlosschleifen laufen oder ungewollt hohe Kosten verursachen.</p>
<p>Alle Details zur Version 1.0.0 finden sich in den <a href="https://github.com/gastownhall/gastown/releases/tag/v1.0.0" rel="external noopener" target="_blank">Release Notes auf der GitHub-Projektseite von Gas Town</a>.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5034835" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11190474"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/ratgeber/Framework-Gas-Town-orchestriert-Coding-Agenten-nach-Kubernetes-Vorbild-11190474.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/3/4/8/3/5/aufmacher_tools_tipps_gas_town-865470183bc0307b.jpeg" alt=", " style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt=", " style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Framework: Gas Town orchestriert Coding-Agenten nach Kubernetes-Vorbild</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/hintergrund/Volle-Kontrolle-Gas-Town-orchestriert-zehn-und-mehr-Coding-Agenten-11177514.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5145" height="2890" src="https://www.heise.de/imgs/18/5/0/2/8/2/8/1/shutterstock_2577774401-ba94896e07ad3037.jpeg" alt="Industrieanlage mit einem Rohr auf dem "Methane" steht" style="aspect-ratio:5145 / 2890"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5145" height="2890" alt="Industrieanlage mit einem Rohr auf dem "Methane" steht" style="aspect-ratio:5145 / 2890;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Gas Town: Mad-Max-inspiriertes Framework für Coding-Agenten</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-10T10:09:00.000Z
urn:bid:5059525
2026-04-10T07:00:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
In einer File-based App kann man den Kestrel-Webserver auf Basis von ASP.NET Core starten.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/blog/New-in-NET-10-0-18-Web-server-as-a-file-based-app-11249478.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fblog%2FNeu-in-NET-10-0-18-Webserver-als-File-based-App-11249251.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fblog%2FNeu-in-NET-10-0-18-Webserver-als-File-based-App-11249251.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/blog/Neu-in-NET-10-0-18-Webserver-als-File-based-App-11249251.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Neu-in-NET-10-0-18-Webserver-als-File-based-App/forum-580790/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/9/5/2/5/dotnet-sign-b922a1793256c1e8.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/9/5/2/5/dotnet-sign-b922a1793256c1e8.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/5/2/5/dotnet-sign-b922a1793256c1e8.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/5/2/5/dotnet-sign-b922a1793256c1e8.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/5/2/5/dotnet-sign-b922a1793256c1e8.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/5/2/5/dotnet-sign-b922a1793256c1e8.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Verkehrsschild mit Aufschrift .NET"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Pincasso / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-10T09:00:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>10.04.2026,
</span>
<span class="a-datetime__time ">09:00
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
1 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Dr. Holger Schwichtenberg</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/blog/New-in-NET-10-0-18-Web-server-as-a-file-based-app-11249478.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Das direkte Übersetzen und Starten von C#-Dateien <a href="http://www.heise.de/blog/Neu-in-NET-10-0-13-Kompilieren-und-Starten-einzelner-C-Dateien-11201372.html">nennt Microsoft File-based Apps</a>. Es ist auch möglich, einen Kestrel-Webserver innerhalb einer solchen App zu starten. Unten stehendes Beispiel zeigt eine ASP.NET Core Minimal WebAPI als eigenständige C#-Datei. Das Hosting erfolgt in dem in ASP.NET Core <a href="https://www.dotnet-lexikon.de/Kestrel/lex/8826" rel="external noopener" target="_blank">mitgelieferten Webserver Kestrel</a>.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Der Dotnet-Doktor – Holger Schwichtenberg
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Der Dotnet-Doktor – Holger Schwichtenberg" height="724" high-dpi-quality="70" quality="85" src="/imgs/71/3/4/5/1/5/1/2/Schwichtenberg_Holger-fdc6dc0c7fb7af1f.jpg" style="aspect-ratio: 724 / 724;" width="724">
<img alt="Der Dotnet-Doktor – Holger Schwichtenberg" height="724" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 724 / 724; object-fit: cover;" width="724">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<p>In der File-based App wird <code>Microsoft.NET.Sdk.Web</code> als SDK angegeben. Als NuGet-Pakete werden <code>Microsoft.AspNetCore.OpenApi</code> und <code>Humanizer</code> verwendet. Die Ahead-of-Time-Kompilierung, die in File-based Apps Standard ist, ist hier deaktiviert, um Warnungen des JSON-Serialisierers zu vermeiden.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Folgender Code zeigt den Webserver auf Basis von ASP.NET Core mit einem Minimal-WebAPI-Endpunkt und OpenAPI-Metadaten:</p>
<!-- RSPEAK_STOP -->
<a-code language="csharp">
<pre class="rte__tx--listing listing"><code>#:sdk Microsoft.NET.Sdk.Web
#:package Microsoft.AspNetCore.OpenApi@10.*-*
#:package Humanizer@2.14.1
#:property Version=1.1.4
#:property PublishAot=false
using Humanizer;
using Microsoft.OpenApi;
// Webserver einrichten
var builder = WebApplication.CreateBuilder();
builder.Services.AddOpenApi();
var app = builder.Build();
app.MapOpenApi(); // http://localhost:5000/openapi/v1.json
app.MapGet("/", () =>
{
// Daten für Operation
var d = new Data
{
Version = "9.0",
Release = "2024-11-12"
};
var dotNet9Released = DateTimeOffset.Parse(d.Release);
var since = DateTimeOffset.Now - dotNet9Released;
return $"It has been {since.Humanize()} since .NET {d.Version} was released.";
});
app.MapGet("/data", () =>
{
var d = new Data
{
Version = "9.0",
Release = "2024-11-12"
};
return Results.Json(d);
});
app.Run();
class Data
{
/// <summary>
/// Version of the .NET release.
/// </summary>
public string? Version { get; set; }
/// <summary>
/// Release date of the .NET version.
/// </summary>
public string? Release { get; set; }
}
</code></pre>
</a-code>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/9/5/2/5/image9-6da4171c6048d4fe.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/9/5/2/5/image9-6da4171c6048d4fe.png">
<a-img alt="Screenshot Beispielanwendung" height="2009" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/9/5/2/5/image9-6da4171c6048d4fe.png" style="
aspect-ratio: 2042 / 2009;" width="2042">
<img alt="Screenshot Beispielanwendung" height="2009" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 2042 / 2009; object-fit: cover;" width="2042">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Start und Ausgabe des Webservers (Abb. 1)</div>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:rme@ix.de" title="Rainald Menge-Sonnentag">rme</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11249251"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11249251: Neu in .NET 10.0 [18]: Webserver als File-based App"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
In einer File-based App kann man den Kestrel-Webserver auf Basis von ASP.NET Core starten.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/blog/New-in-NET-10-0-18-Web-server-as-a-file-based-app-11249478.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fblog%2FNeu-in-NET-10-0-18-Webserver-als-File-based-App-11249251.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fblog%2FNeu-in-NET-10-0-18-Webserver-als-File-based-App-11249251.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/blog/Neu-in-NET-10-0-18-Webserver-als-File-based-App-11249251.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Neu-in-NET-10-0-18-Webserver-als-File-based-App/forum-580790/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/9/5/2/5/dotnet-sign-b922a1793256c1e8.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/9/5/2/5/dotnet-sign-b922a1793256c1e8.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/5/2/5/dotnet-sign-b922a1793256c1e8.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/5/2/5/dotnet-sign-b922a1793256c1e8.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/5/2/5/dotnet-sign-b922a1793256c1e8.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/5/2/5/dotnet-sign-b922a1793256c1e8.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Verkehrsschild mit Aufschrift .NET"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Pincasso / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-10T09:00:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>10.04.2026,
</span>
<span class="a-datetime__time ">09:00
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
1 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Dr. Holger Schwichtenberg</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/blog/New-in-NET-10-0-18-Web-server-as-a-file-based-app-11249478.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Das direkte Übersetzen und Starten von C#-Dateien <a href="http://www.heise.de/blog/Neu-in-NET-10-0-13-Kompilieren-und-Starten-einzelner-C-Dateien-11201372.html">nennt Microsoft File-based Apps</a>. Es ist auch möglich, einen Kestrel-Webserver innerhalb einer solchen App zu starten. Unten stehendes Beispiel zeigt eine ASP.NET Core Minimal WebAPI als eigenständige C#-Datei. Das Hosting erfolgt in dem in ASP.NET Core <a href="https://www.dotnet-lexikon.de/Kestrel/lex/8826" rel="external noopener" target="_blank">mitgelieferten Webserver Kestrel</a>.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Der Dotnet-Doktor – Holger Schwichtenberg
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Der Dotnet-Doktor – Holger Schwichtenberg" height="724" high-dpi-quality="70" quality="85" src="/imgs/71/3/4/5/1/5/1/2/Schwichtenberg_Holger-fdc6dc0c7fb7af1f.jpg" style="aspect-ratio: 724 / 724;" width="724">
<img alt="Der Dotnet-Doktor – Holger Schwichtenberg" height="724" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 724 / 724; object-fit: cover;" width="724">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<p>In der File-based App wird <code>Microsoft.NET.Sdk.Web</code> als SDK angegeben. Als NuGet-Pakete werden <code>Microsoft.AspNetCore.OpenApi</code> und <code>Humanizer</code> verwendet. Die Ahead-of-Time-Kompilierung, die in File-based Apps Standard ist, ist hier deaktiviert, um Warnungen des JSON-Serialisierers zu vermeiden.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Folgender Code zeigt den Webserver auf Basis von ASP.NET Core mit einem Minimal-WebAPI-Endpunkt und OpenAPI-Metadaten:</p>
<!-- RSPEAK_STOP -->
<a-code language="csharp">
<pre class="rte__tx--listing listing"><code>#:sdk Microsoft.NET.Sdk.Web
#:package Microsoft.AspNetCore.OpenApi@10.*-*
#:package Humanizer@2.14.1
#:property Version=1.1.4
#:property PublishAot=false
using Humanizer;
using Microsoft.OpenApi;
// Webserver einrichten
var builder = WebApplication.CreateBuilder();
builder.Services.AddOpenApi();
var app = builder.Build();
app.MapOpenApi(); // http://localhost:5000/openapi/v1.json
app.MapGet("/", () =>
{
// Daten für Operation
var d = new Data
{
Version = "9.0",
Release = "2024-11-12"
};
var dotNet9Released = DateTimeOffset.Parse(d.Release);
var since = DateTimeOffset.Now - dotNet9Released;
return $"It has been {since.Humanize()} since .NET {d.Version} was released.";
});
app.MapGet("/data", () =>
{
var d = new Data
{
Version = "9.0",
Release = "2024-11-12"
};
return Results.Json(d);
});
app.Run();
class Data
{
/// <summary>
/// Version of the .NET release.
/// </summary>
public string? Version { get; set; }
/// <summary>
/// Release date of the .NET version.
/// </summary>
public string? Release { get; set; }
}
</code></pre>
</a-code>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/9/5/2/5/image9-6da4171c6048d4fe.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/9/5/2/5/image9-6da4171c6048d4fe.png">
<a-img alt="Screenshot Beispielanwendung" height="2009" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/9/5/2/5/image9-6da4171c6048d4fe.png" style="
aspect-ratio: 2042 / 2009;" width="2042">
<img alt="Screenshot Beispielanwendung" height="2009" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 2042 / 2009; object-fit: cover;" width="2042">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Start und Ausgabe des Webservers (Abb. 1)</div>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:rme@ix.de" title="Rainald Menge-Sonnentag">rme</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11249251"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11249251: Neu in .NET 10.0 [18]: Webserver als File-based App"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-10T07:00:00.000Z
urn:bid:5060090
2026-04-09T11:55:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Das Open-Source-IAM-System Keycloak 26.6 befördert fünf Features in den produktiven Status – darunter Federated Client Authentication und Zero-Downtime-Updates.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Keycloak-26-6-brings-zero-downtime-updates-and-workflows-11250686.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FKeycloak-26-6-bringt-Zero-Downtime-Updates-und-Workflows-11250371.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FKeycloak-26-6-bringt-Zero-Downtime-Updates-und-Workflows-11250371.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Keycloak-26-6-bringt-Zero-Downtime-Updates-und-Workflows-11250371.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Keycloak-26-6-0-Fuenf-Preview-Features-werden-produktionsreif/forum-580740/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/6/0/0/9/0/shutterstock_530643055-1129a90533bb99f1.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/6/0/0/9/0/shutterstock_530643055-1129a90533bb99f1.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/0/9/0/shutterstock_530643055-1129a90533bb99f1.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/0/9/0/shutterstock_530643055-1129a90533bb99f1.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/0/9/0/shutterstock_530643055-1129a90533bb99f1.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/0/9/0/shutterstock_530643055-1129a90533bb99f1.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt=""
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: HAKINMHAN / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-09T13:55:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>09.04.2026,
</span>
<span class="a-datetime__time ">13:55
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Matthias-Parbel-4581721"
class="creator__link"
>Matthias Parbel</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Keycloak-26-6-brings-zero-downtime-updates-and-workflows-11250686.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Das Keycloak-Projekt hat Version 26.6.0 des Open-Source-Identity-Providers veröffentlicht. Im Mittelpunkt stehen fünf Features, die den Preview-Status verlassen und nun als vollständig unterstützt gelten. Für Unternehmen, die Keycloak in Kubernetes-Umgebungen betreiben, dürften dabei vor allem die Zero-Downtime-Patch-Releases und die Federated Client Authentication relevant sein.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Die wohl praxisrelevanteste Neuerung <a href="https://www.keycloak.org/2026/04/keycloak-2660-released" rel="external noopener" target="_blank">laut Ankündigung</a>: Patch-Releases lassen sich künftig als Rolling Updates innerhalb eines Minor-Release-Streams einspielen, ohne dass der Dienst unterbrochen wird. Zusammen mit dem ebenfalls verbesserten Graceful HTTP Shutdown, der Fehlermeldungen beim Abschalten einzelner Nodes verhindert, greift das Entwicklungsteam damit eine zentrale Anforderung containerisierter Deployments auf. Um von den Zero-Downtime-Patch-Releases profitieren zu können, genügt es laut Release Notes, die Update-Strategie für den Keycloak Operator auf „Auto“ zu setzen.</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" has-indicator is-open media="(min-width: 993px)" toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
" data-collapse-trigger>
<span>
CLC 2026: Konferenz für DevEx und Platform Engineering
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="" height="1080" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/6/0/0/9/0/CLC-2026-Ticker-Header-16-9-f7196a1e5dbc6837.jpg" style="aspect-ratio: 1920 / 1080;" width="1920">
<img alt="" height="1080" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1920 / 1080; object-fit: cover;" width="1920">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p>Die auf Developer Experience (DX) und Platform Engineering spezialisierte <a href="https://clc-conference.eu/?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_clc.empfehlung-ho.link.link&LPID=35283" rel="external noopener" target="_blank">CLC-Konferenz</a> findet vom 11. bis 12. November 2026 in Mannheim statt. Beim <a href="https://clc-conference.eu/cfp.php?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_clc.empfehlung-ho.link.link&LPID=35283" rel="external noopener" target="_blank">Call for Proposals</a> werden bis zum 21. April Vorschläge für Workshops und Talks gesucht – vor allem Praxisberichte.</p><p><a href="https://clc-conference.eu/?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_clc.empfehlung-ho.link.link&LPID=35283" rel="external noopener" target="_blank">Weitere Informationen finden sich auf der CLC-Website</a>.</p>
</div>
</div>
</div>
</div>
</a-collapse>
<p>Daneben hat das Projekt die Federated Client Authentication in den produktiven Status befördert. Das Feature erlaubt es Clients, vorhandene Credentials eines externen Issuers zu nutzen, sobald eine Vertrauensbeziehung besteht. Individuelle Client-Secrets in Keycloak entfallen damit. Unterstützt werden Client-Assertions externer OpenID-Connect-Identity-Provider sowie Kubernetes Service Accounts. Organisationen mit mehreren Identity-Providern reduzieren so den Verwaltungsaufwand für Secrets erheblich. Die OAuth-SPIFFE-Client-Authentication bleibt allerdings im Preview-Status, da die zugrunde liegende Spezifikation noch nicht finalisiert ist.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_workflows_und__0">Workflows und JWT Authorization Grant</h3>
<p>Mit den nun unterstützten Workflows bringt Keycloak zentrale Funktionen aus dem Bereich Identity Governance and Administration (IGA) mit. Administratoren können Realm-Aufgaben wie das Lifecycle-Management von Benutzern und Clients in YAML-Dateien definieren und anhand von Ereignissen, Bedingungen oder Zeitplänen automatisiert ausführen lassen. Das Release enthält zudem neue Built-in-Steps, einen Troubleshooting-Guide sowie diverse Verbesserungen an der Workflow-Engine.</p>
<p>Auch der JWT Authorization Grant nach <a href="https://datatracker.ietf.org/doc/html/rfc7523" rel="external noopener" target="_blank">RFC 7523</a> gilt nun als produktionsreif. Er ermöglicht den Austausch externer JWT-Assertions gegen OAuth-2.0-Access-Token und hilft somit bei Anwendungsfällen, in denen externe Token in interne überführt werden müssen. Komplettiert wird das Quintett durch das neue Keycloak Test Framework, das den bisherigen Arquillian-basierten Ansatz ablöst.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_experimentelle__1">Experimentelle MCP-Unterstützung und Java 25</h3>
<p>Jenseits der fünf Haupt-Features liefert das Release weitere Neuerungen. Experimentell unterstützt Keycloak nun das OAuth Client ID Metadata Document (CIMD) – ein aufkommender Standard zur Beschreibung von OAuth-2.0-Client-Metadaten. Da das Model Context Protocol (MCP) ab Version 2025-11-25 CIMD voraussetzt, lässt sich Keycloak künftig als Authorization Server für MCP-Szenarien nutzen.</p>
<p>Als Preview erscheinen zudem die Identity Brokering APIs V2, die den Legacy Token Exchange V1 ablösen sollen, sowie Step-up Authentication für das SAML-Protokoll. Organisationen profitieren außerdem von isolierten Gruppenhierarchien pro Organisation, die Namenskonflikte innerhalb eines Realms vermeiden.</p>
<p>Auf der Infrastrukturseite unterstützt Keycloak inzwischen <a href="http://www.heise.de/blog/Java-25-Neue-Features-nicht-so-bekannt-aber-wichtig-10530723.html">OpenJDK 25</a>. Das Container-Image setzt allerdings weiterhin auf Java 21, um FIPS-Kompatibilität zu gewährleisten – für Unternehmen in regulierten Umgebungen bleibt damit alles beim Alten. Bestehende Deployments mit Java 21 sollen unverändert weiter funktionieren. Weitere Verbesserungen betreffen die automatische Truststore-Initialisierung auf Kubernetes und OpenShift, neue Client-Certificate-Lookup-Provider für Traefik und Envoy sowie überarbeitete HTTP-Access-Logs, die sensible Informationen wie Token und Cookies ausfiltern.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="4954013" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="10749295"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/hintergrund/Keycloak-Der-anpassbare-Identity-Provider-im-Ueberblick-10749295.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/4/9/5/4/0/1/3/keycloak_aufmacher2-a60c4cfdf4682ae2.png" alt=", " style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt=", " style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Keycloak: Der anpassbare Identity Provider im Überblick</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Keycloak-26-2-ueberarbeitet-feingranulare-Admin-Berechtigungen-10352464.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="2560" height="1439" src="https://www.heise.de/imgs/18/4/8/3/7/8/6/7/shutterstock_2267597197-66db9e636acb1aee.jpeg" alt="Ein stilisierter Schlüssel" style="aspect-ratio:2560 / 1439"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2560" height="1439" alt="Ein stilisierter Schlüssel" style="aspect-ratio:2560 / 1439;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Keycloak 26.2 überarbeitet feingranulare Admin-Berechtigungen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Das Open-Source-IAM-System Keycloak 26.6 befördert fünf Features in den produktiven Status – darunter Federated Client Authentication und Zero-Downtime-Updates.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Keycloak-26-6-brings-zero-downtime-updates-and-workflows-11250686.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FKeycloak-26-6-bringt-Zero-Downtime-Updates-und-Workflows-11250371.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FKeycloak-26-6-bringt-Zero-Downtime-Updates-und-Workflows-11250371.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Keycloak-26-6-bringt-Zero-Downtime-Updates-und-Workflows-11250371.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Keycloak-26-6-0-Fuenf-Preview-Features-werden-produktionsreif/forum-580740/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/6/0/0/9/0/shutterstock_530643055-1129a90533bb99f1.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/6/0/0/9/0/shutterstock_530643055-1129a90533bb99f1.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/0/9/0/shutterstock_530643055-1129a90533bb99f1.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/0/9/0/shutterstock_530643055-1129a90533bb99f1.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/0/9/0/shutterstock_530643055-1129a90533bb99f1.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/6/0/0/9/0/shutterstock_530643055-1129a90533bb99f1.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt=""
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: HAKINMHAN / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-09T13:55:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>09.04.2026,
</span>
<span class="a-datetime__time ">13:55
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Matthias-Parbel-4581721"
class="creator__link"
>Matthias Parbel</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Keycloak-26-6-brings-zero-downtime-updates-and-workflows-11250686.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Das Keycloak-Projekt hat Version 26.6.0 des Open-Source-Identity-Providers veröffentlicht. Im Mittelpunkt stehen fünf Features, die den Preview-Status verlassen und nun als vollständig unterstützt gelten. Für Unternehmen, die Keycloak in Kubernetes-Umgebungen betreiben, dürften dabei vor allem die Zero-Downtime-Patch-Releases und die Federated Client Authentication relevant sein.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Die wohl praxisrelevanteste Neuerung <a href="https://www.keycloak.org/2026/04/keycloak-2660-released" rel="external noopener" target="_blank">laut Ankündigung</a>: Patch-Releases lassen sich künftig als Rolling Updates innerhalb eines Minor-Release-Streams einspielen, ohne dass der Dienst unterbrochen wird. Zusammen mit dem ebenfalls verbesserten Graceful HTTP Shutdown, der Fehlermeldungen beim Abschalten einzelner Nodes verhindert, greift das Entwicklungsteam damit eine zentrale Anforderung containerisierter Deployments auf. Um von den Zero-Downtime-Patch-Releases profitieren zu können, genügt es laut Release Notes, die Update-Strategie für den Keycloak Operator auf „Auto“ zu setzen.</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" has-indicator is-open media="(min-width: 993px)" toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
" data-collapse-trigger>
<span>
CLC 2026: Konferenz für DevEx und Platform Engineering
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="" height="1080" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/6/0/0/9/0/CLC-2026-Ticker-Header-16-9-f7196a1e5dbc6837.jpg" style="aspect-ratio: 1920 / 1080;" width="1920">
<img alt="" height="1080" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1920 / 1080; object-fit: cover;" width="1920">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p>Die auf Developer Experience (DX) und Platform Engineering spezialisierte <a href="https://clc-conference.eu/?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_clc.empfehlung-ho.link.link&LPID=35283" rel="external noopener" target="_blank">CLC-Konferenz</a> findet vom 11. bis 12. November 2026 in Mannheim statt. Beim <a href="https://clc-conference.eu/cfp.php?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_clc.empfehlung-ho.link.link&LPID=35283" rel="external noopener" target="_blank">Call for Proposals</a> werden bis zum 21. April Vorschläge für Workshops und Talks gesucht – vor allem Praxisberichte.</p><p><a href="https://clc-conference.eu/?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_clc.empfehlung-ho.link.link&LPID=35283" rel="external noopener" target="_blank">Weitere Informationen finden sich auf der CLC-Website</a>.</p>
</div>
</div>
</div>
</div>
</a-collapse>
<p>Daneben hat das Projekt die Federated Client Authentication in den produktiven Status befördert. Das Feature erlaubt es Clients, vorhandene Credentials eines externen Issuers zu nutzen, sobald eine Vertrauensbeziehung besteht. Individuelle Client-Secrets in Keycloak entfallen damit. Unterstützt werden Client-Assertions externer OpenID-Connect-Identity-Provider sowie Kubernetes Service Accounts. Organisationen mit mehreren Identity-Providern reduzieren so den Verwaltungsaufwand für Secrets erheblich. Die OAuth-SPIFFE-Client-Authentication bleibt allerdings im Preview-Status, da die zugrunde liegende Spezifikation noch nicht finalisiert ist.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_workflows_und__0">Workflows und JWT Authorization Grant</h3>
<p>Mit den nun unterstützten Workflows bringt Keycloak zentrale Funktionen aus dem Bereich Identity Governance and Administration (IGA) mit. Administratoren können Realm-Aufgaben wie das Lifecycle-Management von Benutzern und Clients in YAML-Dateien definieren und anhand von Ereignissen, Bedingungen oder Zeitplänen automatisiert ausführen lassen. Das Release enthält zudem neue Built-in-Steps, einen Troubleshooting-Guide sowie diverse Verbesserungen an der Workflow-Engine.</p>
<p>Auch der JWT Authorization Grant nach <a href="https://datatracker.ietf.org/doc/html/rfc7523" rel="external noopener" target="_blank">RFC 7523</a> gilt nun als produktionsreif. Er ermöglicht den Austausch externer JWT-Assertions gegen OAuth-2.0-Access-Token und hilft somit bei Anwendungsfällen, in denen externe Token in interne überführt werden müssen. Komplettiert wird das Quintett durch das neue Keycloak Test Framework, das den bisherigen Arquillian-basierten Ansatz ablöst.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_experimentelle__1">Experimentelle MCP-Unterstützung und Java 25</h3>
<p>Jenseits der fünf Haupt-Features liefert das Release weitere Neuerungen. Experimentell unterstützt Keycloak nun das OAuth Client ID Metadata Document (CIMD) – ein aufkommender Standard zur Beschreibung von OAuth-2.0-Client-Metadaten. Da das Model Context Protocol (MCP) ab Version 2025-11-25 CIMD voraussetzt, lässt sich Keycloak künftig als Authorization Server für MCP-Szenarien nutzen.</p>
<p>Als Preview erscheinen zudem die Identity Brokering APIs V2, die den Legacy Token Exchange V1 ablösen sollen, sowie Step-up Authentication für das SAML-Protokoll. Organisationen profitieren außerdem von isolierten Gruppenhierarchien pro Organisation, die Namenskonflikte innerhalb eines Realms vermeiden.</p>
<p>Auf der Infrastrukturseite unterstützt Keycloak inzwischen <a href="http://www.heise.de/blog/Java-25-Neue-Features-nicht-so-bekannt-aber-wichtig-10530723.html">OpenJDK 25</a>. Das Container-Image setzt allerdings weiterhin auf Java 21, um FIPS-Kompatibilität zu gewährleisten – für Unternehmen in regulierten Umgebungen bleibt damit alles beim Alten. Bestehende Deployments mit Java 21 sollen unverändert weiter funktionieren. Weitere Verbesserungen betreffen die automatische Truststore-Initialisierung auf Kubernetes und OpenShift, neue Client-Certificate-Lookup-Provider für Traefik und Envoy sowie überarbeitete HTTP-Access-Logs, die sensible Informationen wie Token und Cookies ausfiltern.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="4954013" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="10749295"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/hintergrund/Keycloak-Der-anpassbare-Identity-Provider-im-Ueberblick-10749295.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/4/9/5/4/0/1/3/keycloak_aufmacher2-a60c4cfdf4682ae2.png" alt=", " style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt=", " style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Keycloak: Der anpassbare Identity Provider im Überblick</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Keycloak-26-2-ueberarbeitet-feingranulare-Admin-Berechtigungen-10352464.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="2560" height="1439" src="https://www.heise.de/imgs/18/4/8/3/7/8/6/7/shutterstock_2267597197-66db9e636acb1aee.jpeg" alt="Ein stilisierter Schlüssel" style="aspect-ratio:2560 / 1439"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="2560" height="1439" alt="Ein stilisierter Schlüssel" style="aspect-ratio:2560 / 1439;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Keycloak 26.2 überarbeitet feingranulare Admin-Berechtigungen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-09T11:55:00.000Z
urn:bid:5059931
2026-04-09T10:10:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Mit Version 1.3.0 erhält Plane viele wichtigste Updates: Gitea-Login, verbesserte Oberfläche und neue API-Endpunkte kommen für die Open-Source-Jira-Alternative.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Plane-1-3-0-Update-of-the-free-Jira-alternative-11250492.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FPlane-1-3-0-Update-der-freien-Jira-Alternative-11250055.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FPlane-1-3-0-Update-der-freien-Jira-Alternative-11250055.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Plane-1-3-0-Update-der-freien-Jira-Alternative-11250055.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Plane-1-3-0-Update-der-freien-Jira-Alternative/forum-580727/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>7</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/9/9/3/1/Screenshot_2026-04-09_at_10-40-20_Release_v1-09fbfea332d105b8.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/9/9/3/1/Screenshot_2026-04-09_at_10-40-20_Release_v1-09fbfea332d105b8.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/9/3/1/Screenshot_2026-04-09_at_10-40-20_Release_v1-09fbfea332d105b8.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/9/3/1/Screenshot_2026-04-09_at_10-40-20_Release_v1-09fbfea332d105b8.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/9/3/1/Screenshot_2026-04-09_at_10-40-20_Release_v1-09fbfea332d105b8.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/9/3/1/Screenshot_2026-04-09_at_10-40-20_Release_v1-09fbfea332d105b8.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Screenshots von Design-Tools mit Farbpaletten, Textstilen und Abständen."
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Plane)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-09T12:10:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>09.04.2026,
</span>
<span class="a-datetime__time ">12:10
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Plane-1-3-0-Update-of-the-free-Jira-alternative-11250492.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Plane schließt in Version 1.3.0 der freien Community-Version mehrere Sicherheitslücken, bringt neue Integrationen und überarbeitet die Benutzeroberfläche umfassend. Das Release führt unter anderem eine Gitea-Authentifizierung ein, öffnet die API für externe Projektzusammenfassungen und validiert Dateiuploads sowie Projektkennungen strenger. Parallel haben die Entwickler mehrere sicherheitsrelevante Schwachstellen behoben – darunter manipulierbare Rate-Limits für API-Tokens, eine SSRF-Lücke in Webhooks und CSV-Injection beim Datenexport.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Bei Plane handelt es sich um ein quelloffenes Projektmanagement- und Issue-Tracking-System für Entwickler. Es bietet Aufgabenverwaltung, Roadmaps und API-Anbindung und ist als selbst hostbare Alternative zu Jira oder Linear gedacht.</p>
<h3 class="subheading" id="nav_integrationen__0">Integrationen: Gitea-Login und neue API-Endpunkte</h3>
<p>Plane unterstützt ab Version 1.3.0 die Authentifizierung über Gitea. Teams mit selbst gehosteter Git-Infrastruktur können damit Benutzerkonten koppeln oder Single Sign-on einrichten. Neu ist außerdem eine externe Project-Summary-API, über die Drittsysteme Projektübersichten abrufen können – etwa für Dashboards oder Reporting. Webhook-Payloads lassen sich nun zudem lokalisieren.</p>
<p>Projektnamen und -kennungen akzeptieren keine potenziell ausführbaren Sonderzeichen mehr, was Injection-Angriffe erschwert. Im Administrationsmodus verhindert Plane außerdem, dass Admins versehentlich alle Authentifizierungsmethoden deaktivieren. Erweiterte Logs liefern detailliertere Fehlermeldungen bei Authentifizierungsproblemen und erleichtern die Fehlersuche und das Auditing.</p>
<h3 class="subheading" id="nav_überarbeitete__1">Überarbeitete Oberfläche mit einheitlichem Designsystem</h3>
<p>Einen großen Teil des Releases machen Änderungen an der Oberfläche aus. Plane setzt stärker auf Design-Tokens – also zentral definierte Werte für Farben, Abstände und andere UI-Parameter –, die für ein einheitlicheres Erscheinungsbild sorgen. Die Entwickler haben unter anderem die Detailansichten von Work Items, die Sidebar, Kommentare sowie die Workspace- und Mitgliederverwaltung überarbeitet. Dropdowns verhalten sich kontextsensitiver und zeigen ausgewählte Einträge oben an. Neue Ladezustände sorgen für flüssigere Übergänge, überarbeitete Themes und Editor-Farben für mehr visuelle Konsistenz.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Attachments akzeptieren jetzt auch Markdown-Dateien. Eine Zeitzonen-Einstellung auf Workspace-Ebene sorgt dafür, dass neue Projekte automatisch die richtige Zeitzone übernehmen. Die Mention-Suche nutzt jetzt Debouncing und löst damit bei schneller Eingabe weniger API-Anfragen aus. Die Navigation zeigt eingehende Aufgaben (Intake) direkt als Zähler an.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_sicherheit__2">Sicherheit: Mehrere Angriffsvektoren geschlossen</h3>
<p>Im Bereich Sicherheit verhindert eine serverseitige Absicherung nun, dass Angreifer Rate-Limits von API-Tokens manipulieren. Webhook-URLs durchlaufen eine strengere Validierung, um Server-Side Request Forgery (SSRF) zu unterbinden – also Angriffe, bei denen ein Server dazu gebracht wird, interne Ressourcen anzusprechen.</p>
<p>Beim CSV-Export bereinigt Version 1.3.0 eingebettete Formeln, die Tabellenprogramme wie Excel sonst ungefragt ausführen könnten. Zusätzlich blockiert eine neue Upload-Validierung potenziell schädliche Dateien, und der HTTP-Header X-Frame-Options schützt vor Clickjacking.</p>
<p>Bei der Internationalisierung kommt Ukrainisch als neue Sprache hinzu, die russische Übersetzung wurde erweitert. Zahlreiche Bugfixes betreffen den Editor, die Navigation, API-Endpunkte und E-Mail-Templates.</p>
<p>Alle Informationen zum Update finden sich in den <a href="https://github.com/makeplane/plane/releases/tag/v1.3.0" rel="external noopener" target="_blank">Release Notes auf der Projektseite von Plane auf GitHub</a>.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5049738" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11219727"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Entwicklungsplattform-GitLab-18-10-fuehrt-Anmeldung-per-Passkey-ein-11219727.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5497" height="3088" src="https://www.heise.de/imgs/18/5/0/4/9/7/3/8/shutterstock_1833902986-f518a390f7068807.jpeg" alt="Ein gezackter Schlüssel liegt auf einer Laptoptatstatur" style="aspect-ratio:5497 / 3088"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5497" height="3088" alt="Ein gezackter Schlüssel liegt auf einer Laptoptatstatur" style="aspect-ratio:5497 / 3088;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Entwicklungsplattform: GitLab 18.10 führt Anmeldung per Passkey ein</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/GitLab-18-9-Eigene-KI-Modelle-und-KI-gestuetzte-Sicherheitsfeatures-11185242.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6720" height="3776" src="https://www.heise.de/imgs/18/5/0/3/2/1/8/6/shutterstock_1885742917-58c3b29f84941488.jpeg" style="aspect-ratio:6720 / 3776"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6720" height="3776" style="aspect-ratio:6720 / 3776;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">GitLab 18.9: Eigene KI-Modelle und KI-gestützte Sicherheitsfeatures</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Zu-viel-Copilot-Gentoo-wechselt-von-GitHub-zu-Codeberg-11179285.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1402" height="788" src="https://www.heise.de/imgs/18/5/0/2/9/1/7/3/gentoo_codeberg-ddfa7ec678f58053.png" alt="Screenshot Codeberg Repo" style="aspect-ratio:1402 / 788"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1402" height="788" alt="Screenshot Codeberg Repo" style="aspect-ratio:1402 / 788;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Zu viel Copilot: Gentoo wechselt von GitHub zu Codeberg</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/ratgeber/Textprojekte-gemeinsam-stemmen-mit-Git-So-gehen-Dokumentationen-und-mehr-11138148.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/0/8/1/6/8/versionierung_mit_git_aufmacher-ffc879461053dcf9.png" alt=", KI-generiert mit Midjourney" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt=", KI-generiert mit Midjourney" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Textprojekte gemeinsam stemmen mit Git: So gehen Dokumentationen und mehr</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/blog/Merkle-Trees-Datenintegritaet-kryptografisch-beweisen-11088880.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4256" height="2392" src="https://www.heise.de/imgs/18/4/9/8/2/9/5/4/Regenwald-0630309a09a888a1.jpeg" alt="Regenwald" style="aspect-ratio:4256 / 2392"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4256" height="2392" alt="Regenwald" style="aspect-ratio:4256 / 2392;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Merkle-Trees: Datenintegrität kryptografisch beweisen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Mit Version 1.3.0 erhält Plane viele wichtigste Updates: Gitea-Login, verbesserte Oberfläche und neue API-Endpunkte kommen für die Open-Source-Jira-Alternative.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Plane-1-3-0-Update-of-the-free-Jira-alternative-11250492.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FPlane-1-3-0-Update-der-freien-Jira-Alternative-11250055.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FPlane-1-3-0-Update-der-freien-Jira-Alternative-11250055.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Plane-1-3-0-Update-der-freien-Jira-Alternative-11250055.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Plane-1-3-0-Update-der-freien-Jira-Alternative/forum-580727/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>7</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/9/9/3/1/Screenshot_2026-04-09_at_10-40-20_Release_v1-09fbfea332d105b8.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/9/9/3/1/Screenshot_2026-04-09_at_10-40-20_Release_v1-09fbfea332d105b8.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/9/3/1/Screenshot_2026-04-09_at_10-40-20_Release_v1-09fbfea332d105b8.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/9/3/1/Screenshot_2026-04-09_at_10-40-20_Release_v1-09fbfea332d105b8.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/9/3/1/Screenshot_2026-04-09_at_10-40-20_Release_v1-09fbfea332d105b8.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/9/3/1/Screenshot_2026-04-09_at_10-40-20_Release_v1-09fbfea332d105b8.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Screenshots von Design-Tools mit Farbpaletten, Textstilen und Abständen."
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Plane)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-09T12:10:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>09.04.2026,
</span>
<span class="a-datetime__time ">12:10
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Plane-1-3-0-Update-of-the-free-Jira-alternative-11250492.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Plane schließt in Version 1.3.0 der freien Community-Version mehrere Sicherheitslücken, bringt neue Integrationen und überarbeitet die Benutzeroberfläche umfassend. Das Release führt unter anderem eine Gitea-Authentifizierung ein, öffnet die API für externe Projektzusammenfassungen und validiert Dateiuploads sowie Projektkennungen strenger. Parallel haben die Entwickler mehrere sicherheitsrelevante Schwachstellen behoben – darunter manipulierbare Rate-Limits für API-Tokens, eine SSRF-Lücke in Webhooks und CSV-Injection beim Datenexport.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Bei Plane handelt es sich um ein quelloffenes Projektmanagement- und Issue-Tracking-System für Entwickler. Es bietet Aufgabenverwaltung, Roadmaps und API-Anbindung und ist als selbst hostbare Alternative zu Jira oder Linear gedacht.</p>
<h3 class="subheading" id="nav_integrationen__0">Integrationen: Gitea-Login und neue API-Endpunkte</h3>
<p>Plane unterstützt ab Version 1.3.0 die Authentifizierung über Gitea. Teams mit selbst gehosteter Git-Infrastruktur können damit Benutzerkonten koppeln oder Single Sign-on einrichten. Neu ist außerdem eine externe Project-Summary-API, über die Drittsysteme Projektübersichten abrufen können – etwa für Dashboards oder Reporting. Webhook-Payloads lassen sich nun zudem lokalisieren.</p>
<p>Projektnamen und -kennungen akzeptieren keine potenziell ausführbaren Sonderzeichen mehr, was Injection-Angriffe erschwert. Im Administrationsmodus verhindert Plane außerdem, dass Admins versehentlich alle Authentifizierungsmethoden deaktivieren. Erweiterte Logs liefern detailliertere Fehlermeldungen bei Authentifizierungsproblemen und erleichtern die Fehlersuche und das Auditing.</p>
<h3 class="subheading" id="nav_überarbeitete__1">Überarbeitete Oberfläche mit einheitlichem Designsystem</h3>
<p>Einen großen Teil des Releases machen Änderungen an der Oberfläche aus. Plane setzt stärker auf Design-Tokens – also zentral definierte Werte für Farben, Abstände und andere UI-Parameter –, die für ein einheitlicheres Erscheinungsbild sorgen. Die Entwickler haben unter anderem die Detailansichten von Work Items, die Sidebar, Kommentare sowie die Workspace- und Mitgliederverwaltung überarbeitet. Dropdowns verhalten sich kontextsensitiver und zeigen ausgewählte Einträge oben an. Neue Ladezustände sorgen für flüssigere Übergänge, überarbeitete Themes und Editor-Farben für mehr visuelle Konsistenz.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Attachments akzeptieren jetzt auch Markdown-Dateien. Eine Zeitzonen-Einstellung auf Workspace-Ebene sorgt dafür, dass neue Projekte automatisch die richtige Zeitzone übernehmen. Die Mention-Suche nutzt jetzt Debouncing und löst damit bei schneller Eingabe weniger API-Anfragen aus. Die Navigation zeigt eingehende Aufgaben (Intake) direkt als Zähler an.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_sicherheit__2">Sicherheit: Mehrere Angriffsvektoren geschlossen</h3>
<p>Im Bereich Sicherheit verhindert eine serverseitige Absicherung nun, dass Angreifer Rate-Limits von API-Tokens manipulieren. Webhook-URLs durchlaufen eine strengere Validierung, um Server-Side Request Forgery (SSRF) zu unterbinden – also Angriffe, bei denen ein Server dazu gebracht wird, interne Ressourcen anzusprechen.</p>
<p>Beim CSV-Export bereinigt Version 1.3.0 eingebettete Formeln, die Tabellenprogramme wie Excel sonst ungefragt ausführen könnten. Zusätzlich blockiert eine neue Upload-Validierung potenziell schädliche Dateien, und der HTTP-Header X-Frame-Options schützt vor Clickjacking.</p>
<p>Bei der Internationalisierung kommt Ukrainisch als neue Sprache hinzu, die russische Übersetzung wurde erweitert. Zahlreiche Bugfixes betreffen den Editor, die Navigation, API-Endpunkte und E-Mail-Templates.</p>
<p>Alle Informationen zum Update finden sich in den <a href="https://github.com/makeplane/plane/releases/tag/v1.3.0" rel="external noopener" target="_blank">Release Notes auf der Projektseite von Plane auf GitHub</a>.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5049738" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11219727"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Entwicklungsplattform-GitLab-18-10-fuehrt-Anmeldung-per-Passkey-ein-11219727.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5497" height="3088" src="https://www.heise.de/imgs/18/5/0/4/9/7/3/8/shutterstock_1833902986-f518a390f7068807.jpeg" alt="Ein gezackter Schlüssel liegt auf einer Laptoptatstatur" style="aspect-ratio:5497 / 3088"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5497" height="3088" alt="Ein gezackter Schlüssel liegt auf einer Laptoptatstatur" style="aspect-ratio:5497 / 3088;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Entwicklungsplattform: GitLab 18.10 führt Anmeldung per Passkey ein</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/GitLab-18-9-Eigene-KI-Modelle-und-KI-gestuetzte-Sicherheitsfeatures-11185242.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6720" height="3776" src="https://www.heise.de/imgs/18/5/0/3/2/1/8/6/shutterstock_1885742917-58c3b29f84941488.jpeg" style="aspect-ratio:6720 / 3776"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6720" height="3776" style="aspect-ratio:6720 / 3776;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">GitLab 18.9: Eigene KI-Modelle und KI-gestützte Sicherheitsfeatures</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Zu-viel-Copilot-Gentoo-wechselt-von-GitHub-zu-Codeberg-11179285.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1402" height="788" src="https://www.heise.de/imgs/18/5/0/2/9/1/7/3/gentoo_codeberg-ddfa7ec678f58053.png" alt="Screenshot Codeberg Repo" style="aspect-ratio:1402 / 788"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1402" height="788" alt="Screenshot Codeberg Repo" style="aspect-ratio:1402 / 788;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Zu viel Copilot: Gentoo wechselt von GitHub zu Codeberg</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/ratgeber/Textprojekte-gemeinsam-stemmen-mit-Git-So-gehen-Dokumentationen-und-mehr-11138148.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/0/8/1/6/8/versionierung_mit_git_aufmacher-ffc879461053dcf9.png" alt=", KI-generiert mit Midjourney" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt=", KI-generiert mit Midjourney" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Textprojekte gemeinsam stemmen mit Git: So gehen Dokumentationen und mehr</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/blog/Merkle-Trees-Datenintegritaet-kryptografisch-beweisen-11088880.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4256" height="2392" src="https://www.heise.de/imgs/18/4/9/8/2/9/5/4/Regenwald-0630309a09a888a1.jpeg" alt="Regenwald" style="aspect-ratio:4256 / 2392"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4256" height="2392" alt="Regenwald" style="aspect-ratio:4256 / 2392;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Merkle-Trees: Datenintegrität kryptografisch beweisen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-09T10:10:00.000Z
urn:bid:5059234
2026-04-09T09:45:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Patterns of Anarchy: Andrew Harmel-Law und Eberhard Wolff sprechen über anarchistische Ideen, die auf Softwarearchitektur treffen.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2Fsoftware-architektur-tv-Was-Developer-von-anarchistischen-Denkern-lernen-koennen-11248682.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2Fsoftware-architektur-tv-Was-Developer-von-anarchistischen-Denkern-lernen-koennen-11248682.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/software-architektur-tv-Was-Developer-von-anarchistischen-Denkern-lernen-koennen-11248682.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/software-architektur-tv-Was-Developer-von-anarchistischen-Denkern-lernen-koennen/forum-580723/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>2</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/9/2/3/4/anarchy-ee8f8c46c290af1e.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/9/2/3/4/anarchy-ee8f8c46c290af1e.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/2/3/4/anarchy-ee8f8c46c290af1e.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/2/3/4/anarchy-ee8f8c46c290af1e.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/2/3/4/anarchy-ee8f8c46c290af1e.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/2/3/4/anarchy-ee8f8c46c290af1e.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Logo software-architektur.tv: Anarchy: A Solution to Software Development Organizations? with Andrew Harmel-Law"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: software-architektur.tv)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-09T11:45:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>09.04.2026,
</span>
<span class="a-datetime__time ">11:45
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Matthias-Parbel-4581721"
class="creator__link"
>Matthias Parbel</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<p>Andrew Harmel-Law, Tech Principal beim Beratungsunternehmen Thoughtworks, hat eine ungewöhnliche Verbindung zwischen anarchistischer Theorie und moderner Softwarearchitektur aufgedeckt. Ausgangspunkt ist das 1966 erschienene Buch „Patterns of Anarchy“ von Leonard I. Krimerman und Lewis Perry – eine Anthologie anarchistischer Aufsätze, die auch Christopher Alexander als Inspiration für sein einflussreiches Werk „A Pattern Language“ diente.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Harmel-Law stieß auf die Sammlung, weil Alexander sie in <a href="https://en.wikipedia.org/wiki/A_Pattern_Language" rel="external noopener" target="_blank">seinem 1977 veröffentlichten Standardwerk</a> zitierte. Alexanders Konzept der Pattern Language – 253 Entwurfsmuster für Architektur und Städtebau – hat auch die Softwarebranche nachhaltig geprägt. Die berühmten Design Patterns der sogenannten Gang of Four aus dem Jahr 1994 gehen direkt auf Alexanders Arbeit zurück.</p>
<p>Die Anthologie von Krimerman und Perry versammelt Texte zur anarchistischen Tradition und behandelt unter anderem alternative Gemeinschaftsmodelle und Organisationsprogramme. Besonders der Abschnitt „Constructive Anarchism: Alternative Communities and Programs“ widmet sich praktischen Aspekten dezentraler Organisationsformen – ein Thema, das in der Softwareentwicklung aktueller ist denn je. Darüber sprechen Andrew Harmel-Law und Eberhard Wolff in dieser englischsprachigen Folge des Videocasts <a href="https://software-architektur.tv/" rel="external noopener" target="_blank">software-architektur.tv</a>.</p>
<a-opt-in checkbox-text="YouTube-Video immer laden" class=" a-u-inline" type="Youtube">
<div class="opt-in__content-container">
<h2 class="opt-in__title">Empfohlener redaktioneller Inhalt</h2>
<p class="opt-in__description">
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
</p>
<div class="opt-in__cta-container">
<label class="opt-in__cta-persistence">
<input class="opt-in__persistence-checkbox" data-should-persist type="checkbox">
YouTube-Video immer laden
</label>
<button class="opt-in__cta" data-opt-in>YouTube-Video jetzt laden</button>
</div>
<p class="opt-in__footnote">
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden.
Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden.
Mehr dazu in unserer
<a href="https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html">Datenschutzerklärung</a>.
</p>
</div>
</a-opt-in>
<p>Der <a href="https://andrewharmellaw.github.io" rel="external noopener" target="_blank">auf agile Methoden und Domain-Driven Design spezialisierte Berater</a> Andrew Harmel-Law sieht deutliche Parallelen zwischen anarchistischen Organisationsideen und modernen Entwicklungspraktiken. Dezentrale, autonome Strukturen und föderale Entscheidungsprozesse, wie sie anarchistische Denker beschrieben, spiegeln sich in agilen Teams, Open-Source-Communities und selbstorganisierten Entwicklungsgruppen wider. Harmel-Law wird einige der interessantesten Erkenntnisse aus seiner Perspektive als Student des soziotechnischen Organisationsdesigns teilen. Manchmal wird er eigene Kommentare hinzufügen. Und natürlich stellt sich die Frage, inwiefern dies mit Softwareentwicklung zusammenhängt.</p>
<h3 class="subheading" id="nav_livestream_am__0">Livestream am 10. April</h3>
<p>Die Folge wird am Freitag, 10. April 2026, live ab 13 Uhr gestreamt. Während des Livestreams können Interessierte Fragen via Twitch-Chat, YouTube-Chat oder anonym über das <a href="https://software-architektur.tv/" rel="external noopener" target="_blank">Formular auf der Videocast-Seite</a> einbringen.</p>
<p>software-architektur.tv ist ein Videocast von Eberhard Wolff, <a href="http://www.heise.de/developer/Continuous-Architecture-2687847.html" rel="external noopener" target="_blank">iX-Blogger</a> und bekannter Softwarearchitekt, der als Head of Architecture bei SWAGLab arbeitet. Zum Team gehören außerdem <a href="https://www.socreatory.com/de/trainers/lisa-moritz" rel="external noopener" target="_blank">Lisa Maria Schäfer</a> (Socreatory) und <a href="https://techstories.dbsystel.de/blog/profiles/Ralf-D.-Mueller.html" rel="external noopener" target="_blank">Ralf D. Müller</a> (DB Systel). Seit Juni 2020 sind über 250 Folgen entstanden, die unterschiedliche Bereiche der Softwarearchitektur beleuchten – mal mit Gästen, mal Wolff, Schäfer oder Müller solo. Seit mittlerweile mehr als zwei Jahren berichtet heise Developer über die Episoden.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:map@ix.de" title="Matthias Parbel">map</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11248682"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11248682: software-architektur.tv: Was Developer von anarchistischen Denkern lernen können"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Patterns of Anarchy: Andrew Harmel-Law und Eberhard Wolff sprechen über anarchistische Ideen, die auf Softwarearchitektur treffen.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2Fsoftware-architektur-tv-Was-Developer-von-anarchistischen-Denkern-lernen-koennen-11248682.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2Fsoftware-architektur-tv-Was-Developer-von-anarchistischen-Denkern-lernen-koennen-11248682.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/software-architektur-tv-Was-Developer-von-anarchistischen-Denkern-lernen-koennen-11248682.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/software-architektur-tv-Was-Developer-von-anarchistischen-Denkern-lernen-koennen/forum-580723/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>2</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/9/2/3/4/anarchy-ee8f8c46c290af1e.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/9/2/3/4/anarchy-ee8f8c46c290af1e.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/2/3/4/anarchy-ee8f8c46c290af1e.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/2/3/4/anarchy-ee8f8c46c290af1e.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/2/3/4/anarchy-ee8f8c46c290af1e.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/2/3/4/anarchy-ee8f8c46c290af1e.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Logo software-architektur.tv: Anarchy: A Solution to Software Development Organizations? with Andrew Harmel-Law"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: software-architektur.tv)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-09T11:45:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>09.04.2026,
</span>
<span class="a-datetime__time ">11:45
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Matthias-Parbel-4581721"
class="creator__link"
>Matthias Parbel</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<p>Andrew Harmel-Law, Tech Principal beim Beratungsunternehmen Thoughtworks, hat eine ungewöhnliche Verbindung zwischen anarchistischer Theorie und moderner Softwarearchitektur aufgedeckt. Ausgangspunkt ist das 1966 erschienene Buch „Patterns of Anarchy“ von Leonard I. Krimerman und Lewis Perry – eine Anthologie anarchistischer Aufsätze, die auch Christopher Alexander als Inspiration für sein einflussreiches Werk „A Pattern Language“ diente.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Harmel-Law stieß auf die Sammlung, weil Alexander sie in <a href="https://en.wikipedia.org/wiki/A_Pattern_Language" rel="external noopener" target="_blank">seinem 1977 veröffentlichten Standardwerk</a> zitierte. Alexanders Konzept der Pattern Language – 253 Entwurfsmuster für Architektur und Städtebau – hat auch die Softwarebranche nachhaltig geprägt. Die berühmten Design Patterns der sogenannten Gang of Four aus dem Jahr 1994 gehen direkt auf Alexanders Arbeit zurück.</p>
<p>Die Anthologie von Krimerman und Perry versammelt Texte zur anarchistischen Tradition und behandelt unter anderem alternative Gemeinschaftsmodelle und Organisationsprogramme. Besonders der Abschnitt „Constructive Anarchism: Alternative Communities and Programs“ widmet sich praktischen Aspekten dezentraler Organisationsformen – ein Thema, das in der Softwareentwicklung aktueller ist denn je. Darüber sprechen Andrew Harmel-Law und Eberhard Wolff in dieser englischsprachigen Folge des Videocasts <a href="https://software-architektur.tv/" rel="external noopener" target="_blank">software-architektur.tv</a>.</p>
<a-opt-in checkbox-text="YouTube-Video immer laden" class=" a-u-inline" type="Youtube">
<div class="opt-in__content-container">
<h2 class="opt-in__title">Empfohlener redaktioneller Inhalt</h2>
<p class="opt-in__description">
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
</p>
<div class="opt-in__cta-container">
<label class="opt-in__cta-persistence">
<input class="opt-in__persistence-checkbox" data-should-persist type="checkbox">
YouTube-Video immer laden
</label>
<button class="opt-in__cta" data-opt-in>YouTube-Video jetzt laden</button>
</div>
<p class="opt-in__footnote">
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden.
Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden.
Mehr dazu in unserer
<a href="https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html">Datenschutzerklärung</a>.
</p>
</div>
</a-opt-in>
<p>Der <a href="https://andrewharmellaw.github.io" rel="external noopener" target="_blank">auf agile Methoden und Domain-Driven Design spezialisierte Berater</a> Andrew Harmel-Law sieht deutliche Parallelen zwischen anarchistischen Organisationsideen und modernen Entwicklungspraktiken. Dezentrale, autonome Strukturen und föderale Entscheidungsprozesse, wie sie anarchistische Denker beschrieben, spiegeln sich in agilen Teams, Open-Source-Communities und selbstorganisierten Entwicklungsgruppen wider. Harmel-Law wird einige der interessantesten Erkenntnisse aus seiner Perspektive als Student des soziotechnischen Organisationsdesigns teilen. Manchmal wird er eigene Kommentare hinzufügen. Und natürlich stellt sich die Frage, inwiefern dies mit Softwareentwicklung zusammenhängt.</p>
<h3 class="subheading" id="nav_livestream_am__0">Livestream am 10. April</h3>
<p>Die Folge wird am Freitag, 10. April 2026, live ab 13 Uhr gestreamt. Während des Livestreams können Interessierte Fragen via Twitch-Chat, YouTube-Chat oder anonym über das <a href="https://software-architektur.tv/" rel="external noopener" target="_blank">Formular auf der Videocast-Seite</a> einbringen.</p>
<p>software-architektur.tv ist ein Videocast von Eberhard Wolff, <a href="http://www.heise.de/developer/Continuous-Architecture-2687847.html" rel="external noopener" target="_blank">iX-Blogger</a> und bekannter Softwarearchitekt, der als Head of Architecture bei SWAGLab arbeitet. Zum Team gehören außerdem <a href="https://www.socreatory.com/de/trainers/lisa-moritz" rel="external noopener" target="_blank">Lisa Maria Schäfer</a> (Socreatory) und <a href="https://techstories.dbsystel.de/blog/profiles/Ralf-D.-Mueller.html" rel="external noopener" target="_blank">Ralf D. Müller</a> (DB Systel). Seit Juni 2020 sind über 250 Folgen entstanden, die unterschiedliche Bereiche der Softwarearchitektur beleuchten – mal mit Gästen, mal Wolff, Schäfer oder Müller solo. Seit mittlerweile mehr als zwei Jahren berichtet heise Developer über die Episoden.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:map@ix.de" title="Matthias Parbel">map</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11248682"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11248682: software-architektur.tv: Was Developer von anarchistischen Denkern lernen können"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-09T09:45:00.000Z
urn:bid:5059817
2026-04-09T08:29:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Eclipse hawkBit 1.0 ist da und gilt als produktionsreifes Backend für OTA-Updates von IoT-Geräten mit stabilen APIs für den operativen Einsatz.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Eclipse-hawkBit-1-0-Backend-for-IoT-updates-reaches-production-readiness-11250173.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FEclipse-hawkBit-1-0-Backend-fuer-IoT-Updates-erreicht-Produktionsreife-11249828.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FEclipse-hawkBit-1-0-Backend-fuer-IoT-Updates-erreicht-Produktionsreife-11249828.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Eclipse-hawkBit-1-0-Backend-fuer-IoT-Updates-erreicht-Produktionsreife-11249828.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Eclipse-hawkBit-1-0-Backend-fuer-IoT-Updates-erreicht-Produktionsreife/forum-580718/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/9/8/1/7/Innovation-499df6b1400840e0.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/1/7/Innovation-499df6b1400840e0.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/1/7/Innovation-499df6b1400840e0.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/1/7/Innovation-499df6b1400840e0.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/1/7/Innovation-499df6b1400840e0.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/1/7/Innovation-499df6b1400840e0.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt=""
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Peshkova / shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-09T10:29:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>09.04.2026,
</span>
<span class="a-datetime__time ">10:29
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Madeleine-Domogalla-4578408"
class="creator__link"
>Madeleine Domogalla</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Eclipse-hawkBit-1-0-Backend-for-IoT-updates-reaches-production-readiness-11250173.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Mit Version 1.0 hat das Eclipse-Projekt hawkBit einen stabilen Meilenstein erreicht. Die Maintainer stufen das Backend-System für die Verteilung von Software-Updates an IoT-Geräte nun als produktionsreif ein und sichern stabile APIs zu.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Der Fokus des Tools liegt auf sogenannten Over-the-Air-Updates (OTA), also der zentralen Aktualisierung von Geräten im produktiven Einsatz – laut Eclipse Foundation reicht das Spektrum von stark eingeschränkten Edge-Geräten über alle Zwischenstufen bis hin zu leistungsfähigen Gateways.</p>
<h3 class="subheading" id="nav_backend_für__0">Backend für IoT-Rollouts</h3>
<p>Technisch positioniert sich hawkBit als domänenunabhängiges Framework für das Update-Management. Es übernimmt die Orchestrierung von Rollouts, die Verwaltung von Gerätegruppen und die Steuerung von Update-Prozessen. Typische Einsatzfelder sind offenbar Industrieanlagen, Automotive, Smart Buildings oder Telekommunikation.</p>
<p>Für die Integration stellt das Projekt mehrere Schnittstellen bereit:</p>
<ul class="rte__list rte__list--unordered"><li>REST-basierte Device-API (DDI) für direkt angebundene Geräte</li><li>AMQP-Schnittstelle (DMF) für Gateway-Szenarien</li><li>Management-API zur Steuerung und Automatisierung mit Fokus auf Betrieb und Sicherheit</li></ul>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>hawkBit adressiert vor allem Anforderungen aus dem operativen Betrieb größerer IoT-Installationen. Dazu gehören Multi-Tenancy, gestaffelte Rollouts mit definierten Abbruchregeln sowie Freigabe-Workflows. Auch eine rollenbasierte Zugriffskontrolle ist integriert.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Beim Thema Sicherheit setzt das Projekt unter anderem auf gerätespezifische Tokens, mTLS, OAuth 2.0/OIDC und fein granularen Zugriff auf Entitäten.</p>
<h3 class="subheading" id="nav_flexible__1">Flexible Architektur und Ökosystem</h3>
<p>Der Server lässt sich sowohl monolithisch als auch als Microservice-Setup betreiben und horizontal skalieren. Entwicklerinnen und Entwickler können die Plattform selbst hosten und behalten damit die Kontrolle über ihre Update-Infrastruktur. Rund um hawkBit hat sich zudem <a href="https://newsroom.eclipse.org/news/community-news/eclipse-hawkbit%E2%84%A2-10-release" rel="external noopener" target="_blank">laut Ankündigungsbeitrag</a> ein Ökosystem aus Clients und Integrationen gebildet, beispielsweise für Embedded-Linux-Update-Tools, Zephyr RTOS oder LoRaWAN-Server. Auch kommerzielle Angebote bauen auf dem Projekt auf.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5053937" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11227914"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Eclipse-Theia-Community-Release-2026-02-integriert-GitHub-Copilot-11227914.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="9504" height="5340" src="https://www.heise.de/imgs/18/5/0/5/3/9/3/7/shutterstock_1588823989-d40f771db8c8a40c.jpeg" alt="Roboterhand weist auf ein Papier, auf dem eine menschliche Hand mit Stift schreibt. Im Hintergrund ein Richterhammer" style="aspect-ratio:9504 / 5340"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="9504" height="5340" alt="Roboterhand weist auf ein Papier, auf dem eine menschliche Hand mit Stift schreibt. Im Hintergrund ein Richterhammer" style="aspect-ratio:9504 / 5340;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Eclipse Theia: Community-Release 2026-02 integriert GitHub Copilot</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Entwicklungsumgebung-Eclipse-IDE-2026-03-erweitert-das-Java-Refactoring-11207990.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1808" height="1016" src="https://www.heise.de/imgs/18/5/0/4/3/8/2/4/eclipse_2026-3-d4e4eb55716d3444.png" style="aspect-ratio:1808 / 1016"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1808" height="1016" style="aspect-ratio:1808 / 1016;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Eclipse IDE 2026-03: Mehr Refactoring und Templates für Syntax-Highlighting</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Eclipse hawkBit 1.0 ist da und gilt als produktionsreifes Backend für OTA-Updates von IoT-Geräten mit stabilen APIs für den operativen Einsatz.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Eclipse-hawkBit-1-0-Backend-for-IoT-updates-reaches-production-readiness-11250173.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FEclipse-hawkBit-1-0-Backend-fuer-IoT-Updates-erreicht-Produktionsreife-11249828.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FEclipse-hawkBit-1-0-Backend-fuer-IoT-Updates-erreicht-Produktionsreife-11249828.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Eclipse-hawkBit-1-0-Backend-fuer-IoT-Updates-erreicht-Produktionsreife-11249828.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Eclipse-hawkBit-1-0-Backend-fuer-IoT-Updates-erreicht-Produktionsreife/forum-580718/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/9/8/1/7/Innovation-499df6b1400840e0.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/1/7/Innovation-499df6b1400840e0.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/1/7/Innovation-499df6b1400840e0.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/1/7/Innovation-499df6b1400840e0.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/1/7/Innovation-499df6b1400840e0.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/1/7/Innovation-499df6b1400840e0.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt=""
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Peshkova / shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-09T10:29:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>09.04.2026,
</span>
<span class="a-datetime__time ">10:29
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Madeleine-Domogalla-4578408"
class="creator__link"
>Madeleine Domogalla</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Eclipse-hawkBit-1-0-Backend-for-IoT-updates-reaches-production-readiness-11250173.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Mit Version 1.0 hat das Eclipse-Projekt hawkBit einen stabilen Meilenstein erreicht. Die Maintainer stufen das Backend-System für die Verteilung von Software-Updates an IoT-Geräte nun als produktionsreif ein und sichern stabile APIs zu.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Der Fokus des Tools liegt auf sogenannten Over-the-Air-Updates (OTA), also der zentralen Aktualisierung von Geräten im produktiven Einsatz – laut Eclipse Foundation reicht das Spektrum von stark eingeschränkten Edge-Geräten über alle Zwischenstufen bis hin zu leistungsfähigen Gateways.</p>
<h3 class="subheading" id="nav_backend_für__0">Backend für IoT-Rollouts</h3>
<p>Technisch positioniert sich hawkBit als domänenunabhängiges Framework für das Update-Management. Es übernimmt die Orchestrierung von Rollouts, die Verwaltung von Gerätegruppen und die Steuerung von Update-Prozessen. Typische Einsatzfelder sind offenbar Industrieanlagen, Automotive, Smart Buildings oder Telekommunikation.</p>
<p>Für die Integration stellt das Projekt mehrere Schnittstellen bereit:</p>
<ul class="rte__list rte__list--unordered"><li>REST-basierte Device-API (DDI) für direkt angebundene Geräte</li><li>AMQP-Schnittstelle (DMF) für Gateway-Szenarien</li><li>Management-API zur Steuerung und Automatisierung mit Fokus auf Betrieb und Sicherheit</li></ul>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>hawkBit adressiert vor allem Anforderungen aus dem operativen Betrieb größerer IoT-Installationen. Dazu gehören Multi-Tenancy, gestaffelte Rollouts mit definierten Abbruchregeln sowie Freigabe-Workflows. Auch eine rollenbasierte Zugriffskontrolle ist integriert.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Beim Thema Sicherheit setzt das Projekt unter anderem auf gerätespezifische Tokens, mTLS, OAuth 2.0/OIDC und fein granularen Zugriff auf Entitäten.</p>
<h3 class="subheading" id="nav_flexible__1">Flexible Architektur und Ökosystem</h3>
<p>Der Server lässt sich sowohl monolithisch als auch als Microservice-Setup betreiben und horizontal skalieren. Entwicklerinnen und Entwickler können die Plattform selbst hosten und behalten damit die Kontrolle über ihre Update-Infrastruktur. Rund um hawkBit hat sich zudem <a href="https://newsroom.eclipse.org/news/community-news/eclipse-hawkbit%E2%84%A2-10-release" rel="external noopener" target="_blank">laut Ankündigungsbeitrag</a> ein Ökosystem aus Clients und Integrationen gebildet, beispielsweise für Embedded-Linux-Update-Tools, Zephyr RTOS oder LoRaWAN-Server. Auch kommerzielle Angebote bauen auf dem Projekt auf.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5053937" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11227914"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Eclipse-Theia-Community-Release-2026-02-integriert-GitHub-Copilot-11227914.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="9504" height="5340" src="https://www.heise.de/imgs/18/5/0/5/3/9/3/7/shutterstock_1588823989-d40f771db8c8a40c.jpeg" alt="Roboterhand weist auf ein Papier, auf dem eine menschliche Hand mit Stift schreibt. Im Hintergrund ein Richterhammer" style="aspect-ratio:9504 / 5340"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="9504" height="5340" alt="Roboterhand weist auf ein Papier, auf dem eine menschliche Hand mit Stift schreibt. Im Hintergrund ein Richterhammer" style="aspect-ratio:9504 / 5340;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Eclipse Theia: Community-Release 2026-02 integriert GitHub Copilot</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Entwicklungsumgebung-Eclipse-IDE-2026-03-erweitert-das-Java-Refactoring-11207990.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1808" height="1016" src="https://www.heise.de/imgs/18/5/0/4/3/8/2/4/eclipse_2026-3-d4e4eb55716d3444.png" style="aspect-ratio:1808 / 1016"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1808" height="1016" style="aspect-ratio:1808 / 1016;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Eclipse IDE 2026-03: Mehr Refactoring und Templates für Syntax-Highlighting</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-09T08:29:00.000Z
urn:bid:5059844
2026-04-09T07:39:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Die Microsoft-Konten für die Entwickler von VeraCrypt und WireGuard wurden gesperrt. Das verhinderte Updates – die Lösung ist in Sicht.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/VeraCrypt-and-WireGuard-Driver-Signing-Troubles-Solution-in-Sight-11250034.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FVeraCrypt-und-WireGuard-Trubel-bezueglich-Treibersignierung-Loesung-in-Sicht-11249882.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.security.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FVeraCrypt-und-WireGuard-Trubel-bezueglich-Treibersignierung-Loesung-in-Sicht-11249882.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/VeraCrypt-und-WireGuard-Trubel-bezueglich-Treibersignierung-Loesung-in-Sicht-11249882.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.security.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/VeraCrypt-und-WireGuard-Trubel-bezueglich-Treibersignierung-Loesung-in-Sicht/forum-580712/comment/"
class="a-article-action"
name="meldung.security.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>46</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/9/8/4/4/2025-05-14-Collage-Windows-Update-cc39a925b52fd0ec.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/4/4/2025-05-14-Collage-Windows-Update-cc39a925b52fd0ec.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/4/4/2025-05-14-Collage-Windows-Update-cc39a925b52fd0ec.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/4/4/2025-05-14-Collage-Windows-Update-cc39a925b52fd0ec.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/4/4/2025-05-14-Collage-Windows-Update-cc39a925b52fd0ec.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/4/4/2025-05-14-Collage-Windows-Update-cc39a925b52fd0ec.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Zittriges Windows-11-Logo vor Matrix-artigem Code"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Dirk Knop / heise medien)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-09T09:39:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>09.04.2026,
</span>
<span class="a-datetime__time ">09:39
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/security/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Security"
>
Security
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Dirk-Knop-3629568"
class="creator__link"
>Dirk Knop</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/VeraCrypt-and-WireGuard-Driver-Signing-Troubles-Solution-in-Sight-11250034.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Die Entwickler des Laufwerksverschlüsselers VeraCrypt und der VPN-Software WireGuard waren in den letzten Tagen mit dem Umstand konfrontiert, dass <a href="http://www.heise.de/thema/Microsoft">Microsoft</a> ihre Entwickler-Konten gesperrt hat. Dadurch war eine Signierung der Windows-Treiber nicht mehr möglich, was am Ende Softwareupdates unmöglich macht. Aktuelles Windows akzeptiert nur signierte Treiber.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Der VeraCrypt-Entwickler Mounir Idrassi hat das Ende März bereits <a href="https://sourceforge.net/p/veracrypt/discussion/general/thread/9620d7a4b3/" rel="external noopener" target="_blank">im VeraCrypt-Forum thematisiert</a>. Dort beschwerte er sich, dass er keine Benachrichtigung oder Erklärung dazu erhalten hat, dass sein Microsoft-Konto gesperrt wird, mit dem er Bootloader und Windows-Treiber signiere. Idrassi beklagt weiter, dass er versucht hat, Microsoft über diverse Kanäle zu erreichen. Aber stets stieß er auf Bots und automatische Antworten, Kontakt zu Menschen sei unmöglich. </p>
<p>Die aufkommenden Berichte haben den WireGuard-Entwickler dazu veranlasst, seine <a href="https://x.com/EdgeSecurity/status/2041872931576299888" rel="external noopener" target="_blank">ähnliche Erfahrung auf X</a> zu posten. WireGuard hat nach vier Jahren größere Updates für die Windows-Fassung geplant – Modernisierungen und Verbesserungen, Fehlerkorrekturen, neue Funktionen und mehr. Das Release ist jedoch durch die Kontosperrung seitens Microsoft blockiert, der WireGuardNT-Treiber lässt sich nicht signieren. „Anscheinend haben sie eine Richtlinie zur Identitätsprüfung eingeführt, mich aber nicht darüber informiert und dann wohl Konten gesperrt, deren Nutzer die Verifizierung nicht durchgeführt haben“, schreibt er dort.</p>
<h3 class="subheading" id="nav_langwieriger__0">Langwieriger Berufungsprozess</h3>
<p>Der Programmierer führt aus, dass er die Verifikation mittels Personalausweis (ID Card) unmittelbar nachgeholt habe, dafür jedoch ein Berufungsverfahren (Appeal) nötig sei. Dafür muss ein Support-Ticket ausgefüllt werden – was nur mit einem nicht gesperrten Konto geht. Über einen Umweg in Azure und die Weiterleitung an die richtige Abteilung war das in diesem Fall aber lösbar. Das sei nun zwei Wochen her. Microsoft hat ihn informiert, dass der Berufungsprozess 60 Tage dauern kann.</p>
<p>Das könnte im Falle von kritischen Zero-Day-Codeschmuggel-Lücken zumindest problematisch sein, gibt er zu bedenken: „Sorry, du musst 60 Tage warten“. Er glaube jedoch, dass das lediglich ein Fall von überbordender Bürokratie sei, was mal passieren könne. </p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_microsoft__1">Microsoft reagiert, Entwickler bald wieder einsatzfähig</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Auf Anfrage von heise online dazu antwortete Microsoft mit einem <a href="https://x.com/pavandavuluri/status/2042018254680682625" rel="external noopener" target="_blank">Link auf eine Stellungnahme auf X</a>. Das Unternehmen schreibt dort, dass es diese Berichte gesehen hat und die Probleme so schnell wie möglich lösen möchte. Der Präsident der Sparte Windows und Geräte von Microsoft, Pavan Davuluri, erklärt, dass sie den VeraCrypt-Entwickler kontaktiert und mit einem Entwickler namens Jason von WireGuard gesprochen hätten. Die sollten bald wieder einsatzbereit sein. Mounir Idrassi hat das im VeraCrypt-Forum in den frühen Morgenstunden des Donnerstags bestätigt.</p>
<p>Als Hintergrundinformation verweist Microsoft auf einen <a href="https://techcommunity.microsoft.com/blog/hardware-dev-center/action-required-account-verification-for-windows-hardware-program-begins-october/4455452" rel="external noopener" target="_blank">Blog-Beitrag aus dem Oktober 2025</a>. Dort erklärt das Unternehmen, dass die Konto-Verifikation für das Windows-Hardware-Programm am 16. Oktober 2025 startet und insbesondere von den Partnern Maßnahmen erfordert, die keine Verifikation seit dem April 2024 vorgenommen hätten. Pavan Davuluri führt aus, dass Microsoft E-Mails dazu versendet habe, Banner geschaltet und Erinnerungen angezeigt hat. Microsoft wolle jedoch daran arbeiten, die Kommunikation zu verbessern.</p>
<p>Ein Problem könnte vielleicht sein, dass reine <a href="http://www.heise.de/thema/Softwareentwicklung">Software-Entwickler</a> sich nicht unbedingt als Teil des Windows-Hardware-Programms fühlen und entsprechende E-Mails womöglich als fehlgeleitet angesehen haben.</p>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="https://pro.heise.de/security/?LPID=39555_HS1L0001_27416_999_0&amp;wt_mc=disp.fd.security-pro.security_pro24.disp.disp.disp" name="meldung.newsticker.inline.branding_security" title="Jetzt heise security PRO entdecken">
<a-img alt="Jetzt heise security PRO entdecken" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/8/0/5/9/HSP-Kampa-2026_1386x800px-da2d5fade264ec54.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Jetzt heise security PRO entdecken" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Jetzt heise security PRO entdecken" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/8/0/5/9/HSP-Kampa-2026_2927x800px-e80ba1d23903c359.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Jetzt heise security PRO entdecken" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:dmk@heise.de" title="Dirk Knop">dmk</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11249882"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11249882: VeraCrypt und WireGuard: Trubel bezüglich Treibersignierung, Lösung in Sicht"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Die Microsoft-Konten für die Entwickler von VeraCrypt und WireGuard wurden gesperrt. Das verhinderte Updates – die Lösung ist in Sicht.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/VeraCrypt-and-WireGuard-Driver-Signing-Troubles-Solution-in-Sight-11250034.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FVeraCrypt-und-WireGuard-Trubel-bezueglich-Treibersignierung-Loesung-in-Sicht-11249882.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.security.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FVeraCrypt-und-WireGuard-Trubel-bezueglich-Treibersignierung-Loesung-in-Sicht-11249882.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/VeraCrypt-und-WireGuard-Trubel-bezueglich-Treibersignierung-Loesung-in-Sicht-11249882.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.security.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/VeraCrypt-und-WireGuard-Trubel-bezueglich-Treibersignierung-Loesung-in-Sicht/forum-580712/comment/"
class="a-article-action"
name="meldung.security.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>46</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/9/8/4/4/2025-05-14-Collage-Windows-Update-cc39a925b52fd0ec.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/4/4/2025-05-14-Collage-Windows-Update-cc39a925b52fd0ec.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/4/4/2025-05-14-Collage-Windows-Update-cc39a925b52fd0ec.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/4/4/2025-05-14-Collage-Windows-Update-cc39a925b52fd0ec.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/4/4/2025-05-14-Collage-Windows-Update-cc39a925b52fd0ec.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/8/4/4/2025-05-14-Collage-Windows-Update-cc39a925b52fd0ec.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Zittriges Windows-11-Logo vor Matrix-artigem Code"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Dirk Knop / heise medien)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-09T09:39:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>09.04.2026,
</span>
<span class="a-datetime__time ">09:39
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/security/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Security"
>
Security
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Dirk-Knop-3629568"
class="creator__link"
>Dirk Knop</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/VeraCrypt-and-WireGuard-Driver-Signing-Troubles-Solution-in-Sight-11250034.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Die Entwickler des Laufwerksverschlüsselers VeraCrypt und der VPN-Software WireGuard waren in den letzten Tagen mit dem Umstand konfrontiert, dass <a href="http://www.heise.de/thema/Microsoft">Microsoft</a> ihre Entwickler-Konten gesperrt hat. Dadurch war eine Signierung der Windows-Treiber nicht mehr möglich, was am Ende Softwareupdates unmöglich macht. Aktuelles Windows akzeptiert nur signierte Treiber.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Der VeraCrypt-Entwickler Mounir Idrassi hat das Ende März bereits <a href="https://sourceforge.net/p/veracrypt/discussion/general/thread/9620d7a4b3/" rel="external noopener" target="_blank">im VeraCrypt-Forum thematisiert</a>. Dort beschwerte er sich, dass er keine Benachrichtigung oder Erklärung dazu erhalten hat, dass sein Microsoft-Konto gesperrt wird, mit dem er Bootloader und Windows-Treiber signiere. Idrassi beklagt weiter, dass er versucht hat, Microsoft über diverse Kanäle zu erreichen. Aber stets stieß er auf Bots und automatische Antworten, Kontakt zu Menschen sei unmöglich. </p>
<p>Die aufkommenden Berichte haben den WireGuard-Entwickler dazu veranlasst, seine <a href="https://x.com/EdgeSecurity/status/2041872931576299888" rel="external noopener" target="_blank">ähnliche Erfahrung auf X</a> zu posten. WireGuard hat nach vier Jahren größere Updates für die Windows-Fassung geplant – Modernisierungen und Verbesserungen, Fehlerkorrekturen, neue Funktionen und mehr. Das Release ist jedoch durch die Kontosperrung seitens Microsoft blockiert, der WireGuardNT-Treiber lässt sich nicht signieren. „Anscheinend haben sie eine Richtlinie zur Identitätsprüfung eingeführt, mich aber nicht darüber informiert und dann wohl Konten gesperrt, deren Nutzer die Verifizierung nicht durchgeführt haben“, schreibt er dort.</p>
<h3 class="subheading" id="nav_langwieriger__0">Langwieriger Berufungsprozess</h3>
<p>Der Programmierer führt aus, dass er die Verifikation mittels Personalausweis (ID Card) unmittelbar nachgeholt habe, dafür jedoch ein Berufungsverfahren (Appeal) nötig sei. Dafür muss ein Support-Ticket ausgefüllt werden – was nur mit einem nicht gesperrten Konto geht. Über einen Umweg in Azure und die Weiterleitung an die richtige Abteilung war das in diesem Fall aber lösbar. Das sei nun zwei Wochen her. Microsoft hat ihn informiert, dass der Berufungsprozess 60 Tage dauern kann.</p>
<p>Das könnte im Falle von kritischen Zero-Day-Codeschmuggel-Lücken zumindest problematisch sein, gibt er zu bedenken: „Sorry, du musst 60 Tage warten“. Er glaube jedoch, dass das lediglich ein Fall von überbordender Bürokratie sei, was mal passieren könne. </p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_microsoft__1">Microsoft reagiert, Entwickler bald wieder einsatzfähig</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Auf Anfrage von heise online dazu antwortete Microsoft mit einem <a href="https://x.com/pavandavuluri/status/2042018254680682625" rel="external noopener" target="_blank">Link auf eine Stellungnahme auf X</a>. Das Unternehmen schreibt dort, dass es diese Berichte gesehen hat und die Probleme so schnell wie möglich lösen möchte. Der Präsident der Sparte Windows und Geräte von Microsoft, Pavan Davuluri, erklärt, dass sie den VeraCrypt-Entwickler kontaktiert und mit einem Entwickler namens Jason von WireGuard gesprochen hätten. Die sollten bald wieder einsatzbereit sein. Mounir Idrassi hat das im VeraCrypt-Forum in den frühen Morgenstunden des Donnerstags bestätigt.</p>
<p>Als Hintergrundinformation verweist Microsoft auf einen <a href="https://techcommunity.microsoft.com/blog/hardware-dev-center/action-required-account-verification-for-windows-hardware-program-begins-october/4455452" rel="external noopener" target="_blank">Blog-Beitrag aus dem Oktober 2025</a>. Dort erklärt das Unternehmen, dass die Konto-Verifikation für das Windows-Hardware-Programm am 16. Oktober 2025 startet und insbesondere von den Partnern Maßnahmen erfordert, die keine Verifikation seit dem April 2024 vorgenommen hätten. Pavan Davuluri führt aus, dass Microsoft E-Mails dazu versendet habe, Banner geschaltet und Erinnerungen angezeigt hat. Microsoft wolle jedoch daran arbeiten, die Kommunikation zu verbessern.</p>
<p>Ein Problem könnte vielleicht sein, dass reine <a href="http://www.heise.de/thema/Softwareentwicklung">Software-Entwickler</a> sich nicht unbedingt als Teil des Windows-Hardware-Programms fühlen und entsprechende E-Mails womöglich als fehlgeleitet angesehen haben.</p>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="https://pro.heise.de/security/?LPID=39555_HS1L0001_27416_999_0&amp;wt_mc=disp.fd.security-pro.security_pro24.disp.disp.disp" name="meldung.newsticker.inline.branding_security" title="Jetzt heise security PRO entdecken">
<a-img alt="Jetzt heise security PRO entdecken" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/8/0/5/9/HSP-Kampa-2026_1386x800px-da2d5fade264ec54.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Jetzt heise security PRO entdecken" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Jetzt heise security PRO entdecken" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/8/0/5/9/HSP-Kampa-2026_2927x800px-e80ba1d23903c359.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Jetzt heise security PRO entdecken" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:dmk@heise.de" title="Dirk Knop">dmk</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11249882"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11249882: VeraCrypt und WireGuard: Trubel bezüglich Treibersignierung, Lösung in Sicht"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-09T07:39:00.000Z
urn:bid:5059661
2026-04-09T06:53:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Ink 7.0 überarbeitet das Input-Handling und bringt neue Hooks für Animation, Paste und responsive Layouts. Voraussetzung sind jetzt Node.js 22 und React 19.2.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/React-in-the-Terminal-Ink-7-0-fundamentally-revises-input-handling-11249949.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FReact-im-Terminal-Ink-7-0-ueberarbeitet-Input-Handling-grundlegend-11249521.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FReact-im-Terminal-Ink-7-0-ueberarbeitet-Input-Handling-grundlegend-11249521.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/React-im-Terminal-Ink-7-0-ueberarbeitet-Input-Handling-grundlegend-11249521.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/React-im-Terminal-Ink-7-0-ueberarbeitet-Input-Handling-grundlegend/forum-580705/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/9/6/6/1/ink-76db18765fda29be.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/9/6/6/1/ink-76db18765fda29be.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/6/6/1/ink-76db18765fda29be.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/6/6/1/ink-76db18765fda29be.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/6/6/1/ink-76db18765fda29be.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/6/6/1/ink-76db18765fda29be.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Pixelgrafik der Buchstaben I, N und K in Regenbogenfarben auf schwarzem Hintergrund."
width="610"
height="343"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Ink)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-09T08:53:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>09.04.2026,
</span>
<span class="a-datetime__time ">08:53
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/React-in-the-Terminal-Ink-7-0-fundamentally-revises-input-handling-11249949.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Mit Version 7.0.0 hebt die React-basierte CLI-Bibliothek Ink ihre Mindestanforderungen deutlich an und überarbeitet das Input-Handling grundlegend. Gleichzeitig kommen neue APIs für Interaktivität, Layout und Animation hinzu. Die Maintainer setzen künftig <a href="http://www.heise.de/blog/Node-js-22-Lass-uns-Freunde-bleiben-9708771.html">Node.js 22</a> und React ab Version 19.2 voraus. Die Änderungen erfordern Anpassungen in bestehenden Projekten, ermöglichen aber auch komplexere Terminal-UIs.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Mit Ink lassen sich interaktive Kommandozeilenanwendungen deklarativ mit React-Komponenten entwickeln. Statt direkt mit ANSI-Escape-Sequenzen und Low-Level-Terminal-APIs zu arbeiten, definieren Entwickler ihre CLI-Oberflächen ähnlich wie Web-UIs – mit State-Management, Komponentenstruktur und Hooks.</p>
<h3 class="subheading" id="nav_breaking__0">Breaking Changes im Input-Handling</h3>
<p>Intern nutzt Ink nun Reacts <code>useEffectEvent</code>, um zu vermeiden, dass sich Input-Handler bei jedem Render neu registrieren. Das stabilisiert das Event-Handling und reduziert Performance-Overhead.</p>
<p>Auch bei der Verarbeitung von Tastatureingaben gibt es Korrekturen. So unterscheidet Ink nun sauber zwischen <code>key.backspace</code> und <code>key.delete</code>. Viele Terminals senden für beide Tasten identische Byte-Sequenzen, was bislang zu Fehlinterpretationen führte. Wer bisher auf <code>key.delete</code> reagiert hat, um Backspace abzufangen, muss seine Logik anpassen. Außerdem setzt Ink <code>key.meta</code> nicht mehr beim Drücken der Escape-Taste: <code>key.meta</code> steht jetzt ausschließlich für Alt-/Meta-Kombinationen, <code>key.escape</code> wird separat ausgewiesen.</p>
<h3 class="subheading" id="nav_neue_hooks_für__1">Neue Hooks für Interaktivität und Animation</h3>
<p>Der neue Hook <code>usePaste</code> behandelt eingefügten Text aus der Zwischenablage als eigenständiges Ereignis. Dafür aktiviert Ink den Bracketed-Paste-Modus des Terminals, sodass eingefügter Text als zusammenhängender String ankommt. Ohne diesen Modus würde ein Paste-Vorgang als Serie einzelner Keypress-Events erscheinen – das ist problematisch etwa bei Eingabefeldern oder REPL-artigen Interfaces.</p>
<p>Für responsive Layouts liefert der neue Hook <code>useWindowSize</code> die aktuelle Terminalgröße in Spalten und Zeilen und löst bei Änderungen automatisch ein Re-Render aus. So lassen sich etwa Tabellen oder Layouts dynamisch an unterschiedliche Terminalgrößen anpassen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Mit <code>useBoxMetrics</code> ermitteln Entwickler zur Laufzeit die tatsächlichen Dimensionen von Layout-Containern – vergleichbar mit DOM-Messungen im Browser. Das führt zu präziserer Layout-Logik, wenn Inhalte abhängig von der gerenderten Größe positioniert oder gekürzt werden müssen.</p>
<p>Der Hook <code>useAnimation</code> bringt einen integrierten Animationsmechanismus mit. Er stellt einen Frame-Zähler bereit, der in konfigurierbaren Intervallen hochzählt und sich pausieren lässt. Beim Unmount räumt er automatisch auf. Typische Einsatzfälle sind Spinner, Fortschrittsanzeigen oder ASCII-Animationen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_rendering_und__2">Rendering und Layout-Erweiterungen</h3>
<p>Beim Rendering kommt ein Alternate-Screen-Modus hinzu. Aktiviert man ihn beim Aufruf von <code>render()</code>, nutzt die Anwendung den zweiten Bildschirmpuffer des Terminals – ein Verhalten, das von Programmen wie Vim oder less bekannt ist. Nach dem Beenden stellt das Terminal den ursprünglichen Inhalt wieder her. Ergänzend lässt sich mit der neuen Option <code>interactive</code> die automatische Erkennung interaktiver Umgebungen überschreiben, etwa für CI-Pipelines oder Pipe-Szenarien.</p>
<p>Das Layout-System erhält ebenfalls Erweiterungen. Die Komponente <code><Box></code> unterstützt jetzt <code>aspectRatio</code>, <code>alignContent</code>, <code>position="static"</code> sowie Positionsangaben wie <code>top</code>, <code>right</code>, <code>bottom</code> und <code>left</code>. Dazu kommen <code>maxWidth</code> und <code>maxHeight</code>. Mit <code>borderBackgroundColor</code> lässt sich erstmals die Hintergrundfarbe von Rahmen unabhängig vom Inhalt setzen. Für Text führt Ink die Option <code>wrap="hard"</code> ein: Sie füllt Zeilen strikt auf die verfügbare Breite auf und bricht dabei auch mitten im Wort um – nützlich für tabellarische oder streng ausgerichtete Monospace-Layouts.</p>
<p>Im Fokus-Management liefert der Hook <code>useFocusManager</code> nun zusätzlich die ID des aktuell fokussierten Elements. Das erleichtert die Steuerung komplexerer Interaktionen und die Fehlersuche.</p>
<h3 class="subheading" id="nav_bugfixes_3">Bugfixes</h3>
<p>Neben den funktionalen Neuerungen behebt Version 7.0.0 mehrere Stabilitätsprobleme. Dazu zählen Darstellungsfehler bei CJK-Texten und Emojis, Abstürze bei unbekannten Keycodes im Input-Handling sowie Rendering-Fehler bei abschließenden Zeilenumbrüchen und überlappenden Schreibvorgängen.</p>
<p>Alle Informationen zur neuen Version 7.0.0 finden sich in den <a href="https://github.com/vadimdemedes/ink/releases/tag/v7.0.0" rel="external noopener" target="_blank">Release Notes auf der GitHub-Projektseite von Ink</a>.</p>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:fo@heise.de" title="Moritz Förster">fo</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11249521"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11249521: React im Terminal: Ink 7.0 überarbeitet Input-Handling grundlegend"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Ink 7.0 überarbeitet das Input-Handling und bringt neue Hooks für Animation, Paste und responsive Layouts. Voraussetzung sind jetzt Node.js 22 und React 19.2.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/React-in-the-Terminal-Ink-7-0-fundamentally-revises-input-handling-11249949.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FReact-im-Terminal-Ink-7-0-ueberarbeitet-Input-Handling-grundlegend-11249521.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FReact-im-Terminal-Ink-7-0-ueberarbeitet-Input-Handling-grundlegend-11249521.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/React-im-Terminal-Ink-7-0-ueberarbeitet-Input-Handling-grundlegend-11249521.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/React-im-Terminal-Ink-7-0-ueberarbeitet-Input-Handling-grundlegend/forum-580705/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/9/6/6/1/ink-76db18765fda29be.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/9/6/6/1/ink-76db18765fda29be.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/6/6/1/ink-76db18765fda29be.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/6/6/1/ink-76db18765fda29be.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/6/6/1/ink-76db18765fda29be.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/9/6/6/1/ink-76db18765fda29be.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Pixelgrafik der Buchstaben I, N und K in Regenbogenfarben auf schwarzem Hintergrund."
width="610"
height="343"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Ink)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-09T08:53:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>09.04.2026,
</span>
<span class="a-datetime__time ">08:53
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/React-in-the-Terminal-Ink-7-0-fundamentally-revises-input-handling-11249949.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Mit Version 7.0.0 hebt die React-basierte CLI-Bibliothek Ink ihre Mindestanforderungen deutlich an und überarbeitet das Input-Handling grundlegend. Gleichzeitig kommen neue APIs für Interaktivität, Layout und Animation hinzu. Die Maintainer setzen künftig <a href="http://www.heise.de/blog/Node-js-22-Lass-uns-Freunde-bleiben-9708771.html">Node.js 22</a> und React ab Version 19.2 voraus. Die Änderungen erfordern Anpassungen in bestehenden Projekten, ermöglichen aber auch komplexere Terminal-UIs.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Mit Ink lassen sich interaktive Kommandozeilenanwendungen deklarativ mit React-Komponenten entwickeln. Statt direkt mit ANSI-Escape-Sequenzen und Low-Level-Terminal-APIs zu arbeiten, definieren Entwickler ihre CLI-Oberflächen ähnlich wie Web-UIs – mit State-Management, Komponentenstruktur und Hooks.</p>
<h3 class="subheading" id="nav_breaking__0">Breaking Changes im Input-Handling</h3>
<p>Intern nutzt Ink nun Reacts <code>useEffectEvent</code>, um zu vermeiden, dass sich Input-Handler bei jedem Render neu registrieren. Das stabilisiert das Event-Handling und reduziert Performance-Overhead.</p>
<p>Auch bei der Verarbeitung von Tastatureingaben gibt es Korrekturen. So unterscheidet Ink nun sauber zwischen <code>key.backspace</code> und <code>key.delete</code>. Viele Terminals senden für beide Tasten identische Byte-Sequenzen, was bislang zu Fehlinterpretationen führte. Wer bisher auf <code>key.delete</code> reagiert hat, um Backspace abzufangen, muss seine Logik anpassen. Außerdem setzt Ink <code>key.meta</code> nicht mehr beim Drücken der Escape-Taste: <code>key.meta</code> steht jetzt ausschließlich für Alt-/Meta-Kombinationen, <code>key.escape</code> wird separat ausgewiesen.</p>
<h3 class="subheading" id="nav_neue_hooks_für__1">Neue Hooks für Interaktivität und Animation</h3>
<p>Der neue Hook <code>usePaste</code> behandelt eingefügten Text aus der Zwischenablage als eigenständiges Ereignis. Dafür aktiviert Ink den Bracketed-Paste-Modus des Terminals, sodass eingefügter Text als zusammenhängender String ankommt. Ohne diesen Modus würde ein Paste-Vorgang als Serie einzelner Keypress-Events erscheinen – das ist problematisch etwa bei Eingabefeldern oder REPL-artigen Interfaces.</p>
<p>Für responsive Layouts liefert der neue Hook <code>useWindowSize</code> die aktuelle Terminalgröße in Spalten und Zeilen und löst bei Änderungen automatisch ein Re-Render aus. So lassen sich etwa Tabellen oder Layouts dynamisch an unterschiedliche Terminalgrößen anpassen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Mit <code>useBoxMetrics</code> ermitteln Entwickler zur Laufzeit die tatsächlichen Dimensionen von Layout-Containern – vergleichbar mit DOM-Messungen im Browser. Das führt zu präziserer Layout-Logik, wenn Inhalte abhängig von der gerenderten Größe positioniert oder gekürzt werden müssen.</p>
<p>Der Hook <code>useAnimation</code> bringt einen integrierten Animationsmechanismus mit. Er stellt einen Frame-Zähler bereit, der in konfigurierbaren Intervallen hochzählt und sich pausieren lässt. Beim Unmount räumt er automatisch auf. Typische Einsatzfälle sind Spinner, Fortschrittsanzeigen oder ASCII-Animationen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_rendering_und__2">Rendering und Layout-Erweiterungen</h3>
<p>Beim Rendering kommt ein Alternate-Screen-Modus hinzu. Aktiviert man ihn beim Aufruf von <code>render()</code>, nutzt die Anwendung den zweiten Bildschirmpuffer des Terminals – ein Verhalten, das von Programmen wie Vim oder less bekannt ist. Nach dem Beenden stellt das Terminal den ursprünglichen Inhalt wieder her. Ergänzend lässt sich mit der neuen Option <code>interactive</code> die automatische Erkennung interaktiver Umgebungen überschreiben, etwa für CI-Pipelines oder Pipe-Szenarien.</p>
<p>Das Layout-System erhält ebenfalls Erweiterungen. Die Komponente <code><Box></code> unterstützt jetzt <code>aspectRatio</code>, <code>alignContent</code>, <code>position="static"</code> sowie Positionsangaben wie <code>top</code>, <code>right</code>, <code>bottom</code> und <code>left</code>. Dazu kommen <code>maxWidth</code> und <code>maxHeight</code>. Mit <code>borderBackgroundColor</code> lässt sich erstmals die Hintergrundfarbe von Rahmen unabhängig vom Inhalt setzen. Für Text führt Ink die Option <code>wrap="hard"</code> ein: Sie füllt Zeilen strikt auf die verfügbare Breite auf und bricht dabei auch mitten im Wort um – nützlich für tabellarische oder streng ausgerichtete Monospace-Layouts.</p>
<p>Im Fokus-Management liefert der Hook <code>useFocusManager</code> nun zusätzlich die ID des aktuell fokussierten Elements. Das erleichtert die Steuerung komplexerer Interaktionen und die Fehlersuche.</p>
<h3 class="subheading" id="nav_bugfixes_3">Bugfixes</h3>
<p>Neben den funktionalen Neuerungen behebt Version 7.0.0 mehrere Stabilitätsprobleme. Dazu zählen Darstellungsfehler bei CJK-Texten und Emojis, Abstürze bei unbekannten Keycodes im Input-Handling sowie Rendering-Fehler bei abschließenden Zeilenumbrüchen und überlappenden Schreibvorgängen.</p>
<p>Alle Informationen zur neuen Version 7.0.0 finden sich in den <a href="https://github.com/vadimdemedes/ink/releases/tag/v7.0.0" rel="external noopener" target="_blank">Release Notes auf der GitHub-Projektseite von Ink</a>.</p>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:fo@heise.de" title="Moritz Förster">fo</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11249521"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11249521: React im Terminal: Ink 7.0 überarbeitet Input-Handling grundlegend"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-09T06:53:00.000Z
urn:bid:5058978
2026-04-08T09:11:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Mit DeerFlow stellt ByteDance ein Super-Agenten-Framework vor, das durch Sandboxes eine sichere und parallele Ausführung der Agenten erlaubt.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/DeerFlow-Super-agent-framework-from-ByteDance-11248532.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FDeerFlow-Super-Agenten-Framework-von-ByteDance-11248176.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FDeerFlow-Super-Agenten-Framework-von-ByteDance-11248176.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/DeerFlow-Super-Agenten-Framework-von-ByteDance-11248176.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/DeerFlow-Super-Agenten-Framework-von-ByteDance/forum-580643/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>4</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/8/9/7/8/shutterstock_2197749365-5778a33319b1e43a.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/7/8/shutterstock_2197749365-5778a33319b1e43a.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/7/8/shutterstock_2197749365-5778a33319b1e43a.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/7/8/shutterstock_2197749365-5778a33319b1e43a.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/7/8/shutterstock_2197749365-5778a33319b1e43a.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/7/8/shutterstock_2197749365-5778a33319b1e43a.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="TikTok-Logo an Firmengebäude in Kalifornien"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Tada Images / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-08T11:11:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>08.04.2026,
</span>
<span class="a-datetime__time ">11:11
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
6 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Dr. Christian Winkler</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/DeerFlow-Super-agent-framework-from-ByteDance-11248532.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>OpenClaw hat es vorgemacht und gezeigt, zu welchen Leistungen LLMs schon in der Lage sind, wenn Agenten sie richtig nutzen. Allerdings sind die <a class="heiseplus-lnk" href="http://www.heise.de/hintergrund/Die-Sicherheitsrisiken-von-KI-Assistenten-wie-OpenClaw-11164056.html">damit verbundenen Gefahren</a> nicht nur groß, sondern sogar unüberschaubar: In manchen Fällen klaute OpenClaw Kreditkarten oder übernahm <a href="https://www.businessinsider.com/openclaw-moltbook-cybersecurity-risks-researchers-ai-2026-2" rel="external noopener" target="_blank">gleich den ganzen Computer</a>. Dennoch steckt in der Technologie ein enormes Potenzial, was einige Nachahmer gefunden hat, die versuchen, die Schwächen zu korrigieren.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_bytedance_legt__0">ByteDance legt vor</h3>
<p>Einer der ersten Player, der sich aus der Deckung wagt, ist ByteDance, die Muttergesellschaft von TikTok, <a href="https://deerflow.tech/" rel="external noopener" target="_blank">mit dem Tool DeerFlow</a> (Deep Exploration and Efficient Research Flow). Nachdem das Projekt bereits über 56.000 Sterne auf GitHub erhalten hat, lohnt es sich, einen genaueren Blick darauf zu werfen.</p>
<p>ByteDance möchte, dass man für die Nutzung ein Coding-Abo abschließt, notwendig ist der aber nicht: DeerFlow lässt sich genauso mit lokalen Modellen verwenden. Etwas schwieriger wird es bei lokaler Nutzung allerdings, wenn das Framework selbstständig Websuchen durchführen soll. Das ist außerordentlich sinnvoll, denn der Knowledge Cutoff der meisten LLMs liegt beträchtlich in der Vergangenheit und sie sind über neue Entwicklungen nicht informiert. Hier kann man <a href="https://www.tavily.com/" rel="external noopener" target="_blank">zum Beispiel die Search-Engine Tavily</a> hinzufügen, für die es eine freie Variante gibt, mit der sich tausend Suchanfragen pro Monat durchführen lassen. Die gibt es auch <a href="https://docs.byteplus.com/en/docs/InfoQuest/What_is_Info_Quest" rel="external noopener" target="_blank">bei InfoQuest</a>, das ByteDance proprietär anbietet. Allerdings ist die Anzahl der Anfragen insgesamt auf tausend pro Account limitiert, Preise für weitere sind nicht direkt zu finden. Interessanterweise bietet ByteDance diesen Dienst in China selbst gar nicht an, möglicherweise auch aus Zensurgründen.</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Konferenz zu KI-gestützter Softwareentwicklung in Mannheim
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="GenAI Summit, Linien" height="1080" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/5/8/9/7/8/bcc_GenAI_Summit_ticker-d9f9d8582f0a6723.jpg" style="aspect-ratio: 1920 / 1080;" width="1920">
<img alt="GenAI Summit, Linien" height="1080" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1920 / 1080; object-fit: cover;" width="1920">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: TechSolution/Adobe Stock)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Der <a href="https://genai-summit.bettercode.eu/?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_bcc_genai_summit.empfehlung-ho.link.link&LPID=33686" rel="external noopener" target="_blank">betterCode() GenAI Summit</a> 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.</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<p>Alle lassen sich lokal installieren und konfigurieren. Die ausführliche Anleitung dazu <a href="https://github.com/bytedance/deer-flow" rel="external noopener" target="_blank">findet sich auf GitHub</a>. Zunächst muss man eine Konfigurationsdatei im YAML-Format anpassen. Anschließend lassen sich Docker-Container starten, in denen das System dann läuft. Die Container öffnen einen Port (2026, ob das Zufall ist?) auf dem Host-System. Das Ganze funktioniert ziemlich unproblematisch, wenn man alle Environment-Variablen in .env schreibt, die Variablen der Shell verwendet das System nämlich nicht. Das Ergebnis sieht dem <a href="https://deerflow.tech/workspace/" rel="external noopener" target="_blank">Playground von DeerFlow</a> sehr ähnlich, aber es lässt sich mit neuen Chats ergänzen.</p>
<p>Spielt man mit dem Playground, merkt man dem Tool auch seine Herkunft aus dem Deep Research an. Komplexe Themen kann der Agent selbst recherchieren und kommt zu guten Ergebnissen, die auch neue Entwicklungen beinhalten. Die Vorschläge für den heise-Verlag (siehe Abbildung 1) sind wie von anderen Agenten gewohnt sehr umfangreich und klingen auch sinnvoll. Allerdings ist das bei Weitem noch nicht alles.</p>
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/8/9/7/8/deerflow_full-78f018f9ffd3f338.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/8/9/7/8/deerflow_full-78f018f9ffd3f338.png">
<a-img alt="Screenshot Beispielkonfiguration" box="1:1" height="9039" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/8/9/7/8/deerflow_full-78f018f9ffd3f338.png" style="
aspect-ratio: 1 / 1;" width="2560">
<img alt="Screenshot Beispielkonfiguration" height="9039" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 2560 / 9039; object-fit: cover;" width="2560">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Beispiel-Konversation mit DeerFlow mit der Frage, wie der heise-Verlag sein Geschäftsmodell ergänzen könnte (Abb. 1).</div>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_von_deep__1">Von Deep Research zu Super-Agenten</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Intern baut DeerFlow auf LangChain und LangGraph und ist damit hervorragend erweiterbar. Genau das betont auch ByteDance und bezeichnet das Framework als <a href="https://github.com/bytedance/deer-flow?tab=readme-ov-file#from-deep-research-to-super-agent-harness" rel="external noopener" target="_blank">„Super Agent Harness“</a> – also ein Framework, das sich ausgezeichnet erweitern lässt. Angeblich haben die ByteDance-Developer DeerFlow neu konzipiert, als sie genau diese Erweiterungsfähigkeit von LangChain als einen entscheidenden Punkt erkannt haben.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Derartige Erweiterungen können auf unterschiedlicher Ebene erfolgen. Zentral dafür sind Skills und Tools, in denen Anwender über Markdown-Files Workflows definieren. Auch der im Beispiel der Abbildung benutzte Research-Workflow basiert auf einem solchen Skill. Von Anwendern bereitgestellte Skills lädt DeerFlow bei Bedarf nach, wenn sie benötigt werden. Das spart Speicher und Rechenzeit und erlaubt eine dynamische Erweiterung des Systems zur Laufzeit. Tools sind etwas fortgeschrittener und erledigen komplexe Aufgaben wie beispielsweise die Websuche, können aber auch Bash-Skript oder Python-Programme in einer Sandbox sicher ausführen.</p>
<p>ByteDance hat erkannt, dass komplexe Aufgaben sich nur schlecht in einem einzigen Durchlauf erledigen lassen. Daher stammt das Konzept der Sub-Agenten, die ihren eigenen Kontext, eigene Tools und Abschlussbedingungen haben. Das erlaubt, sie parallel zueinander laufen zu lassen und damit Zeit zu sparen.</p>
<p>Die Sandbox funktioniert in DeerFlow wie ein eigener Computer. Jeder Prozess erhält eine eigene Umgebung mit einem separaten Filesystem, in dem sich wiederum Skills usw. befinden können. Durch diese Isolation können die Prozesse unabhängig voneinander agieren.</p>
<p>Großen Wert legt ByteDance auf die Isolation von Kontexten. Jeder Agent verfügt über einen eigenen Kontext und wird nicht von anderen Agenten gestört. Nebenbei erlaubt das die schon angesprochene Parallelisierung von Agenten. Um den Kontext möglichst klein zu halten (und damit Speicher bzw. Token im LLM zu sparen), findet ständig eine Zusammenfassung statt.</p>
<p>DeerFlow hat ein Langzeitgedächtnis und merkt sich Inhalte auch über eine Unterhaltung hinaus. Es fungiert somit als Wissensspeicher und passt sich den Wünschen der Benutzer immer besser an. Diese Daten speichert es alle lokal. Mit Empfehlungen und Apps, auf die man nicht mehr verzichten möchte, kennt sich ByteDance ja bestens aus. Im Gegensatz zu TikTok entsteht bei DeerFlow aber ein echter Mehrwert.</p>
<h3 class="subheading" id="nav_deerflow_bringt__2">DeerFlow bringt neue Ideen</h3>
<p>ByteDance veröffentlicht mit DeerFlow ein Agenten-Framework mit vielen neuen Ideen und zeigt damit, wie sich Agenten zukünftig entwickeln könnten. Besonders spannend sind dabei die einfach zu implementierenden Skills, die Isolation und Parallelisierung sowie die Sandboxen, die gefährliche Situationen wie bei OpenClaw vermeiden sollen.</p>
<p>Agentische KI beschäftigt Forscher gerade sehr intensiv. Noch weiß niemand ganz genau, wie sich das Feld entfalten wird. Alternative Tools wie <a href="https://n8n.io/" rel="external noopener" target="_blank">n8n</a> oder <a href="https://dify.ai/" rel="external noopener" target="_blank">Dify</a> sind hier noch deutlich statischer als DeerFlow, aber möglicherweise ergeben sich für sie nun auch neue Richtungen. Umso spannender wird es zu beobachten, wie sich das DeerFlow-Framework weiterentwickelt.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:who@heise.de" title="Wolf Hosbach">who</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11248176"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11248176: DeerFlow: Super-Agenten-Framework von ByteDance"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Mit DeerFlow stellt ByteDance ein Super-Agenten-Framework vor, das durch Sandboxes eine sichere und parallele Ausführung der Agenten erlaubt.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/DeerFlow-Super-agent-framework-from-ByteDance-11248532.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FDeerFlow-Super-Agenten-Framework-von-ByteDance-11248176.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FDeerFlow-Super-Agenten-Framework-von-ByteDance-11248176.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/DeerFlow-Super-Agenten-Framework-von-ByteDance-11248176.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/DeerFlow-Super-Agenten-Framework-von-ByteDance/forum-580643/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>4</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/8/9/7/8/shutterstock_2197749365-5778a33319b1e43a.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/7/8/shutterstock_2197749365-5778a33319b1e43a.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/7/8/shutterstock_2197749365-5778a33319b1e43a.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/7/8/shutterstock_2197749365-5778a33319b1e43a.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/7/8/shutterstock_2197749365-5778a33319b1e43a.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/7/8/shutterstock_2197749365-5778a33319b1e43a.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="TikTok-Logo an Firmengebäude in Kalifornien"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Tada Images / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-08T11:11:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>08.04.2026,
</span>
<span class="a-datetime__time ">11:11
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
6 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Dr. Christian Winkler</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/DeerFlow-Super-agent-framework-from-ByteDance-11248532.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>OpenClaw hat es vorgemacht und gezeigt, zu welchen Leistungen LLMs schon in der Lage sind, wenn Agenten sie richtig nutzen. Allerdings sind die <a class="heiseplus-lnk" href="http://www.heise.de/hintergrund/Die-Sicherheitsrisiken-von-KI-Assistenten-wie-OpenClaw-11164056.html">damit verbundenen Gefahren</a> nicht nur groß, sondern sogar unüberschaubar: In manchen Fällen klaute OpenClaw Kreditkarten oder übernahm <a href="https://www.businessinsider.com/openclaw-moltbook-cybersecurity-risks-researchers-ai-2026-2" rel="external noopener" target="_blank">gleich den ganzen Computer</a>. Dennoch steckt in der Technologie ein enormes Potenzial, was einige Nachahmer gefunden hat, die versuchen, die Schwächen zu korrigieren.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_bytedance_legt__0">ByteDance legt vor</h3>
<p>Einer der ersten Player, der sich aus der Deckung wagt, ist ByteDance, die Muttergesellschaft von TikTok, <a href="https://deerflow.tech/" rel="external noopener" target="_blank">mit dem Tool DeerFlow</a> (Deep Exploration and Efficient Research Flow). Nachdem das Projekt bereits über 56.000 Sterne auf GitHub erhalten hat, lohnt es sich, einen genaueren Blick darauf zu werfen.</p>
<p>ByteDance möchte, dass man für die Nutzung ein Coding-Abo abschließt, notwendig ist der aber nicht: DeerFlow lässt sich genauso mit lokalen Modellen verwenden. Etwas schwieriger wird es bei lokaler Nutzung allerdings, wenn das Framework selbstständig Websuchen durchführen soll. Das ist außerordentlich sinnvoll, denn der Knowledge Cutoff der meisten LLMs liegt beträchtlich in der Vergangenheit und sie sind über neue Entwicklungen nicht informiert. Hier kann man <a href="https://www.tavily.com/" rel="external noopener" target="_blank">zum Beispiel die Search-Engine Tavily</a> hinzufügen, für die es eine freie Variante gibt, mit der sich tausend Suchanfragen pro Monat durchführen lassen. Die gibt es auch <a href="https://docs.byteplus.com/en/docs/InfoQuest/What_is_Info_Quest" rel="external noopener" target="_blank">bei InfoQuest</a>, das ByteDance proprietär anbietet. Allerdings ist die Anzahl der Anfragen insgesamt auf tausend pro Account limitiert, Preise für weitere sind nicht direkt zu finden. Interessanterweise bietet ByteDance diesen Dienst in China selbst gar nicht an, möglicherweise auch aus Zensurgründen.</p>
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
a-inline-textbox--text a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Konferenz zu KI-gestützter Softwareentwicklung in Mannheim
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="GenAI Summit, Linien" height="1080" high-dpi-quality="70" quality="85" src="/imgs/18/5/0/5/8/9/7/8/bcc_GenAI_Summit_ticker-d9f9d8582f0a6723.jpg" style="aspect-ratio: 1920 / 1080;" width="1920">
<img alt="GenAI Summit, Linien" height="1080" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1920 / 1080; object-fit: cover;" width="1920">
</a-img>
<figcaption class="a-caption a-caption--textbox"> <p class="a-caption__source">
(Bild: TechSolution/Adobe Stock)
</p>
</figcaption>
</figure>
<div class="a-inline-textbox__content-container">
<p>Der <a href="https://genai-summit.bettercode.eu/?wt_mc=intern.academy.dpunkt.konf_dpunkt_vo_bcc_genai_summit.empfehlung-ho.link.link&LPID=33686" rel="external noopener" target="_blank">betterCode() GenAI Summit</a> 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.</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<p>Alle lassen sich lokal installieren und konfigurieren. Die ausführliche Anleitung dazu <a href="https://github.com/bytedance/deer-flow" rel="external noopener" target="_blank">findet sich auf GitHub</a>. Zunächst muss man eine Konfigurationsdatei im YAML-Format anpassen. Anschließend lassen sich Docker-Container starten, in denen das System dann läuft. Die Container öffnen einen Port (2026, ob das Zufall ist?) auf dem Host-System. Das Ganze funktioniert ziemlich unproblematisch, wenn man alle Environment-Variablen in .env schreibt, die Variablen der Shell verwendet das System nämlich nicht. Das Ergebnis sieht dem <a href="https://deerflow.tech/workspace/" rel="external noopener" target="_blank">Playground von DeerFlow</a> sehr ähnlich, aber es lässt sich mit neuen Chats ergänzen.</p>
<p>Spielt man mit dem Playground, merkt man dem Tool auch seine Herkunft aus dem Deep Research an. Komplexe Themen kann der Agent selbst recherchieren und kommt zu guten Ergebnissen, die auch neue Entwicklungen beinhalten. Die Vorschläge für den heise-Verlag (siehe Abbildung 1) sind wie von anderen Agenten gewohnt sehr umfangreich und klingen auch sinnvoll. Allerdings ist das bei Weitem noch nicht alles.</p>
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/8/9/7/8/deerflow_full-78f018f9ffd3f338.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/8/9/7/8/deerflow_full-78f018f9ffd3f338.png">
<a-img alt="Screenshot Beispielkonfiguration" box="1:1" height="9039" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/8/9/7/8/deerflow_full-78f018f9ffd3f338.png" style="
aspect-ratio: 1 / 1;" width="2560">
<img alt="Screenshot Beispielkonfiguration" height="9039" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 2560 / 9039; object-fit: cover;" width="2560">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">Beispiel-Konversation mit DeerFlow mit der Frage, wie der heise-Verlag sein Geschäftsmodell ergänzen könnte (Abb. 1).</div>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_von_deep__1">Von Deep Research zu Super-Agenten</h3>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Intern baut DeerFlow auf LangChain und LangGraph und ist damit hervorragend erweiterbar. Genau das betont auch ByteDance und bezeichnet das Framework als <a href="https://github.com/bytedance/deer-flow?tab=readme-ov-file#from-deep-research-to-super-agent-harness" rel="external noopener" target="_blank">„Super Agent Harness“</a> – also ein Framework, das sich ausgezeichnet erweitern lässt. Angeblich haben die ByteDance-Developer DeerFlow neu konzipiert, als sie genau diese Erweiterungsfähigkeit von LangChain als einen entscheidenden Punkt erkannt haben.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Derartige Erweiterungen können auf unterschiedlicher Ebene erfolgen. Zentral dafür sind Skills und Tools, in denen Anwender über Markdown-Files Workflows definieren. Auch der im Beispiel der Abbildung benutzte Research-Workflow basiert auf einem solchen Skill. Von Anwendern bereitgestellte Skills lädt DeerFlow bei Bedarf nach, wenn sie benötigt werden. Das spart Speicher und Rechenzeit und erlaubt eine dynamische Erweiterung des Systems zur Laufzeit. Tools sind etwas fortgeschrittener und erledigen komplexe Aufgaben wie beispielsweise die Websuche, können aber auch Bash-Skript oder Python-Programme in einer Sandbox sicher ausführen.</p>
<p>ByteDance hat erkannt, dass komplexe Aufgaben sich nur schlecht in einem einzigen Durchlauf erledigen lassen. Daher stammt das Konzept der Sub-Agenten, die ihren eigenen Kontext, eigene Tools und Abschlussbedingungen haben. Das erlaubt, sie parallel zueinander laufen zu lassen und damit Zeit zu sparen.</p>
<p>Die Sandbox funktioniert in DeerFlow wie ein eigener Computer. Jeder Prozess erhält eine eigene Umgebung mit einem separaten Filesystem, in dem sich wiederum Skills usw. befinden können. Durch diese Isolation können die Prozesse unabhängig voneinander agieren.</p>
<p>Großen Wert legt ByteDance auf die Isolation von Kontexten. Jeder Agent verfügt über einen eigenen Kontext und wird nicht von anderen Agenten gestört. Nebenbei erlaubt das die schon angesprochene Parallelisierung von Agenten. Um den Kontext möglichst klein zu halten (und damit Speicher bzw. Token im LLM zu sparen), findet ständig eine Zusammenfassung statt.</p>
<p>DeerFlow hat ein Langzeitgedächtnis und merkt sich Inhalte auch über eine Unterhaltung hinaus. Es fungiert somit als Wissensspeicher und passt sich den Wünschen der Benutzer immer besser an. Diese Daten speichert es alle lokal. Mit Empfehlungen und Apps, auf die man nicht mehr verzichten möchte, kennt sich ByteDance ja bestens aus. Im Gegensatz zu TikTok entsteht bei DeerFlow aber ein echter Mehrwert.</p>
<h3 class="subheading" id="nav_deerflow_bringt__2">DeerFlow bringt neue Ideen</h3>
<p>ByteDance veröffentlicht mit DeerFlow ein Agenten-Framework mit vielen neuen Ideen und zeigt damit, wie sich Agenten zukünftig entwickeln könnten. Besonders spannend sind dabei die einfach zu implementierenden Skills, die Isolation und Parallelisierung sowie die Sandboxen, die gefährliche Situationen wie bei OpenClaw vermeiden sollen.</p>
<p>Agentische KI beschäftigt Forscher gerade sehr intensiv. Noch weiß niemand ganz genau, wie sich das Feld entfalten wird. Alternative Tools wie <a href="https://n8n.io/" rel="external noopener" target="_blank">n8n</a> oder <a href="https://dify.ai/" rel="external noopener" target="_blank">Dify</a> sind hier noch deutlich statischer als DeerFlow, aber möglicherweise ergeben sich für sie nun auch neue Richtungen. Umso spannender wird es zu beobachten, wie sich das DeerFlow-Framework weiterentwickelt.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:who@heise.de" title="Wolf Hosbach">who</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11248176"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11248176: DeerFlow: Super-Agenten-Framework von ByteDance"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-08T09:11:00.000Z
urn:bid:5054499
2026-04-08T08:13:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Konsistenz (und Eventual Consistency) wird oft als technisches Risiko behandelt. Dabei gab es sie schon vor Computern. Wer sie ignoriert, baut fragile Systeme.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/blog/Consistency-is-a-business-decision-11248379.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fblog%2FKonsistenz-ist-eine-fachliche-Entscheidung-11229014.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fblog%2FKonsistenz-ist-eine-fachliche-Entscheidung-11229014.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/blog/Konsistenz-ist-eine-fachliche-Entscheidung-11229014.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Konsistenz-ist-eine-fachliche-Entscheidung/forum-580636/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>6</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt=""
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: NicoElNino/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-08T10:13:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>08.04.2026,
</span>
<span class="a-datetime__time ">10:13
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
14 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Golo Roden</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/blog/Consistency-is-a-business-decision-11248379.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Im Deutschen hat sich eine Übersetzung eingebürgert, die das Denken über verteilte Systeme in eine falsche Richtung lenkt. „Eventual Consistency“ wird häufig als „eventuell konsistent“ wiedergegeben. Eventuell, also möglicherweise. Eine Datenbank, die möglicherweise konsistent ist, klingt nach einem System, dem man besser nicht vertraut. Kein Wunder, dass viele Entwicklerinnen und Entwickler reflexartig nach stärkeren Garantien greifen, sobald der Begriff fällt.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
the next big thing – Golo Roden
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="the next big thing – Golo Roden" height="460" high-dpi-quality="70" quality="85" src="/imgs/71/3/7/1/8/2/9/5/Roden_Golo.jpg-3be22c2312d5e8bb.jpeg" style="aspect-ratio: 460 / 460;" width="460">
<img alt="the next big thing – Golo Roden" height="460" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 460 / 460; object-fit: cover;" width="460">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Golo Roden ist Gründer und CTO von the native web GmbH. Er beschäftigt sich mit der Konzeption und Entwicklung von Web- und Cloud-Anwendungen sowie -APIs, mit einem Schwerpunkt auf Event-getriebenen und Service-basierten verteilten Architekturen. Sein Leitsatz lautet, dass Softwareentwicklung kein Selbstzweck ist, sondern immer einer zugrundeliegenden Fachlichkeit folgen muss.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<p>Die englische Bedeutung von „eventual“ ist jedoch eine andere. Sie meint „letztendlich“ oder „am Ende“. Eventual Consistency bedeutet also nicht, dass Konsistenz vielleicht eintritt. Sie bedeutet, dass Konsistenz verlässlich eintritt, nur nicht sofort. Die Frage ist nicht, ob, sondern wann. Und diese Frage ist keine technische, sondern eine fachliche. Das war sie schon immer.</p>
<p>Ein besseres mentales Modell als „möglicherweise inkonsistent“ ist das der veralteten Daten. In jedem Moment kann irgendein Teil eines Systems auf Daten zugreifen, die den allerletzten Stand nicht widerspiegeln. Die Daten sind nicht falsch. Sie sind nur nicht aktuell. Sie waren vor einem Moment korrekt. Sie werden in einem Moment wieder korrekt sein. Gerade eben sind sie veraltet. Jedes System hat irgendwo veraltete Daten. Die Frage ist nicht, ob Daten veraltet sein können, sondern wie veraltet akzeptabel ist. Millisekunden? Sekunden? Minuten? Stunden? Die Antwort hängt vom Anwendungsfall ab, und sie lautet selten „niemals“.</p>
<h3 class="subheading" id="nav_die_bequeme__0">Die bequeme Lüge der starken Konsistenz</h3>
<p>Es gibt noch etwas, das sich in der Softwareentwicklung hartnäckig hält: Die Behauptung, eine relationale Datenbank sei immer konsistent. Transaktionen garantieren es. ACID garantiert es. Nach dem Commit sind die Daten da, und jeder sieht sie. Das stimmt allerdings nur innerhalb einer einzelnen Datenbankinstanz, für eine einzelne Abfrage, in einem einzelnen Moment. So funktionieren reale Systeme nicht.</p>
<p>Wer Read-Replicas einsetzt, akzeptiert bereits, dass Leseoperationen veraltete Daten liefern können. Wer einen Cache verwendet, akzeptiert, dass die gecachten Daten zum Zeitpunkt des Lesens nicht mehr aktuell sein müssen. Wer eine mobile App betreibt, akzeptiert, dass die Anzeige auf dem Gerät den Stand der letzten Synchronisation zeigt, nicht den aktuellen. Und wer HTML serverseitig rendert, akzeptiert, dass die Seite zum Zeitpunkt der Auslieferung bereits veraltet sein kann.</p>
<p>In dem Moment, in dem Daten die Datenbank verlassen, beginnen sie zu altern. Bis sie den Bildschirm einer Nutzerin oder eines Nutzers erreichen, sind sie bereits ein Schnappschuss der Vergangenheit. Die Kundin sieht „Bestellung bestätigt“, aber das Lagersystem hat den Auftrag noch nicht verarbeitet. Der Kunde sieht „3 Stück auf Lager“, aber jemand anders hat gerade zwei davon in den Warenkorb gelegt. Das ist kein Fehler. Das ist die Funktionsweise verteilter Systeme. Und jedes System mit einer Bedienoberfläche ist ein verteiltes System, denn das Endgerät ist ein eigener Knoten, das Netzwerk ist unzuverlässig, und zwischen Anfrage und Antwort vergeht Zeit.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Ich begegne in meiner Beratungsarbeit regelmäßig Teams, die überzeugt sind, ihre Systeme seien stark konsistent. Bei genauerem Hinsehen zeigt sich fast immer, dass die Konsistenz an der Datenbankgrenze endet. Dahinter beginnt eine Welt aus Caches, Replikas, Message-Queues und gerenderten Oberflächen, in der Daten bereits veraltet sind, bevor sie ankommen. Das System ist längst eventually consistent. Es gibt nur niemanden, der das ausspricht.</p>
<h3 class="subheading" id="nav_konsistenz_vor__1">Konsistenz vor dem Computer</h3>
<p>Eventual Consistency ist kein Phänomen, das mit verteilten Softwaresystemen entstanden ist. Sie ist ein Grundproblem der physischen Welt, und Unternehmen haben seit Jahrhunderten Wege gefunden, damit umzugehen.</p>
<p>Man stelle sich eine Firma mit zwei Vertriebsbüros in verschiedenen Städten vor, zu einer Zeit, als das Telefon das schnellste Kommunikationsmittel war. Beide Büros verkaufen aus demselben Lagerbestand. Eine Kundin in München möchte die letzte Einheit eines Produkts kaufen. Ein Kunde in Hamburg möchte dieselbe Einheit kaufen. Keiner der beiden Vertriebsmitarbeiter weiß, was der andere gerade macht.</p>
<p>Wie haben Unternehmen dieses Problem gelöst? Nicht durch perfekte Echtzeitsynchronisation. Sie haben akzeptiert, dass Konflikte auftreten werden, und Prozesse entwickelt, um sie zu behandeln. Sie haben überbucht und sich entschuldigt. Sie haben Sicherheitsbestände geführt. Sie haben im Lager angerufen, bevor sie eine Lieferung zugesagt haben. Sie haben enttäuschte Kundinnen und Kunden kompensiert. Sie haben Risiken gemanagt, nicht Konsistenz.</p>
<p>Das gleiche Produkt, das gleiche Problem, nur mit Stift und Papier statt mit Datenbanken. Keine Technologie der Welt kann diese grundlegende Herausforderung eliminieren: zwei Personen, zwei Orte, eine Ressource, unvollständige Information. Die Naturgesetze garantieren, dass Information Zeit braucht, um sich auszubreiten. Perfekte Synchronisation ist nicht nur schwierig. Sie ist unmöglich.</p>
<p>Das Interessante daran ist, dass diese analogen Prozesse oft erstaunlich gut funktioniert haben. Nicht weil sie Inkonsistenzen verhindert hätten, sondern weil sie Strategien für den Umgang mit ihnen entwickelt hatten. Die Buchhaltung glich am Ende des Tages die Bestände ab. Der Vertrieb rief im Zweifelsfall im Lager an. Und wenn doch einmal zwei Kunden dasselbe Produkt zugesagt bekamen, gab es ein Gespräch, eine Entschuldigung und eine Lösung. Der Geschäftsprozess war auf Konflikte vorbereitet, weil niemand auf die Idee gekommen wäre, sie für unmöglich zu erklären.</p>
<p>Wenn ich mit Teams über Eventual Consistency spreche, hilft dieser historische Blick oft mehr als jedes Architekturdiagramm. Er verschiebt das Problem aus der technischen Ecke in die geschäftliche, wo es hingehört. Die Frage lautet nicht: Wie verhindern wir Inkonsistenz? Sie lautet: Wie gehen wir mit ihr um?</p>
<h3 class="subheading" id="nav_die_richtigen__2">Die richtigen Fragen stellen</h3>
<p>Wenn Entwicklerinnen und Entwickler über Eventual Consistency diskutieren, stellen sie häufig die falsche Frage. Sie fragen: Ist Eventual Consistency hier akzeptabel? Das rahmt Konsistenz als binäre Eigenschaft, als hätte man sie oder hätte sie nicht.</p>
<p>Die richtigen Fragen sind anders: Wie häufig tritt ein Konflikt tatsächlich auf? Wenn zwei Nutzerinnen oder Nutzer gleichzeitig den letzten Artikel kaufen wollen: Passiert das einmal am Tag? Einmal im Monat? Einmal im Jahr? Die Häufigkeit entscheidet darüber, ob ein Konflikt ein reales Problem ist oder eine theoretische Sorge. Was kostet ein Konflikt? Ist die Konsequenz eine enttäuschte Kundin? Eine Rückerstattung? Ein manueller Eingriff? Ein rechtliches Problem? Die Kosten bestimmen, wie viel Aufwand die Vermeidung rechtfertigt. Und was kostet die Vermeidung? Stärkere Konsistenzgarantien sind nicht kostenlos. Sie erfordern Koordination, also Latenz. Sie erfordern Sperren, also geringeren Durchsatz. Sie erfordern Infrastruktur, also Geld.</p>
<p>Das sind betriebswirtschaftliche Fragen, keine Ingenieursfragen. Das Entwicklungsteam kann erklären, was technisch möglich ist und was jede Option kostet. Aber die Entscheidung über das akzeptable Risiko gehört ins Business. Ein Bezahlsystem und ein Social-Media-Feed haben unterschiedliche Toleranzen. Eine Patientenakte und ein Warenkorb haben unterschiedliche Anforderungen. Der Kontext bestimmt die Antwort.</p>
<p>Genau deshalb gehören Diskussionen über Eventual Consistency nicht ausschließlich in Technik-Meetings. Das Team mag starke Meinungen über technische Korrektheit haben, weiß aber vielleicht nicht, dass die Fachabteilung eine Verzögerung von einer Sekunde bereitwillig akzeptieren würde, wenn dafür die Infrastrukturkosten sinken. Oder es weiß nicht, dass ein bestimmter Anwendungsfall regulatorische Anforderungen hat, die stärkere Garantien verlangen. Das Gespräch braucht beide Perspektiven.</p>
<p>Alltagsbeispiele zeigen, wie selbstverständlich Eventual Consistency bereits ist. Paketverfolgung zeigt einen Status, der vor Stunden erfasst wurde. Das Paket wurde gescannt, als es das Sortierzentrum verlassen hat. Seitdem ist es unterwegs, möglicherweise bereits zugestellt. Die angezeigte Information ist veraltet, und das stört niemanden, weil ein ungefährer Überblick über den Fortschritt ausreicht. Bestandsanzeigen in Online-Shops sind ein ähnlicher Fall. „Nur noch 3 auf Lager“ war korrekt, als die Seite gerendert wurde. Inzwischen hat vielleicht jemand eines gekauft. Vielleicht hat jemand eines in den Warenkorb gelegt, ohne zu bestellen. Die Zahl ist ein Hinweis, keine Garantie. Und das ist akzeptabel, weil der Checkout-Prozess den Grenzfall abfängt, in dem der Artikel tatsächlich vergriffen ist.</p>
<p>Besonders aufschlussreich ist das Beispiel der Fluggesellschaften. Airlines überbuchen bewusst, weil sie wissen, dass ein Teil der Passagiere nicht erscheinen wird. Das Buchungssystem akzeptiert mehr Reservierungen, als Sitzplätze vorhanden sind. Wenn doch alle erscheinen, wird das Problem am Gate gelöst: Kompensation, Umbuchung, Upgrade. Das System ist darauf ausgelegt, Konflikte zu akzeptieren und sie nachträglich zu lösen. Das ist kein Versagen der Konsistenz. Es ist eine Geschäftsstrategie, die jedes Jahr Millionen von Flügen mit freien Sitzen füllt, die sonst leer geblieben wären.</p>
<p>All diese Systeme funktionieren. Ihre Nutzerinnen und Nutzer beschweren sich nicht, weil das Konsistenzfenster kurz genug ist oder weil der Geschäftsprozess die Ausnahmen elegant abfängt. Das Ziel war nie perfekte Konsistenz. Das Ziel war ausreichende Konsistenz.</p>
<h3 class="subheading" id="nav_der__3">Der Geldautomat, der weiterarbeitete</h3>
<p>Unter den vielen Beispielen, die ich in Gesprächen über Eventual Consistency verwende, ist eines besonders aufschlussreich, weil es die Perspektive komplett umdreht.</p>
<p>Geldautomaten sind normalerweise online und mit den Systemen der Bank in Echtzeit verbunden. Bei einer Abhebung prüft der Automat den Kontostand, verifiziert die Deckung und gibt das Geld aus. Einfach und konsistent. Doch was passiert, wenn die Netzwerkverbindung ausfällt und der Automat offline geht?</p>
<p>Die meisten Entwicklerinnen und Entwickler, denen ich diese Frage stelle, antworten: „Der Automat muss den Betrieb einstellen. Keine Verbindung bedeutet keine Kontostandsprüfung. Keine Prüfung bedeutet mögliche Überziehungen. Also abschalten, bis die Verbindung wiederhergestellt ist.“ Das ist die naheliegende, die sichere, die technisch korrekte Antwort. Es ist aber auch die falsche.</p>
<p>Man stelle sich einen prominenten Millionär vor, der an einem Geldautomaten steht und 50 Euro abheben möchte, nur um zu erfahren, dass der Automat außer Betrieb ist. Die Schlagzeile am nächsten Tag: „Bank lässt Topkunden wegen Netzwerkproblem im Regen stehen.“ Das ist keine Schlagzeile, die eine Bank gebrauchen kann. Der Reputationsschaden übersteigt jedes Überziehungsrisiko bei einer Kleinbetragabhebung um ein Vielfaches.</p>
<p>Was machen Banken also tatsächlich? Der Automat arbeitet weiter, auch offline. Aber mit intelligentem Risikomanagement. Die meisten Ausfälle sind kurz: Die Verbindung bricht für wenige Minuten ab und stellt sich dann von selbst wieder her. Bis jemand etwas bemerkt, hat sich das Problem bereits gelöst. Die meisten Menschen heben zudem nur Geld ab, wenn sie wissen, dass sie es haben. Niemand möchte die Peinlichkeit erleben, an einem Geldautomaten mit einer Schlange hinter sich abgelehnt zu werden. Diese Selbstselektion reduziert das Überziehungsrisiko erheblich. Und für den Fall, dass die Verbindung länger ausfällt, begrenzt die Bank den maximalen Abhebungsbetrag im Offline-Modus.</p>
<p>Doch der eigentlich interessante Punkt liegt woanders. Wenn jemand im Offline-Modus sein Konto tatsächlich überzieht, hat die Bank zwei Möglichkeiten, die Situation zu rahmen. Erste Variante: „Kunde nutzte Systemschwachstelle während Netzwerkausfall.“ Das klingt nach einem Sicherheitsvorfall. Zweite Variante: „Bank zeigte Flexibilität und half Kunden trotz technischer Schwierigkeiten.“ Das klingt nach exzellentem Kundenservice. Und nebenbei: Die Bank berechnet Überziehungszinsen. Der Kunde, der 50 Euro abgehoben hat, die er nicht hatte, zahlt sie zurück, mit Aufschlag. Die Bank hat eine technische Einschränkung in eine Einnahmequelle verwandelt.</p>
<p>Das ist es, was fachliches Denken über Konsistenz bedeutet. Die Entwicklerin sieht ein Konsistenzproblem und will es um jeden Preis verhindern. Die Geschäftsseite sieht eine Risiko-Ertrags-Rechnung und findet eine Lösung, die besser ist als sowohl „immer konsistent“ als auch „immer verfügbar“. Die beste Antwort lag nicht im Engineering-Meeting. Sie lag im Business-Meeting.</p>
<h3 class="subheading" id="nav_das_verstecken__4">Das Verstecken ist das eigentliche Risiko</h3>
<p>Die Gefahr liegt nicht in Eventual Consistency. Sie liegt darin, so zu tun, als gäbe es sie nicht.</p>
<p>Wer sein System für stark konsistent hält, entwirft keine Kompensationslogik. Wer keine Konflikte erwartet, baut keine Konfliktbehandlung. Wer keine veralteten Daten einplant, gestaltet keine Benutzererfahrung, die damit umgehen kann. Und wenn dann die Race Condition doch eintritt, wenn der Cache im falschen Moment veraltete Daten liefert, wenn die Replica-Verzögerung zu einer sichtbaren Inkonsistenz führt, gibt es keinen Plan. Das System versagt auf eine Weise, die niemand vorhergesehen hat, weil sich niemand die Mühe gemacht hat, sie vorherzusehen.</p>
<p>Wer Eventual Consistency dagegen anerkennt, entwirft dafür. Man denkt darüber nach, was passiert, wenn Daten veraltet sind. Man baut idempotente Operationen, die gefahrlos wiederholt werden können. Man schafft Kompensationsmechanismen für den Fall, dass etwas schiefgeht. Man kommuniziert Unsicherheit gegenüber Nutzerinnen und Nutzern, statt falsche Sicherheit zu vermitteln.</p>
<p>In der Praxis bedeutet das konkrete Entwurfsentscheidungen. Statt „Bestellung erfolgreich“ anzuzeigen, wenn die Bestellung lediglich angenommen wurde, zeigt man „Bestellung wird verarbeitet“ und aktualisiert den Status, sobald die Verarbeitung abgeschlossen ist. Statt eine Schaltfläche nach dem Klick zu deaktivieren und auf Konsistenz zu hoffen, gestaltet man die Operation idempotent, sodass ein doppelter Klick keinen Schaden anrichtet. Statt einen Fehler zu zeigen, wenn ein Artikel zwischen Warenkorb und Checkout vergriffen ist, bietet man eine Alternative an. Das sind keine technischen Notlösungen. Das sind durchdachte Benutzererlebnisse, die auf einer ehrlichen Einschätzung der Systemrealität basieren.</p>
<p>Die deutsche Fehlübersetzung ist dabei versehentlich tiefgründig. „Eventuell konsistent“ klingt bedrohlich, weil Unsicherheit bedrohlich klingt. Aber Unsicherheit ist die Realität verteilter Systeme. Die Wahl besteht nicht zwischen Sicherheit und Unsicherheit. Sie besteht zwischen eingestandener und versteckter Unsicherheit. Das eine führt zu robusten Systemen. Das andere führt zu Überraschungen.</p>
<p>Eventual Consistency ist keine Einschränkung, die es zu überwinden gilt. Sie ist eine Realität, für die es zu entwerfen gilt. Ihre Systeme sind bereits eventually consistent. Die Frage ist, ob Sie für diese Realität entwerfen oder so tun, als existiere sie nicht. Und diese Frage ist keine, die ein Engineering-Team allein beantworten sollte. Sie ist eine fachliche Entscheidung. Das war sie schon immer.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:rme@ix.de" title="Rainald Menge-Sonnentag">rme</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11229014"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11229014: Konsistenz ist eine fachliche Entscheidung"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Konsistenz (und Eventual Consistency) wird oft als technisches Risiko behandelt. Dabei gab es sie schon vor Computern. Wer sie ignoriert, baut fragile Systeme.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/blog/Consistency-is-a-business-decision-11248379.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fblog%2FKonsistenz-ist-eine-fachliche-Entscheidung-11229014.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fblog%2FKonsistenz-ist-eine-fachliche-Entscheidung-11229014.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/blog/Konsistenz-ist-eine-fachliche-Entscheidung-11229014.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Konsistenz-ist-eine-fachliche-Entscheidung/forum-580636/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>6</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/4/4/9/9/shutterstock_1820970386-5e76a92cca179d1b.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt=""
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: NicoElNino/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-08T10:13:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>08.04.2026,
</span>
<span class="a-datetime__time ">10:13
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
14 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Golo Roden</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/blog/Consistency-is-a-business-decision-11248379.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Im Deutschen hat sich eine Übersetzung eingebürgert, die das Denken über verteilte Systeme in eine falsche Richtung lenkt. „Eventual Consistency“ wird häufig als „eventuell konsistent“ wiedergegeben. Eventuell, also möglicherweise. Eine Datenbank, die möglicherweise konsistent ist, klingt nach einem System, dem man besser nicht vertraut. Kein Wunder, dass viele Entwicklerinnen und Entwickler reflexartig nach stärkeren Garantien greifen, sobald der Begriff fällt.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
the next big thing – Golo Roden
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="the next big thing – Golo Roden" height="460" high-dpi-quality="70" quality="85" src="/imgs/71/3/7/1/8/2/9/5/Roden_Golo.jpg-3be22c2312d5e8bb.jpeg" style="aspect-ratio: 460 / 460;" width="460">
<img alt="the next big thing – Golo Roden" height="460" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 460 / 460; object-fit: cover;" width="460">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Golo Roden ist Gründer und CTO von the native web GmbH. Er beschäftigt sich mit der Konzeption und Entwicklung von Web- und Cloud-Anwendungen sowie -APIs, mit einem Schwerpunkt auf Event-getriebenen und Service-basierten verteilten Architekturen. Sein Leitsatz lautet, dass Softwareentwicklung kein Selbstzweck ist, sondern immer einer zugrundeliegenden Fachlichkeit folgen muss.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<p>Die englische Bedeutung von „eventual“ ist jedoch eine andere. Sie meint „letztendlich“ oder „am Ende“. Eventual Consistency bedeutet also nicht, dass Konsistenz vielleicht eintritt. Sie bedeutet, dass Konsistenz verlässlich eintritt, nur nicht sofort. Die Frage ist nicht, ob, sondern wann. Und diese Frage ist keine technische, sondern eine fachliche. Das war sie schon immer.</p>
<p>Ein besseres mentales Modell als „möglicherweise inkonsistent“ ist das der veralteten Daten. In jedem Moment kann irgendein Teil eines Systems auf Daten zugreifen, die den allerletzten Stand nicht widerspiegeln. Die Daten sind nicht falsch. Sie sind nur nicht aktuell. Sie waren vor einem Moment korrekt. Sie werden in einem Moment wieder korrekt sein. Gerade eben sind sie veraltet. Jedes System hat irgendwo veraltete Daten. Die Frage ist nicht, ob Daten veraltet sein können, sondern wie veraltet akzeptabel ist. Millisekunden? Sekunden? Minuten? Stunden? Die Antwort hängt vom Anwendungsfall ab, und sie lautet selten „niemals“.</p>
<h3 class="subheading" id="nav_die_bequeme__0">Die bequeme Lüge der starken Konsistenz</h3>
<p>Es gibt noch etwas, das sich in der Softwareentwicklung hartnäckig hält: Die Behauptung, eine relationale Datenbank sei immer konsistent. Transaktionen garantieren es. ACID garantiert es. Nach dem Commit sind die Daten da, und jeder sieht sie. Das stimmt allerdings nur innerhalb einer einzelnen Datenbankinstanz, für eine einzelne Abfrage, in einem einzelnen Moment. So funktionieren reale Systeme nicht.</p>
<p>Wer Read-Replicas einsetzt, akzeptiert bereits, dass Leseoperationen veraltete Daten liefern können. Wer einen Cache verwendet, akzeptiert, dass die gecachten Daten zum Zeitpunkt des Lesens nicht mehr aktuell sein müssen. Wer eine mobile App betreibt, akzeptiert, dass die Anzeige auf dem Gerät den Stand der letzten Synchronisation zeigt, nicht den aktuellen. Und wer HTML serverseitig rendert, akzeptiert, dass die Seite zum Zeitpunkt der Auslieferung bereits veraltet sein kann.</p>
<p>In dem Moment, in dem Daten die Datenbank verlassen, beginnen sie zu altern. Bis sie den Bildschirm einer Nutzerin oder eines Nutzers erreichen, sind sie bereits ein Schnappschuss der Vergangenheit. Die Kundin sieht „Bestellung bestätigt“, aber das Lagersystem hat den Auftrag noch nicht verarbeitet. Der Kunde sieht „3 Stück auf Lager“, aber jemand anders hat gerade zwei davon in den Warenkorb gelegt. Das ist kein Fehler. Das ist die Funktionsweise verteilter Systeme. Und jedes System mit einer Bedienoberfläche ist ein verteiltes System, denn das Endgerät ist ein eigener Knoten, das Netzwerk ist unzuverlässig, und zwischen Anfrage und Antwort vergeht Zeit.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Ich begegne in meiner Beratungsarbeit regelmäßig Teams, die überzeugt sind, ihre Systeme seien stark konsistent. Bei genauerem Hinsehen zeigt sich fast immer, dass die Konsistenz an der Datenbankgrenze endet. Dahinter beginnt eine Welt aus Caches, Replikas, Message-Queues und gerenderten Oberflächen, in der Daten bereits veraltet sind, bevor sie ankommen. Das System ist längst eventually consistent. Es gibt nur niemanden, der das ausspricht.</p>
<h3 class="subheading" id="nav_konsistenz_vor__1">Konsistenz vor dem Computer</h3>
<p>Eventual Consistency ist kein Phänomen, das mit verteilten Softwaresystemen entstanden ist. Sie ist ein Grundproblem der physischen Welt, und Unternehmen haben seit Jahrhunderten Wege gefunden, damit umzugehen.</p>
<p>Man stelle sich eine Firma mit zwei Vertriebsbüros in verschiedenen Städten vor, zu einer Zeit, als das Telefon das schnellste Kommunikationsmittel war. Beide Büros verkaufen aus demselben Lagerbestand. Eine Kundin in München möchte die letzte Einheit eines Produkts kaufen. Ein Kunde in Hamburg möchte dieselbe Einheit kaufen. Keiner der beiden Vertriebsmitarbeiter weiß, was der andere gerade macht.</p>
<p>Wie haben Unternehmen dieses Problem gelöst? Nicht durch perfekte Echtzeitsynchronisation. Sie haben akzeptiert, dass Konflikte auftreten werden, und Prozesse entwickelt, um sie zu behandeln. Sie haben überbucht und sich entschuldigt. Sie haben Sicherheitsbestände geführt. Sie haben im Lager angerufen, bevor sie eine Lieferung zugesagt haben. Sie haben enttäuschte Kundinnen und Kunden kompensiert. Sie haben Risiken gemanagt, nicht Konsistenz.</p>
<p>Das gleiche Produkt, das gleiche Problem, nur mit Stift und Papier statt mit Datenbanken. Keine Technologie der Welt kann diese grundlegende Herausforderung eliminieren: zwei Personen, zwei Orte, eine Ressource, unvollständige Information. Die Naturgesetze garantieren, dass Information Zeit braucht, um sich auszubreiten. Perfekte Synchronisation ist nicht nur schwierig. Sie ist unmöglich.</p>
<p>Das Interessante daran ist, dass diese analogen Prozesse oft erstaunlich gut funktioniert haben. Nicht weil sie Inkonsistenzen verhindert hätten, sondern weil sie Strategien für den Umgang mit ihnen entwickelt hatten. Die Buchhaltung glich am Ende des Tages die Bestände ab. Der Vertrieb rief im Zweifelsfall im Lager an. Und wenn doch einmal zwei Kunden dasselbe Produkt zugesagt bekamen, gab es ein Gespräch, eine Entschuldigung und eine Lösung. Der Geschäftsprozess war auf Konflikte vorbereitet, weil niemand auf die Idee gekommen wäre, sie für unmöglich zu erklären.</p>
<p>Wenn ich mit Teams über Eventual Consistency spreche, hilft dieser historische Blick oft mehr als jedes Architekturdiagramm. Er verschiebt das Problem aus der technischen Ecke in die geschäftliche, wo es hingehört. Die Frage lautet nicht: Wie verhindern wir Inkonsistenz? Sie lautet: Wie gehen wir mit ihr um?</p>
<h3 class="subheading" id="nav_die_richtigen__2">Die richtigen Fragen stellen</h3>
<p>Wenn Entwicklerinnen und Entwickler über Eventual Consistency diskutieren, stellen sie häufig die falsche Frage. Sie fragen: Ist Eventual Consistency hier akzeptabel? Das rahmt Konsistenz als binäre Eigenschaft, als hätte man sie oder hätte sie nicht.</p>
<p>Die richtigen Fragen sind anders: Wie häufig tritt ein Konflikt tatsächlich auf? Wenn zwei Nutzerinnen oder Nutzer gleichzeitig den letzten Artikel kaufen wollen: Passiert das einmal am Tag? Einmal im Monat? Einmal im Jahr? Die Häufigkeit entscheidet darüber, ob ein Konflikt ein reales Problem ist oder eine theoretische Sorge. Was kostet ein Konflikt? Ist die Konsequenz eine enttäuschte Kundin? Eine Rückerstattung? Ein manueller Eingriff? Ein rechtliches Problem? Die Kosten bestimmen, wie viel Aufwand die Vermeidung rechtfertigt. Und was kostet die Vermeidung? Stärkere Konsistenzgarantien sind nicht kostenlos. Sie erfordern Koordination, also Latenz. Sie erfordern Sperren, also geringeren Durchsatz. Sie erfordern Infrastruktur, also Geld.</p>
<p>Das sind betriebswirtschaftliche Fragen, keine Ingenieursfragen. Das Entwicklungsteam kann erklären, was technisch möglich ist und was jede Option kostet. Aber die Entscheidung über das akzeptable Risiko gehört ins Business. Ein Bezahlsystem und ein Social-Media-Feed haben unterschiedliche Toleranzen. Eine Patientenakte und ein Warenkorb haben unterschiedliche Anforderungen. Der Kontext bestimmt die Antwort.</p>
<p>Genau deshalb gehören Diskussionen über Eventual Consistency nicht ausschließlich in Technik-Meetings. Das Team mag starke Meinungen über technische Korrektheit haben, weiß aber vielleicht nicht, dass die Fachabteilung eine Verzögerung von einer Sekunde bereitwillig akzeptieren würde, wenn dafür die Infrastrukturkosten sinken. Oder es weiß nicht, dass ein bestimmter Anwendungsfall regulatorische Anforderungen hat, die stärkere Garantien verlangen. Das Gespräch braucht beide Perspektiven.</p>
<p>Alltagsbeispiele zeigen, wie selbstverständlich Eventual Consistency bereits ist. Paketverfolgung zeigt einen Status, der vor Stunden erfasst wurde. Das Paket wurde gescannt, als es das Sortierzentrum verlassen hat. Seitdem ist es unterwegs, möglicherweise bereits zugestellt. Die angezeigte Information ist veraltet, und das stört niemanden, weil ein ungefährer Überblick über den Fortschritt ausreicht. Bestandsanzeigen in Online-Shops sind ein ähnlicher Fall. „Nur noch 3 auf Lager“ war korrekt, als die Seite gerendert wurde. Inzwischen hat vielleicht jemand eines gekauft. Vielleicht hat jemand eines in den Warenkorb gelegt, ohne zu bestellen. Die Zahl ist ein Hinweis, keine Garantie. Und das ist akzeptabel, weil der Checkout-Prozess den Grenzfall abfängt, in dem der Artikel tatsächlich vergriffen ist.</p>
<p>Besonders aufschlussreich ist das Beispiel der Fluggesellschaften. Airlines überbuchen bewusst, weil sie wissen, dass ein Teil der Passagiere nicht erscheinen wird. Das Buchungssystem akzeptiert mehr Reservierungen, als Sitzplätze vorhanden sind. Wenn doch alle erscheinen, wird das Problem am Gate gelöst: Kompensation, Umbuchung, Upgrade. Das System ist darauf ausgelegt, Konflikte zu akzeptieren und sie nachträglich zu lösen. Das ist kein Versagen der Konsistenz. Es ist eine Geschäftsstrategie, die jedes Jahr Millionen von Flügen mit freien Sitzen füllt, die sonst leer geblieben wären.</p>
<p>All diese Systeme funktionieren. Ihre Nutzerinnen und Nutzer beschweren sich nicht, weil das Konsistenzfenster kurz genug ist oder weil der Geschäftsprozess die Ausnahmen elegant abfängt. Das Ziel war nie perfekte Konsistenz. Das Ziel war ausreichende Konsistenz.</p>
<h3 class="subheading" id="nav_der__3">Der Geldautomat, der weiterarbeitete</h3>
<p>Unter den vielen Beispielen, die ich in Gesprächen über Eventual Consistency verwende, ist eines besonders aufschlussreich, weil es die Perspektive komplett umdreht.</p>
<p>Geldautomaten sind normalerweise online und mit den Systemen der Bank in Echtzeit verbunden. Bei einer Abhebung prüft der Automat den Kontostand, verifiziert die Deckung und gibt das Geld aus. Einfach und konsistent. Doch was passiert, wenn die Netzwerkverbindung ausfällt und der Automat offline geht?</p>
<p>Die meisten Entwicklerinnen und Entwickler, denen ich diese Frage stelle, antworten: „Der Automat muss den Betrieb einstellen. Keine Verbindung bedeutet keine Kontostandsprüfung. Keine Prüfung bedeutet mögliche Überziehungen. Also abschalten, bis die Verbindung wiederhergestellt ist.“ Das ist die naheliegende, die sichere, die technisch korrekte Antwort. Es ist aber auch die falsche.</p>
<p>Man stelle sich einen prominenten Millionär vor, der an einem Geldautomaten steht und 50 Euro abheben möchte, nur um zu erfahren, dass der Automat außer Betrieb ist. Die Schlagzeile am nächsten Tag: „Bank lässt Topkunden wegen Netzwerkproblem im Regen stehen.“ Das ist keine Schlagzeile, die eine Bank gebrauchen kann. Der Reputationsschaden übersteigt jedes Überziehungsrisiko bei einer Kleinbetragabhebung um ein Vielfaches.</p>
<p>Was machen Banken also tatsächlich? Der Automat arbeitet weiter, auch offline. Aber mit intelligentem Risikomanagement. Die meisten Ausfälle sind kurz: Die Verbindung bricht für wenige Minuten ab und stellt sich dann von selbst wieder her. Bis jemand etwas bemerkt, hat sich das Problem bereits gelöst. Die meisten Menschen heben zudem nur Geld ab, wenn sie wissen, dass sie es haben. Niemand möchte die Peinlichkeit erleben, an einem Geldautomaten mit einer Schlange hinter sich abgelehnt zu werden. Diese Selbstselektion reduziert das Überziehungsrisiko erheblich. Und für den Fall, dass die Verbindung länger ausfällt, begrenzt die Bank den maximalen Abhebungsbetrag im Offline-Modus.</p>
<p>Doch der eigentlich interessante Punkt liegt woanders. Wenn jemand im Offline-Modus sein Konto tatsächlich überzieht, hat die Bank zwei Möglichkeiten, die Situation zu rahmen. Erste Variante: „Kunde nutzte Systemschwachstelle während Netzwerkausfall.“ Das klingt nach einem Sicherheitsvorfall. Zweite Variante: „Bank zeigte Flexibilität und half Kunden trotz technischer Schwierigkeiten.“ Das klingt nach exzellentem Kundenservice. Und nebenbei: Die Bank berechnet Überziehungszinsen. Der Kunde, der 50 Euro abgehoben hat, die er nicht hatte, zahlt sie zurück, mit Aufschlag. Die Bank hat eine technische Einschränkung in eine Einnahmequelle verwandelt.</p>
<p>Das ist es, was fachliches Denken über Konsistenz bedeutet. Die Entwicklerin sieht ein Konsistenzproblem und will es um jeden Preis verhindern. Die Geschäftsseite sieht eine Risiko-Ertrags-Rechnung und findet eine Lösung, die besser ist als sowohl „immer konsistent“ als auch „immer verfügbar“. Die beste Antwort lag nicht im Engineering-Meeting. Sie lag im Business-Meeting.</p>
<h3 class="subheading" id="nav_das_verstecken__4">Das Verstecken ist das eigentliche Risiko</h3>
<p>Die Gefahr liegt nicht in Eventual Consistency. Sie liegt darin, so zu tun, als gäbe es sie nicht.</p>
<p>Wer sein System für stark konsistent hält, entwirft keine Kompensationslogik. Wer keine Konflikte erwartet, baut keine Konfliktbehandlung. Wer keine veralteten Daten einplant, gestaltet keine Benutzererfahrung, die damit umgehen kann. Und wenn dann die Race Condition doch eintritt, wenn der Cache im falschen Moment veraltete Daten liefert, wenn die Replica-Verzögerung zu einer sichtbaren Inkonsistenz führt, gibt es keinen Plan. Das System versagt auf eine Weise, die niemand vorhergesehen hat, weil sich niemand die Mühe gemacht hat, sie vorherzusehen.</p>
<p>Wer Eventual Consistency dagegen anerkennt, entwirft dafür. Man denkt darüber nach, was passiert, wenn Daten veraltet sind. Man baut idempotente Operationen, die gefahrlos wiederholt werden können. Man schafft Kompensationsmechanismen für den Fall, dass etwas schiefgeht. Man kommuniziert Unsicherheit gegenüber Nutzerinnen und Nutzern, statt falsche Sicherheit zu vermitteln.</p>
<p>In der Praxis bedeutet das konkrete Entwurfsentscheidungen. Statt „Bestellung erfolgreich“ anzuzeigen, wenn die Bestellung lediglich angenommen wurde, zeigt man „Bestellung wird verarbeitet“ und aktualisiert den Status, sobald die Verarbeitung abgeschlossen ist. Statt eine Schaltfläche nach dem Klick zu deaktivieren und auf Konsistenz zu hoffen, gestaltet man die Operation idempotent, sodass ein doppelter Klick keinen Schaden anrichtet. Statt einen Fehler zu zeigen, wenn ein Artikel zwischen Warenkorb und Checkout vergriffen ist, bietet man eine Alternative an. Das sind keine technischen Notlösungen. Das sind durchdachte Benutzererlebnisse, die auf einer ehrlichen Einschätzung der Systemrealität basieren.</p>
<p>Die deutsche Fehlübersetzung ist dabei versehentlich tiefgründig. „Eventuell konsistent“ klingt bedrohlich, weil Unsicherheit bedrohlich klingt. Aber Unsicherheit ist die Realität verteilter Systeme. Die Wahl besteht nicht zwischen Sicherheit und Unsicherheit. Sie besteht zwischen eingestandener und versteckter Unsicherheit. Das eine führt zu robusten Systemen. Das andere führt zu Überraschungen.</p>
<p>Eventual Consistency ist keine Einschränkung, die es zu überwinden gilt. Sie ist eine Realität, für die es zu entwerfen gilt. Ihre Systeme sind bereits eventually consistent. Die Frage ist, ob Sie für diese Realität entwerfen oder so tun, als existiere sie nicht. Und diese Frage ist keine, die ein Engineering-Team allein beantworten sollte. Sie ist eine fachliche Entscheidung. Das war sie schon immer.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:rme@ix.de" title="Rainald Menge-Sonnentag">rme</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11229014"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11229014: Konsistenz ist eine fachliche Entscheidung"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-08T08:13:00.000Z
urn:bid:5052910
2026-04-08T07:41:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Der Blog beschäftigt sich mit einem der größten Fallstricke von C++: reinterpret_cast kann zweckentfremdet undefiniertes Verhalten auslösen.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fblog%2FProgrammiersprache-C-Was-reinterpret-cast-nicht-tut-11225887.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fblog%2FProgrammiersprache-C-Was-reinterpret-cast-nicht-tut-11225887.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/blog/Programmiersprache-C-Was-reinterpret-cast-nicht-tut-11225887.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Programmiersprache-C-Was-reinterpret-cast-nicht-tut/forum-580632/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>34</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/2/9/1/0/Heise-Blog-Werkstatt-Vektor-c19a9e4246b47842.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/2/9/1/0/Heise-Blog-Werkstatt-Vektor-c19a9e4246b47842.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/2/9/1/0/Heise-Blog-Werkstatt-Vektor-c19a9e4246b47842.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/2/9/1/0/Heise-Blog-Werkstatt-Vektor-c19a9e4246b47842.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/2/9/1/0/Heise-Blog-Werkstatt-Vektor-c19a9e4246b47842.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/2/9/1/0/Heise-Blog-Werkstatt-Vektor-c19a9e4246b47842.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="(C) Franziska Panter"
width="610"
height="343"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: <a href="https://www.franziskapanter.com/" target="_blank" rel="external noopener">Fransizka Panter</a>)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-08T09:41:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>08.04.2026,
</span>
<span class="a-datetime__time ">09:41
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
6 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Andreas Fertig</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<p>Im heutigen Beitrag werde ich eine der größten Fallstricke von C++ erläutern: <code>reinterpret_cast</code>. Ein anderer Titel für diesen Beitrag könnte lauten: „Das ist <strong>nicht</strong> der Cast, den du suchst!“</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Die C++ Werkbank – Andreas Fertig
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Portrait von Andreas Fertig" height="450" high-dpi-quality="70" quality="85" src="/imgs/71/4/9/9/4/1/0/2/andreas-fertig-450x450-28c54f7f92bb05ac.png" style="aspect-ratio: 450 / 450;" width="450">
<img alt="Portrait von Andreas Fertig" height="450" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 450 / 450; object-fit: cover;" width="450">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Andreas Fertig ist erfahrener C++-Trainer und Berater, der weltweit Präsenz- sowie Remote-Kurse anbietet. Er engagiert sich im C++-Standardisierungskomitee und spricht regelmäßig auf internationalen Konferenzen. Mit C++ Insights (https://cppinsights.io) hat er ein international anerkanntes Tool entwickelt, das C++-Programmierenden hilft, C++ noch besser zu verstehen.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<p>Meine Motivation für diesen Blogbeitrag stammt aus mehreren Schulungen und einigen Vorträgen, die ich gehalten habe. Seit C++23 gibt es in der Standardbibliothek eine neue Funktion: <code>std::start_lifetime_as</code>. Wenn ich Kurse mit Schwerpunkt auf eingebetteten Umgebungen unterrichte oder Vorträge mit diesem Schwerpunkt halte, habe ich begonnen, <code>std::start_lifetime_as</code> in das Material aufzunehmen. Mit einem interessanten Ergebnis.</p>
<p>Das Feedback, das ich bekomme, lautet in etwa:</p>
<ul class="rte__list rte__list--unordered"><li>Warum benötige ich <code>std::start_lifetime_as</code>, ich habe doch schon <code>reinterpret_cast</code>?</li><li>Warum kann ich <code>reinterpret_cast</code> nicht verwenden?</li></ul>
<p>Wer noch nie von <code>start_lifetime_as</code> gehört hat, findet weitere Informationen in meinem englischen Artikel „<a href="https://andreasfertig.com/blog/2025/04/the-correct-way-to-do-type-punning-in-cpp-the-second-act/" rel="external noopener" target="_blank">The correct way to do type punning in C++ - The second act“</a>. Ich verwende folgendes Beispiel daraus:</p>
<!-- RSPEAK_STOP -->
<a-code language="cpp">
<pre class="rte__tx--listing listing"><code>struct ConfigValues {
uint32_t chksum;
std::array<uint32_t, 128> values;
};
bool ProcessData(std::span<unsigned char> bytes)
{
if(bytes.size() < sizeof(ConfigValues)) { return false; }
// #A
ConfigValues* cfgValues = reinterpret_cast<ConfigValues*>(bytes.data());
return HandleConfigValues(cfgValues);
}</code></pre>
</a-code>
<!-- RSPEAK_START -->
<p>Die Idee hier ist, eine Reihe von rohen Bytes in eine bekannte Struktur umzuwandeln – hier mit dem Namen <code>ConfigValues</code>. Zusammen mit <code>start_lifetime_as</code> gerate ich immer öfter in Gespräche, in denen mir Leute sagen, dass der Name <code>reinterpret</code> impliziert, dass solcher Code wie erwartet funktionieren sollte. Die Erwartung ist, dass solcher Code frei von undefiniertem Verhalten ist und tatsächlich einen Zeiger auf ein <code>ConfigValues</code>-Objekt zurückgibt.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Zwar kann ich einer solchen Erwartung aufgrund des Wortlauts des Standards und des C++-Objektmodells nicht widersprechen, doch eine solche Erwartung führt zu undefiniertem Verhalten. In einer typsicheren Sprache kann ein Objekt nicht in ein anderes, nicht verwandtes Objekt konvertiert werden.</p>
<p>Der wichtigste Wortlaut ist <a href="https://eel.is/c++draft/expr.reinterpret.cast#7" rel="external noopener" target="_blank">[expr.reinterpret.cast § 7]</a>, der besagt:</p>
<p><em>An object pointer can be explicitly converted to an object pointer of a different type. When a prvalue v of object pointer type is converted to the object pointer type “pointer to cv T”, the result is static_cast<cv T*>(static_cast<cv void*>(v)). [Note 5: Converting a pointer of type “pointer to T1” that points to an object of type T1 to the type “pointer to T2” (where T2 is an object type and the alignment requirements of T2 are no stricter than those of T1) and back to its original type yields the original pointer value. — end note]</em></p>
<p>Zunächst einmal handelt dieser ganze Absatz von Zeigern auf Objekte und nicht von Objekten selbst. Es heißt, dass du ein <code>ConfigValues</code> in einen <code>void*</code> oder einen beliebigen anderen Datentyp konvertieren kannst, der ein Objekttyp ist. Ein Objekttyp ist alles außer einem Funktionstyp, einem Referenztyp und <code>void</code>.</p>
<p>Weiter unten in der Anmerkung bestätigt der Standard ausdrücklich, dass du einen Rundlauf durchführen kannst. Zum Beispiel:</p>
<!-- RSPEAK_STOP -->
<a-code language="cpp">
<pre class="rte__tx--listing listing"><code>ConfigValues cfg{};
ConfigValues* val{&cfg};
void* typeErased = reinterpret_cast<void*>(val);
ConfigValues* roundTripBackToVal = reinterpret_cast<ConfigValues*>(typeErased);</code></pre>
</a-code>
<!-- RSPEAK_START -->
<p>Dies ermöglicht Konstrukte, die sogenannte Typlöschung (Type Erasure) nutzen, wie <code>std::any</code>. Du kannst einen Alias eines anderen Zeigertyps erhalten.</p>
<h3 class="subheading" id="nav_konvertierung__0">Konvertierung nur für den Zeiger </h3>
<p>In diesem Absatz ist von einer Konvertierung des Objekts selbst keine Rede. Nur den Zeiger kann man konvertieren.</p>
<p>Im Sinne des C++-Objektmodells muss eine Anwendung ein gültiges Objekt erstellen (und später zerstören). Aber alles, was jemals erstellt wurde, ist ein <code>ConfigValues</code>-Objekt. <code>reinterpret_cast</code> ist ein Werkzeug, das es ermöglicht, einen Zeiger eines anderen Typs zu speichern. Sobald du ihn verwenden möchtest, musst du den Zeiger wieder in seinen ursprünglichen Typ zurückkonvertieren.</p>
<p>Nehmen wir einmal an, <code>reinterpret_cast</code> würde so funktionieren, wie manche Leute es erwarten:</p>
<!-- RSPEAK_STOP -->
<a-code language="cpp">
<pre class="rte__tx--listing listing"><code>struct Apple {
int x;
};
struct Orange {
int y;
};
Apple* grannySmith{new Apple{4}};
Orange* bali{reinterpret_cast<Orange*>(grannySmith)}; // #A
int y = bali->y;
int x = grannySmith->x;</code></pre>
</a-code>
<!-- RSPEAK_START -->
<p>Nach den Regeln von C++ muss ein Objekt erstellt und zerstört werden. Wenn #A ein Objekt erstellen würde, müsste es das <code>grannySmith</code>-Objekt zerstören. Was überraschend wäre. Dann hättest du keine Möglichkeit, eine Typlöschung wie <code>std::any</code> zu implementieren, da das Speichern eines gelöschten Typs <code>void*</code> das ursprüngliche Objekt aus Sicht der abstrakten Maschinerie von C++ zerstören würde. Das würde dem Compiler ermöglichen, verschiedene andere Optimierungen vorzunehmen, die das Programm zum Absturz bringen würden.</p>
<p>Mit <code>reinterpret_cast</code> hast du eine Möglichkeit, ein Objekt <code>A</code> als einen anderen Typ <code>B</code> zu aliasieren, jedoch ohne das Recht, jemals über diesen Zeiger auf ein <code>B</code>-Objekt zuzugreifen. Andererseits erstellt <code>start_lifetime_as</code> implizit ein <code>B</code>-Objekt am Zielort des Zeigers <code>A</code>, während gleichzeitig die Lebensdauer von <code>A</code> beendet wird.</p>
<h2 id="nav_ein_objekt_ins__1">Ein Objekt ins Leben rufen</h2>
<p>Meist will man in diesen Situationen ein Objekt eines anderen Typs zum Leben erwecken. Und genau dafür ist <code>std::start_lifetime_as</code> gedacht.</p>
<p>Wenn du <code>std::start_lifetime_as</code> auf einen Zeiger anwendest, versteht die abstrakte Maschine, dass du ein neues Objekt dieses Typs erstellst. Im Gegensatz zu einem Aufruf von <code>new</code> oder einem Stack-Objekt wird kein Konstruktor ausgeführt. Alles geschieht nur innerhalb des C++-Objektmodells.</p>
<p>Es gibt noch eine weitere Funktion von <code>std::start_lifetime_as</code>: Wenn es die Lebensdauer eines neuen Objekts startet, wird die Lebensdauer der Quelle automatisch beendet, wiederum ohne einen tatsächlichen Destruktor aufzurufen. Das ist hier entscheidend.</p>
<p>Wenn ich <code>std::start_lifetime_as</code> auf mein vorheriges Beispiel anwende, sieht die korrekte Implementierung wie folgt aus:</p>
<!-- RSPEAK_STOP -->
<a-code language="cpp">
<pre class="rte__tx--listing listing"><code>struct Apple {
int x;
};
struct Orange {
int y;
};
Apple* grannySmith{new Apple{4}};
Orange* bali{std::start_lifetime_as<Orange>(grannySmith)}; // #A
int y = bali->y;
grannySmith = std::start_lifetime_as<Apple>(bali); // #B
int x = grannySmith->x;</code></pre>
</a-code>
<!-- RSPEAK_START -->
<p>Der Code in #B startet die Lebensdauer des Zeigers erneut als <code>Apple</code>-Objekt.</p>
<h2 id="nav_wichtigste__2">Wichtigste Erkenntnisse</h2>
<p>Mit <code>reinterpret_cast</code> erhältst du nur eine Zeigerkonvertierung. Du darfst diesen neuen Zeiger nicht verwenden, um auf ein Objekt des Typs zuzugreifen.</p>
<p>Wenn du die Lebensdauer eines Objekts starten möchtest, um auf Daten als neuen Typ zuzugreifen, benötigst du <code>std::start_lifetime_as</code>.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:rme@ix.de" title="Rainald Menge-Sonnentag">rme</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11225887"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11225887: Programmiersprache C++: Was reinterpret_cast nicht tut"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Der Blog beschäftigt sich mit einem der größten Fallstricke von C++: reinterpret_cast kann zweckentfremdet undefiniertes Verhalten auslösen.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fblog%2FProgrammiersprache-C-Was-reinterpret-cast-nicht-tut-11225887.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fblog%2FProgrammiersprache-C-Was-reinterpret-cast-nicht-tut-11225887.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/blog/Programmiersprache-C-Was-reinterpret-cast-nicht-tut-11225887.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Programmiersprache-C-Was-reinterpret-cast-nicht-tut/forum-580632/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>34</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/2/9/1/0/Heise-Blog-Werkstatt-Vektor-c19a9e4246b47842.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/2/9/1/0/Heise-Blog-Werkstatt-Vektor-c19a9e4246b47842.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/2/9/1/0/Heise-Blog-Werkstatt-Vektor-c19a9e4246b47842.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/2/9/1/0/Heise-Blog-Werkstatt-Vektor-c19a9e4246b47842.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/2/9/1/0/Heise-Blog-Werkstatt-Vektor-c19a9e4246b47842.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/2/9/1/0/Heise-Blog-Werkstatt-Vektor-c19a9e4246b47842.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="(C) Franziska Panter"
width="610"
height="343"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: <a href="https://www.franziskapanter.com/" target="_blank" rel="external noopener">Fransizka Panter</a>)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-08T09:41:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>08.04.2026,
</span>
<span class="a-datetime__time ">09:41
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
6 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Andreas Fertig</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<p>Im heutigen Beitrag werde ich eine der größten Fallstricke von C++ erläutern: <code>reinterpret_cast</code>. Ein anderer Titel für diesen Beitrag könnte lauten: „Das ist <strong>nicht</strong> der Cast, den du suchst!“</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-collapse class="
a-box
a-box--collapsable
a-box--full-bordered
js-dossier a-u-hide-from-desktop a-inline-textbox
" media="(min-width: 993px)" sneak-peek toggle-class-on-media="a-box--full-bordered">
<header class="
a-box__header
">
<span>
Die C++ Werkbank – Andreas Fertig
</span>
</header>
<div class="a-box__target" data-collapse-target>
<div class="a-box__content">
<div class="
a-inline-textbox__content
a-inline-textbox__content--horizontal-layout
" data-collapse-content>
<figure class="a-inline-textbox__image-container">
<a-img alt="Portrait von Andreas Fertig" height="450" high-dpi-quality="70" quality="85" src="/imgs/71/4/9/9/4/1/0/2/andreas-fertig-450x450-28c54f7f92bb05ac.png" style="aspect-ratio: 450 / 450;" width="450">
<img alt="Portrait von Andreas Fertig" height="450" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 450 / 450; object-fit: cover;" width="450">
</a-img>
</figure>
<div class="a-inline-textbox__content-container">
<p class="a-inline-textbox__synopsis">
Andreas Fertig ist erfahrener C++-Trainer und Berater, der weltweit Präsenz- sowie Remote-Kurse anbietet. Er engagiert sich im C++-Standardisierungskomitee und spricht regelmäßig auf internationalen Konferenzen. Mit C++ Insights (https://cppinsights.io) hat er ein international anerkanntes Tool entwickelt, das C++-Programmierenden hilft, C++ noch besser zu verstehen.
</p>
</div>
</div>
</div>
</div>
<div data-collapse-trigger></div>
</a-collapse>
<!-- RSPEAK_START -->
<p>Meine Motivation für diesen Blogbeitrag stammt aus mehreren Schulungen und einigen Vorträgen, die ich gehalten habe. Seit C++23 gibt es in der Standardbibliothek eine neue Funktion: <code>std::start_lifetime_as</code>. Wenn ich Kurse mit Schwerpunkt auf eingebetteten Umgebungen unterrichte oder Vorträge mit diesem Schwerpunkt halte, habe ich begonnen, <code>std::start_lifetime_as</code> in das Material aufzunehmen. Mit einem interessanten Ergebnis.</p>
<p>Das Feedback, das ich bekomme, lautet in etwa:</p>
<ul class="rte__list rte__list--unordered"><li>Warum benötige ich <code>std::start_lifetime_as</code>, ich habe doch schon <code>reinterpret_cast</code>?</li><li>Warum kann ich <code>reinterpret_cast</code> nicht verwenden?</li></ul>
<p>Wer noch nie von <code>start_lifetime_as</code> gehört hat, findet weitere Informationen in meinem englischen Artikel „<a href="https://andreasfertig.com/blog/2025/04/the-correct-way-to-do-type-punning-in-cpp-the-second-act/" rel="external noopener" target="_blank">The correct way to do type punning in C++ - The second act“</a>. Ich verwende folgendes Beispiel daraus:</p>
<!-- RSPEAK_STOP -->
<a-code language="cpp">
<pre class="rte__tx--listing listing"><code>struct ConfigValues {
uint32_t chksum;
std::array<uint32_t, 128> values;
};
bool ProcessData(std::span<unsigned char> bytes)
{
if(bytes.size() < sizeof(ConfigValues)) { return false; }
// #A
ConfigValues* cfgValues = reinterpret_cast<ConfigValues*>(bytes.data());
return HandleConfigValues(cfgValues);
}</code></pre>
</a-code>
<!-- RSPEAK_START -->
<p>Die Idee hier ist, eine Reihe von rohen Bytes in eine bekannte Struktur umzuwandeln – hier mit dem Namen <code>ConfigValues</code>. Zusammen mit <code>start_lifetime_as</code> gerate ich immer öfter in Gespräche, in denen mir Leute sagen, dass der Name <code>reinterpret</code> impliziert, dass solcher Code wie erwartet funktionieren sollte. Die Erwartung ist, dass solcher Code frei von undefiniertem Verhalten ist und tatsächlich einen Zeiger auf ein <code>ConfigValues</code>-Objekt zurückgibt.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Zwar kann ich einer solchen Erwartung aufgrund des Wortlauts des Standards und des C++-Objektmodells nicht widersprechen, doch eine solche Erwartung führt zu undefiniertem Verhalten. In einer typsicheren Sprache kann ein Objekt nicht in ein anderes, nicht verwandtes Objekt konvertiert werden.</p>
<p>Der wichtigste Wortlaut ist <a href="https://eel.is/c++draft/expr.reinterpret.cast#7" rel="external noopener" target="_blank">[expr.reinterpret.cast § 7]</a>, der besagt:</p>
<p><em>An object pointer can be explicitly converted to an object pointer of a different type. When a prvalue v of object pointer type is converted to the object pointer type “pointer to cv T”, the result is static_cast<cv T*>(static_cast<cv void*>(v)). [Note 5: Converting a pointer of type “pointer to T1” that points to an object of type T1 to the type “pointer to T2” (where T2 is an object type and the alignment requirements of T2 are no stricter than those of T1) and back to its original type yields the original pointer value. — end note]</em></p>
<p>Zunächst einmal handelt dieser ganze Absatz von Zeigern auf Objekte und nicht von Objekten selbst. Es heißt, dass du ein <code>ConfigValues</code> in einen <code>void*</code> oder einen beliebigen anderen Datentyp konvertieren kannst, der ein Objekttyp ist. Ein Objekttyp ist alles außer einem Funktionstyp, einem Referenztyp und <code>void</code>.</p>
<p>Weiter unten in der Anmerkung bestätigt der Standard ausdrücklich, dass du einen Rundlauf durchführen kannst. Zum Beispiel:</p>
<!-- RSPEAK_STOP -->
<a-code language="cpp">
<pre class="rte__tx--listing listing"><code>ConfigValues cfg{};
ConfigValues* val{&cfg};
void* typeErased = reinterpret_cast<void*>(val);
ConfigValues* roundTripBackToVal = reinterpret_cast<ConfigValues*>(typeErased);</code></pre>
</a-code>
<!-- RSPEAK_START -->
<p>Dies ermöglicht Konstrukte, die sogenannte Typlöschung (Type Erasure) nutzen, wie <code>std::any</code>. Du kannst einen Alias eines anderen Zeigertyps erhalten.</p>
<h3 class="subheading" id="nav_konvertierung__0">Konvertierung nur für den Zeiger </h3>
<p>In diesem Absatz ist von einer Konvertierung des Objekts selbst keine Rede. Nur den Zeiger kann man konvertieren.</p>
<p>Im Sinne des C++-Objektmodells muss eine Anwendung ein gültiges Objekt erstellen (und später zerstören). Aber alles, was jemals erstellt wurde, ist ein <code>ConfigValues</code>-Objekt. <code>reinterpret_cast</code> ist ein Werkzeug, das es ermöglicht, einen Zeiger eines anderen Typs zu speichern. Sobald du ihn verwenden möchtest, musst du den Zeiger wieder in seinen ursprünglichen Typ zurückkonvertieren.</p>
<p>Nehmen wir einmal an, <code>reinterpret_cast</code> würde so funktionieren, wie manche Leute es erwarten:</p>
<!-- RSPEAK_STOP -->
<a-code language="cpp">
<pre class="rte__tx--listing listing"><code>struct Apple {
int x;
};
struct Orange {
int y;
};
Apple* grannySmith{new Apple{4}};
Orange* bali{reinterpret_cast<Orange*>(grannySmith)}; // #A
int y = bali->y;
int x = grannySmith->x;</code></pre>
</a-code>
<!-- RSPEAK_START -->
<p>Nach den Regeln von C++ muss ein Objekt erstellt und zerstört werden. Wenn #A ein Objekt erstellen würde, müsste es das <code>grannySmith</code>-Objekt zerstören. Was überraschend wäre. Dann hättest du keine Möglichkeit, eine Typlöschung wie <code>std::any</code> zu implementieren, da das Speichern eines gelöschten Typs <code>void*</code> das ursprüngliche Objekt aus Sicht der abstrakten Maschinerie von C++ zerstören würde. Das würde dem Compiler ermöglichen, verschiedene andere Optimierungen vorzunehmen, die das Programm zum Absturz bringen würden.</p>
<p>Mit <code>reinterpret_cast</code> hast du eine Möglichkeit, ein Objekt <code>A</code> als einen anderen Typ <code>B</code> zu aliasieren, jedoch ohne das Recht, jemals über diesen Zeiger auf ein <code>B</code>-Objekt zuzugreifen. Andererseits erstellt <code>start_lifetime_as</code> implizit ein <code>B</code>-Objekt am Zielort des Zeigers <code>A</code>, während gleichzeitig die Lebensdauer von <code>A</code> beendet wird.</p>
<h2 id="nav_ein_objekt_ins__1">Ein Objekt ins Leben rufen</h2>
<p>Meist will man in diesen Situationen ein Objekt eines anderen Typs zum Leben erwecken. Und genau dafür ist <code>std::start_lifetime_as</code> gedacht.</p>
<p>Wenn du <code>std::start_lifetime_as</code> auf einen Zeiger anwendest, versteht die abstrakte Maschine, dass du ein neues Objekt dieses Typs erstellst. Im Gegensatz zu einem Aufruf von <code>new</code> oder einem Stack-Objekt wird kein Konstruktor ausgeführt. Alles geschieht nur innerhalb des C++-Objektmodells.</p>
<p>Es gibt noch eine weitere Funktion von <code>std::start_lifetime_as</code>: Wenn es die Lebensdauer eines neuen Objekts startet, wird die Lebensdauer der Quelle automatisch beendet, wiederum ohne einen tatsächlichen Destruktor aufzurufen. Das ist hier entscheidend.</p>
<p>Wenn ich <code>std::start_lifetime_as</code> auf mein vorheriges Beispiel anwende, sieht die korrekte Implementierung wie folgt aus:</p>
<!-- RSPEAK_STOP -->
<a-code language="cpp">
<pre class="rte__tx--listing listing"><code>struct Apple {
int x;
};
struct Orange {
int y;
};
Apple* grannySmith{new Apple{4}};
Orange* bali{std::start_lifetime_as<Orange>(grannySmith)}; // #A
int y = bali->y;
grannySmith = std::start_lifetime_as<Apple>(bali); // #B
int x = grannySmith->x;</code></pre>
</a-code>
<!-- RSPEAK_START -->
<p>Der Code in #B startet die Lebensdauer des Zeigers erneut als <code>Apple</code>-Objekt.</p>
<h2 id="nav_wichtigste__2">Wichtigste Erkenntnisse</h2>
<p>Mit <code>reinterpret_cast</code> erhältst du nur eine Zeigerkonvertierung. Du darfst diesen neuen Zeiger nicht verwenden, um auf ein Objekt des Typs zuzugreifen.</p>
<p>Wenn du die Lebensdauer eines Objekts starten möchtest, um auf Daten als neuen Typ zuzugreifen, benötigst du <code>std::start_lifetime_as</code>.</p>
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:rme@ix.de" title="Rainald Menge-Sonnentag">rme</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11225887"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11225887: Programmiersprache C++: Was reinterpret_cast nicht tut"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-08T07:41:00.000Z
urn:bid:5058905
2026-04-08T05:03:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Anthropics neues KI-Modell Mythos soll so effektiv im Finden und Ausnutzen von Sicherheitslücken sein, dass es nur IT-Infrastruktur absichern soll.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Anthropic-s-new-AI-model-Mythos-Too-dangerous-for-the-public-11248061.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FAnthropics-neues-KI-Modell-Mythos-Zu-gefaehrlich-fuer-die-Oeffentlichkeit-11248034.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.newsticker.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FAnthropics-neues-KI-Modell-Mythos-Zu-gefaehrlich-fuer-die-Oeffentlichkeit-11248034.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Anthropics-neues-KI-Modell-Mythos-Zu-gefaehrlich-fuer-die-Oeffentlichkeit-11248034.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.newsticker.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Anthropics-neues-KI-Modell-Mythos-Zu-gefaehrlich-fuer-die-Oeffentlichkeit/forum-580616/comment/"
class="a-article-action"
name="meldung.newsticker.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>128</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/8/9/0/5/shutterstock_2692522213-92a72f14a4333716.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/0/5/shutterstock_2692522213-92a72f14a4333716.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/0/5/shutterstock_2692522213-92a72f14a4333716.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/0/5/shutterstock_2692522213-92a72f14a4333716.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/0/5/shutterstock_2692522213-92a72f14a4333716.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/0/5/shutterstock_2692522213-92a72f14a4333716.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Eine Hand mit einer digitalen roten Weltkugel und lauter Warnzeichen"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: tete_escape/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-08T07:03:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>08.04.2026,
</span>
<span class="a-datetime__time ">07:03
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/newsticker/">
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Martin-Holland-3639057"
class="creator__link"
>Martin Holland</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Anthropic-s-new-AI-model-Mythos-Too-dangerous-for-the-public-11248061.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Anthropic hat mit Mythos ein neues KI-Modell vorgestellt, das so gefährlich sein soll, dass es nicht öffentlich gemacht werden soll. Stattdessen soll Claude Mythos Preview im Rahmen einer Initiative namens Project Glasswing zuerst ausschließlich einer Reihe von Firmen zur Verfügung gestellt werden, die an IT-Sicherheit arbeiten. Die sollen die KI-Technik nutzen, um die „kritischste Software der Welt“ abzusichern. Das KI-Modell habe bereits tausende hochriskante Zero-Day-Lücken identifiziert, begründet Anthropic den Schritt. Solche seien in allen großen Betriebssystemen und jedem Internetbrowser, aber auch in zahlreicher anderer Software entdeckt worden. Vor allem sei Mythos Preview deutlich häufiger in der Lage, einen funktionierenden Exploit zu entwickeln.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_jahrzehntealte__0">Jahrzehntealte Lücken identifiziert</h3>
<p>Als Beispiel <a href="https://www.anthropic.com/glasswing" rel="external noopener" target="_blank">listet Anthropic</a> etwa eine seit 27 Jahren übersehene Lücke in OpenBSD auf, über die Angreifer ein Gerät aus der Ferne zum Absturz bringen könnten, „indem sie sich nur damit verbinden“. Auch von einer 16 Jahre alten Lücke in FFmpeg ist da die Rede, die bei fünf Millionen automatischen Scans mit speziellen Suchwerkzeugen nicht identifiziert worden sei. Zudem sei das Modell in der Lage gewesen, eine Reihe von bislang unbekannten Lücken im Linux-Kernel zusammenzuführen und daraus eine Attacke zu entwickeln, die es einem Angreifer ermöglichen würde, als normaler User die komplette Kontrolle über einen Rechner zu erlangen. Diese und andere Lücken seien den jeweils Verantwortlichen gemeldet worden. Anthropic hat dazu <a href="https://red.anthropic.com/2026/mythos-preview/" rel="external noopener" target="_blank">einen Blogeintrag</a> veröffentlicht.</p>
<p>Der jetzt vorgestellten Initiative „Project Glasswing“ gehören demnach unter anderem Amazon Web Services (AWS), Anthropic, Apple, Broadcom, Cisco, CrowdStrike, Google, JPMorganChase, die Linux Foundation, Microsoft, NVIDIA und Palo Alto Networks an. 40 weitere Organisationen, die Software für kritische Infrastruktur verantworten, seien ebenfalls beteiligt. Insgesamt stellt Anthropic demnach Nutzungsrechte im Wert von bis zu 100 Millionen US-Dollar für das neue KI-Modell zur Verfügung, 4 Millionen US-Dollar sollen direkt an Betreiber von Open-Source-Software gehen. Damit soll ihnen allen ermöglicht werden, Systeme nach Schwachstellen zu durchsuchen. Die sollen geschlossen werden, bevor andere KI-Modelle zu den Fähigkeiten von Mythos aufholen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Anthropic ist primär für seine KI Claude bekannt, die mit ChatGPT von OpenAI konkurriert. Zuletzt geriet die Firma aber durch einen Streit mit dem Pentagon in die Schlagzeilen: Anthropic lehnte den Einsatz seiner KI in autonomen Waffen oder zur Massenüberwachung in den USA ab und wurde im Gegenzug zum Sicherheitsrisiko erklärt. Dagegen geht das Unternehmen <a href="http://www.heise.de/news/US-Regierung-versus-Anthropic-Berufung-gegen-Sanktionsstopp-11245632.html">gerichtlich vor</a>. Dem US-Magazin <a href="https://www.platformer.news/anthropic-mythos-cybersecurity-risk-experts/" rel="external noopener" target="_blank">Platformer hat die KI-Firma erklärt</a>, dass sie der US-Regierung bei der sicher nötigen Evaluierung von Mythos helfen könnte. Noch sei aber unklar, ob sie das Angebot annehmen würde. Unklar ist auch, ob der Plan, Sicherheitslücken mit immer mächtigeren KI-Werkzeugen jeweils rechtzeitig vor böswilligen Angreifern finden zu wollen, aufgehen kann.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5058532" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11247289"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Anthropic-will-ueber-3-5-Gigawatt-Rechenkapazitaet-mit-Googles-TPUs-11247289.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1300" height="731" src="https://www.heise.de/imgs/18/5/0/5/8/5/3/2/TPUv7_Social-Share_1920x1080-3b035159cf831c91-3b035159cf831c91.png" alt="Mehrere Google TPUs auf Platinen nebeneinander" style="aspect-ratio:1300 / 731"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1300" height="731" alt="Mehrere Google TPUs auf Platinen nebeneinander" style="aspect-ratio:1300 / 731;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Anthropic will über 3,5 Gigawatt Rechenkapazität mit Googles TPUs</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Anthropics neues KI-Modell Mythos soll so effektiv im Finden und Ausnutzen von Sicherheitslücken sein, dass es nur IT-Infrastruktur absichern soll.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Anthropic-s-new-AI-model-Mythos-Too-dangerous-for-the-public-11248061.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FAnthropics-neues-KI-Modell-Mythos-Zu-gefaehrlich-fuer-die-Oeffentlichkeit-11248034.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.newsticker.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FAnthropics-neues-KI-Modell-Mythos-Zu-gefaehrlich-fuer-die-Oeffentlichkeit-11248034.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Anthropics-neues-KI-Modell-Mythos-Zu-gefaehrlich-fuer-die-Oeffentlichkeit-11248034.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.newsticker.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Anthropics-neues-KI-Modell-Mythos-Zu-gefaehrlich-fuer-die-Oeffentlichkeit/forum-580616/comment/"
class="a-article-action"
name="meldung.newsticker.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>128</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/8/9/0/5/shutterstock_2692522213-92a72f14a4333716.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/0/5/shutterstock_2692522213-92a72f14a4333716.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/0/5/shutterstock_2692522213-92a72f14a4333716.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/0/5/shutterstock_2692522213-92a72f14a4333716.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/0/5/shutterstock_2692522213-92a72f14a4333716.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/9/0/5/shutterstock_2692522213-92a72f14a4333716.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Eine Hand mit einer digitalen roten Weltkugel und lauter Warnzeichen"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: tete_escape/Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-08T07:03:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>08.04.2026,
</span>
<span class="a-datetime__time ">07:03
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
3 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/newsticker/">
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Martin-Holland-3639057"
class="creator__link"
>Martin Holland</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Anthropic-s-new-AI-model-Mythos-Too-dangerous-for-the-public-11248061.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Anthropic hat mit Mythos ein neues KI-Modell vorgestellt, das so gefährlich sein soll, dass es nicht öffentlich gemacht werden soll. Stattdessen soll Claude Mythos Preview im Rahmen einer Initiative namens Project Glasswing zuerst ausschließlich einer Reihe von Firmen zur Verfügung gestellt werden, die an IT-Sicherheit arbeiten. Die sollen die KI-Technik nutzen, um die „kritischste Software der Welt“ abzusichern. Das KI-Modell habe bereits tausende hochriskante Zero-Day-Lücken identifiziert, begründet Anthropic den Schritt. Solche seien in allen großen Betriebssystemen und jedem Internetbrowser, aber auch in zahlreicher anderer Software entdeckt worden. Vor allem sei Mythos Preview deutlich häufiger in der Lage, einen funktionierenden Exploit zu entwickeln.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_jahrzehntealte__0">Jahrzehntealte Lücken identifiziert</h3>
<p>Als Beispiel <a href="https://www.anthropic.com/glasswing" rel="external noopener" target="_blank">listet Anthropic</a> etwa eine seit 27 Jahren übersehene Lücke in OpenBSD auf, über die Angreifer ein Gerät aus der Ferne zum Absturz bringen könnten, „indem sie sich nur damit verbinden“. Auch von einer 16 Jahre alten Lücke in FFmpeg ist da die Rede, die bei fünf Millionen automatischen Scans mit speziellen Suchwerkzeugen nicht identifiziert worden sei. Zudem sei das Modell in der Lage gewesen, eine Reihe von bislang unbekannten Lücken im Linux-Kernel zusammenzuführen und daraus eine Attacke zu entwickeln, die es einem Angreifer ermöglichen würde, als normaler User die komplette Kontrolle über einen Rechner zu erlangen. Diese und andere Lücken seien den jeweils Verantwortlichen gemeldet worden. Anthropic hat dazu <a href="https://red.anthropic.com/2026/mythos-preview/" rel="external noopener" target="_blank">einen Blogeintrag</a> veröffentlicht.</p>
<p>Der jetzt vorgestellten Initiative „Project Glasswing“ gehören demnach unter anderem Amazon Web Services (AWS), Anthropic, Apple, Broadcom, Cisco, CrowdStrike, Google, JPMorganChase, die Linux Foundation, Microsoft, NVIDIA und Palo Alto Networks an. 40 weitere Organisationen, die Software für kritische Infrastruktur verantworten, seien ebenfalls beteiligt. Insgesamt stellt Anthropic demnach Nutzungsrechte im Wert von bis zu 100 Millionen US-Dollar für das neue KI-Modell zur Verfügung, 4 Millionen US-Dollar sollen direkt an Betreiber von Open-Source-Software gehen. Damit soll ihnen allen ermöglicht werden, Systeme nach Schwachstellen zu durchsuchen. Die sollen geschlossen werden, bevor andere KI-Modelle zu den Fähigkeiten von Mythos aufholen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Anthropic ist primär für seine KI Claude bekannt, die mit ChatGPT von OpenAI konkurriert. Zuletzt geriet die Firma aber durch einen Streit mit dem Pentagon in die Schlagzeilen: Anthropic lehnte den Einsatz seiner KI in autonomen Waffen oder zur Massenüberwachung in den USA ab und wurde im Gegenzug zum Sicherheitsrisiko erklärt. Dagegen geht das Unternehmen <a href="http://www.heise.de/news/US-Regierung-versus-Anthropic-Berufung-gegen-Sanktionsstopp-11245632.html">gerichtlich vor</a>. Dem US-Magazin <a href="https://www.platformer.news/anthropic-mythos-cybersecurity-risk-experts/" rel="external noopener" target="_blank">Platformer hat die KI-Firma erklärt</a>, dass sie der US-Regierung bei der sicher nötigen Evaluierung von Mythos helfen könnte. Noch sei aber unklar, ob sie das Angebot annehmen würde. Unklar ist auch, ob der Plan, Sicherheitslücken mit immer mächtigeren KI-Werkzeugen jeweils rechtzeitig vor böswilligen Angreifern finden zu wollen, aufgehen kann.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5058532" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11247289"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Anthropic-will-ueber-3-5-Gigawatt-Rechenkapazitaet-mit-Googles-TPUs-11247289.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1300" height="731" src="https://www.heise.de/imgs/18/5/0/5/8/5/3/2/TPUv7_Social-Share_1920x1080-3b035159cf831c91-3b035159cf831c91.png" alt="Mehrere Google TPUs auf Platinen nebeneinander" style="aspect-ratio:1300 / 731"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1300" height="731" alt="Mehrere Google TPUs auf Platinen nebeneinander" style="aspect-ratio:1300 / 731;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Anthropic will über 3,5 Gigawatt Rechenkapazität mit Googles TPUs</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test – Hutt vor Ecovacs und Dreame</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-08T05:03:00.000Z
urn:bid:5058552
2026-04-07T13:41:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Appwrite 1.9 bringt MongoDB-Support, ressourcenbasierte API-Keys und Query-Filter für Realtime-Subscriptions. Hinzu kommen Performance- und Compute-Updates.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FSelf-Hosted-Backend-Appwrite-1-9-bringt-MongoDB-11247329.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FSelf-Hosted-Backend-Appwrite-1-9-bringt-MongoDB-11247329.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Self-Hosted-Backend-Appwrite-1-9-bringt-MongoDB-11247329.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Self-Hosted-Backend-Appwrite-1-9-bringt-MongoDB/forum-580590/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/8/5/5/2/appwrite-5d54fe2de0ac675c.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/8/5/5/2/appwrite-5d54fe2de0ac675c.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/5/5/2/appwrite-5d54fe2de0ac675c.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/5/5/2/appwrite-5d54fe2de0ac675c.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/5/5/2/appwrite-5d54fe2de0ac675c.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/5/5/2/appwrite-5d54fe2de0ac675c.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Appwrite Dashboard mit Projektübersicht, Bandbreitendiagramm und Statistiken für Datenbanken und Authentifizierung."
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Appwrite)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-07T15:41:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">15:41
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<p>Appwrite 1.9.0 ist da und unterstützt nun MongoDB, feinere Sicherheitsmechanismen und gezieltere Realtime-Funktionen. Hinzu kommen ein ausgebauter Compute-Bereich und zahlreiche Performance-Verbesserungen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Bei Appwrite handelt es sich um eine quelloffene Backend-as-a-Service-Plattform (BaaS), die Authentifizierung, Datenbank, Storage, Serverless Functions und Realtime-Kommunikation in einem Paket für den Eigenbetrieb bündelt. Damit richtet sie sich an Teams, die mehr Kontrolle über ihre Backend-Infrastruktur behalten wollen, als es klassische Cloud-BaaS-Dienste erlauben.</p>
<h3 class="subheading" id="nav_mongodb_und__0">MongoDB und Datenbank-Feinschliff</h3>
<p>Die zentrale Neuerung: Appwrite unterstützt jetzt MongoDB als Datenbank-Backend. Damit steht neben dem bisherigen TablesDB-Modell erstmals eine dokumentenorientierte Alternative bereit. Entwickler können so dynamische Datenstrukturen abbilden – etwa Event- oder Log-Daten mit variierenden Feldern –, ohne vorher ein Schema anzupassen.</p>
<p>Ferner ergänzt Version 1.9.0 neue String-Typen wie <code>mediumtext</code> und <code>longtext</code>, unterstützt 64-Bit-Integer und zeigt den Speicherverbrauch einzelner Collections an. Dokumentlisten lassen sich zudem mit konfigurierbarer TTL cachen, was bei häufig abgefragten Datenbeständen die Datenbanklast senkt.</p>
<h3 class="subheading" id="nav_neue_admin_apis_1">Neue Admin-APIs</h3>
<p>Administratoren erhalten mehrere neue Schnittstellen: Eine Webhooks-API verwaltet Ereignisbenachrichtigungen zentral. Eine Schedules-API gibt Einblick in geplante Aufgaben und stellt Steuerungsfunktionen bereit. Neu ist auch eine Nutzer-Impersonation (User Impersonation). Damit kann sich ein Admin als ein bestimmter Nutzer anmelden, um Fehler direkt aus dessen Perspektive nachzuvollziehen. Projektvariablen lassen sich jetzt gezielt als öffentlich markieren, etwa um Konfigurationswerte ans Frontend durchzureichen.</p>
<p>Die Realtime-Schnittstelle arbeitet nun gezielter. Clients definieren Subscriptions mit Query-Filtern und empfangen nur noch passende Ereignisse statt sämtlicher Änderungen in einer Collection. Ein Client könnte so ausschließlich Updates für eine bestimmte Nutzer-ID abonnieren. Appwrite liefert außerdem Metriken zu Verbindungen, Nachrichtenaufkommen und Bandbreite.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_feinere__2">Feinere Zugriffskontrolle</h3>
<p>API-Keys lassen sich ab Version 1.9.0 ressourcenbezogen einschränken. Ein Key kann etwa Lesezugriff auf den Storage erhalten, ohne gleichzeitig die Benutzerverwaltung freizuschalten. JWT-Laufzeiten sind individuell konfigurierbar. Verbesserungen bei CORS, OAuth und Multi-Domain-Support erleichtern Setups mit mehreren Frontends.</p>
<p>Im Serverless-Bereich trennt Appwrite jetzt Build- und Runtime-Ressourcen. Wer rechenintensive Builds mit einer schlanken Runtime kombinieren muss, kann beides unabhängig dimensionieren. Eigene Startkommandos, automatisches Aufräumen alter Deployments und verwaister Ausführungen sowie saubere Worker-Shutdowns sollen den Betrieb stabiler machen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_storage__3">Storage, Migration und SDKs</h3>
<p>Dateien lassen sich jetzt einzeln mit Verschlüsselungs- und Komprimierungsparametern versehen. Listenabfragen geben den gesamten Speicherverbrauch zurück. Neue Migrationstools übertragen Sites und Messaging-Ressourcen zwischen Appwrite-Instanzen. Hinzu kommen ein offizielles Rust-SDK, ein Plugin für die KI-gestützte IDE Cursor sowie ein Agent Skills SDK, das die Integration von KI-Agenten erleichtern soll.</p>
<p>Unter der Haube haben die Entwickler die Architektur auf die modulare Utopia-Plattform umgestellt. Der bisherige Proxy-Container entfällt, Traefik wird direkt angesprochen. Sparse Updates senden nur noch geänderte Attribute, Shared-Memory-Caching via Swoole Tables ersetzt den bisherigen Pro-Worker-Cache und vorverarbeitete Queries beschleunigen häufig genutzte Pfade. <a class="heiseplus-lnk" href="http://www.heise.de/hintergrund/Open-Swoole-Schnelle-Webanwendungen-trotz-PHP-7185794.html">Swoole</a> ist eine PHP-Erweiterung für asynchrone Programmierung, die hier für effizientes Shared-Memory-Caching genutzt wird. Diverse Memory Leaks in der Webhook-, Statistik- und Event-Verarbeitung haben die Entwickler behoben.</p>
<h3 class="subheading" id="nav_upgrade_4">Upgrade</h3>
<p>Appwrite 1.9.0 setzt ein Upgrade von Version 1.8.1 voraus und erfordert eine Datenbankmigration. Diese lässt sich über den neuen Web-Installer, das CLI-Flag <code>--migrate</code> oder manuell per <code>docker compose exec appwrite migrate</code> anstoßen.</p>
<p>Alle Informationen zu Appwrite 1.9.0 finden sich in den <a href="https://github.com/appwrite/appwrite/releases/tag/1.9.0" rel="external noopener" target="_blank">Release Notes auf GitHub</a>.</p>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:fo@heise.de" title="Moritz Förster">fo</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11247329"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11247329: Self-Hosted Backend: Appwrite 1.9 bringt MongoDB"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Appwrite 1.9 bringt MongoDB-Support, ressourcenbasierte API-Keys und Query-Filter für Realtime-Subscriptions. Hinzu kommen Performance- und Compute-Updates.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FSelf-Hosted-Backend-Appwrite-1-9-bringt-MongoDB-11247329.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FSelf-Hosted-Backend-Appwrite-1-9-bringt-MongoDB-11247329.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Self-Hosted-Backend-Appwrite-1-9-bringt-MongoDB-11247329.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Self-Hosted-Backend-Appwrite-1-9-bringt-MongoDB/forum-580590/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/8/5/5/2/appwrite-5d54fe2de0ac675c.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/8/5/5/2/appwrite-5d54fe2de0ac675c.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/5/5/2/appwrite-5d54fe2de0ac675c.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/5/5/2/appwrite-5d54fe2de0ac675c.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/5/5/2/appwrite-5d54fe2de0ac675c.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/5/5/2/appwrite-5d54fe2de0ac675c.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Appwrite Dashboard mit Projektübersicht, Bandbreitendiagramm und Statistiken für Datenbanken und Authentifizierung."
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Appwrite)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-07T15:41:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">15:41
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
4 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Moritz-Foerster-3688111"
class="creator__link"
>Moritz Förster</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<p>Appwrite 1.9.0 ist da und unterstützt nun MongoDB, feinere Sicherheitsmechanismen und gezieltere Realtime-Funktionen. Hinzu kommen ein ausgebauter Compute-Bereich und zahlreiche Performance-Verbesserungen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Bei Appwrite handelt es sich um eine quelloffene Backend-as-a-Service-Plattform (BaaS), die Authentifizierung, Datenbank, Storage, Serverless Functions und Realtime-Kommunikation in einem Paket für den Eigenbetrieb bündelt. Damit richtet sie sich an Teams, die mehr Kontrolle über ihre Backend-Infrastruktur behalten wollen, als es klassische Cloud-BaaS-Dienste erlauben.</p>
<h3 class="subheading" id="nav_mongodb_und__0">MongoDB und Datenbank-Feinschliff</h3>
<p>Die zentrale Neuerung: Appwrite unterstützt jetzt MongoDB als Datenbank-Backend. Damit steht neben dem bisherigen TablesDB-Modell erstmals eine dokumentenorientierte Alternative bereit. Entwickler können so dynamische Datenstrukturen abbilden – etwa Event- oder Log-Daten mit variierenden Feldern –, ohne vorher ein Schema anzupassen.</p>
<p>Ferner ergänzt Version 1.9.0 neue String-Typen wie <code>mediumtext</code> und <code>longtext</code>, unterstützt 64-Bit-Integer und zeigt den Speicherverbrauch einzelner Collections an. Dokumentlisten lassen sich zudem mit konfigurierbarer TTL cachen, was bei häufig abgefragten Datenbeständen die Datenbanklast senkt.</p>
<h3 class="subheading" id="nav_neue_admin_apis_1">Neue Admin-APIs</h3>
<p>Administratoren erhalten mehrere neue Schnittstellen: Eine Webhooks-API verwaltet Ereignisbenachrichtigungen zentral. Eine Schedules-API gibt Einblick in geplante Aufgaben und stellt Steuerungsfunktionen bereit. Neu ist auch eine Nutzer-Impersonation (User Impersonation). Damit kann sich ein Admin als ein bestimmter Nutzer anmelden, um Fehler direkt aus dessen Perspektive nachzuvollziehen. Projektvariablen lassen sich jetzt gezielt als öffentlich markieren, etwa um Konfigurationswerte ans Frontend durchzureichen.</p>
<p>Die Realtime-Schnittstelle arbeitet nun gezielter. Clients definieren Subscriptions mit Query-Filtern und empfangen nur noch passende Ereignisse statt sämtlicher Änderungen in einer Collection. Ein Client könnte so ausschließlich Updates für eine bestimmte Nutzer-ID abonnieren. Appwrite liefert außerdem Metriken zu Verbindungen, Nachrichtenaufkommen und Bandbreite.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_feinere__2">Feinere Zugriffskontrolle</h3>
<p>API-Keys lassen sich ab Version 1.9.0 ressourcenbezogen einschränken. Ein Key kann etwa Lesezugriff auf den Storage erhalten, ohne gleichzeitig die Benutzerverwaltung freizuschalten. JWT-Laufzeiten sind individuell konfigurierbar. Verbesserungen bei CORS, OAuth und Multi-Domain-Support erleichtern Setups mit mehreren Frontends.</p>
<p>Im Serverless-Bereich trennt Appwrite jetzt Build- und Runtime-Ressourcen. Wer rechenintensive Builds mit einer schlanken Runtime kombinieren muss, kann beides unabhängig dimensionieren. Eigene Startkommandos, automatisches Aufräumen alter Deployments und verwaister Ausführungen sowie saubere Worker-Shutdowns sollen den Betrieb stabiler machen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_storage__3">Storage, Migration und SDKs</h3>
<p>Dateien lassen sich jetzt einzeln mit Verschlüsselungs- und Komprimierungsparametern versehen. Listenabfragen geben den gesamten Speicherverbrauch zurück. Neue Migrationstools übertragen Sites und Messaging-Ressourcen zwischen Appwrite-Instanzen. Hinzu kommen ein offizielles Rust-SDK, ein Plugin für die KI-gestützte IDE Cursor sowie ein Agent Skills SDK, das die Integration von KI-Agenten erleichtern soll.</p>
<p>Unter der Haube haben die Entwickler die Architektur auf die modulare Utopia-Plattform umgestellt. Der bisherige Proxy-Container entfällt, Traefik wird direkt angesprochen. Sparse Updates senden nur noch geänderte Attribute, Shared-Memory-Caching via Swoole Tables ersetzt den bisherigen Pro-Worker-Cache und vorverarbeitete Queries beschleunigen häufig genutzte Pfade. <a class="heiseplus-lnk" href="http://www.heise.de/hintergrund/Open-Swoole-Schnelle-Webanwendungen-trotz-PHP-7185794.html">Swoole</a> ist eine PHP-Erweiterung für asynchrone Programmierung, die hier für effizientes Shared-Memory-Caching genutzt wird. Diverse Memory Leaks in der Webhook-, Statistik- und Event-Verarbeitung haben die Entwickler behoben.</p>
<h3 class="subheading" id="nav_upgrade_4">Upgrade</h3>
<p>Appwrite 1.9.0 setzt ein Upgrade von Version 1.8.1 voraus und erfordert eine Datenbankmigration. Diese lässt sich über den neuen Web-Installer, das CLI-Flag <code>--migrate</code> oder manuell per <code>docker compose exec appwrite migrate</code> anstoßen.</p>
<p>Alle Informationen zu Appwrite 1.9.0 finden sich in den <a href="https://github.com/appwrite/appwrite/releases/tag/1.9.0" rel="external noopener" target="_blank">Release Notes auf GitHub</a>.</p>
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:fo@heise.de" title="Moritz Förster">fo</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11247329"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11247329: Self-Hosted Backend: Appwrite 1.9 bringt MongoDB"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-07T13:41:00.000Z
urn:bid:5058247
2026-04-07T10:50:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Syntax-Highlighting und Baumdarstellung: Das Add-on verbessert die Ansicht von JSON-Daten, insbesondere für API-Entwickler.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/JSON-Alexander-Syntax-highlighting-and-tree-view-in-the-browser-11247147.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FJSON-Alexander-Syntax-Highlighting-und-Baumdarstellung-im-Browser-11246718.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FJSON-Alexander-Syntax-Highlighting-und-Baumdarstellung-im-Browser-11246718.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/JSON-Alexander-Syntax-Highlighting-und-Baumdarstellung-im-Browser-11246718.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/JSON-Alexander-Syntax-Highlighting-und-Baumdarstellung-im-Browser/forum-580573/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>7</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/8/2/4/7/API-ae6c38dd597866ad.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/4/7/API-ae6c38dd597866ad.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/4/7/API-ae6c38dd597866ad.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/4/7/API-ae6c38dd597866ad.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/4/7/API-ae6c38dd597866ad.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/4/7/API-ae6c38dd597866ad.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Schriftzug "API" über grafischen Strukturen"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: TierneyMJ / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-07T12:50:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">12:50
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
1 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Wolf-Hosbach-4581725"
class="creator__link"
>Wolf Hosbach</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/JSON-Alexander-Syntax-highlighting-and-tree-view-in-the-browser-11247147.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>JSON Alexander, eine neue Extension für Firefox und Chrome, formatiert automatisch JSON-Daten, die beispielsweise von einer API gesendet wurden. Das Add-on erweitert die rudimentären Darstellungen der Browser insbesondere um Syntax-Highlighting und eine Baum-Ansicht.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/8/2/4/7/jsonalexander_voll-00439e91aaaa6a24.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/8/2/4/7/jsonalexander_voll-00439e91aaaa6a24.png">
<a-img alt="Screenshot" height="1813" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/8/2/4/7/jsonalexander_voll-00439e91aaaa6a24.png" style="
aspect-ratio: 1971 / 1813;" width="1971">
<img alt="Screenshot" height="1813" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1971 / 1813; object-fit: cover;" width="1971">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">JSON Alexander zeigt JSON-Daten übersichtlich formatiert.</div>
<p class="a-caption__source">
(Bild: JSON Alexander)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Das Add-on bietet eine Reihe von Komfortfunktionen, die über die Standarddarstellung der Browser hinausgehen. Neben dem Syntax-Highlighting und den ausklappbaren Strukturbäumen sind das zum Beispiel Zusatzinfos beim Hover über ein Feld oder eine parallele Daten-Ansicht als <code>windows.data</code> in der Konsole.</p>
<p><a href="https://syntax.fm/" rel="external noopener" target="_blank">JS-Autor und Podcaster Wes Bos</a> hat JSON Alexander unter MIT-Lizenz veröffentlicht. Zuvor waren ihm Zweifel am Add-on „Heads Up“ gekommen, das ähnliche Funktionen bietet, weil es laut Bos Webtracking in Webseiten implementiert. Die Redaktion konnte das nicht überprüfen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Das Add-on ist noch nicht in den Stores der Browser vorhanden, sondern Anwenderinnen und Anwender müssen es von Hand installieren. Bei Firefox müssen sie zusätzlich den JSON-Standardmechanismus deaktivieren. Anleitungen <a href="https://github.com/wesbos/JSON-Alexander" rel="external noopener" target="_blank">finden sich im Repository</a>. Der Name des Tools spielt auf den US-amerikanischen <a href="https://en.wikipedia.org/wiki/Jason_Alexander" rel="external noopener" target="_blank">Schauspieler Jason Alexander</a> an. </p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5055981" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11242237"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/RxDB-17-Sync-ohne-Server-Zugang-fuer-KI-Agenten-11242237.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6000" height="3371" src="https://www.heise.de/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg" alt="Eine Person sitzt am Laptop. Davor ein Symbol für einen offenen Ordner. Drumherum verschiedene Dateien, ebenfalls als Symbole. " style="aspect-ratio:6000 / 3371"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6000" height="3371" alt="Eine Person sitzt am Laptop. Davor ein Symbol für einen offenen Ordner. Drumherum verschiedene Dateien, ebenfalls als Symbole. " style="aspect-ratio:6000 / 3371;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">RxDB 17: Sync ohne Server, Zugang für KI-Agenten</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/IntelliJ-IDEA-2026-1-Kostenfreier-Basis-Support-fuer-JavaScript-und-TypeScript-11226877.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5472" height="3075" src="https://www.heise.de/imgs/18/5/0/5/3/4/1/2/shutterstock_1453749461-71476e3c5a3ed3e4.jpeg" alt="Sechs Münz-Stapel, mit einer Hand, die eine Glühbirne auf einen Stapel legt" style="aspect-ratio:5472 / 3075"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5472" height="3075" alt="Sechs Münz-Stapel, mit einer Hand, die eine Glühbirne auf einen Stapel legt" style="aspect-ratio:5472 / 3075;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">IntelliJ IDEA 2026.1: Kostenfreier Basis-Support für JavaScript und TypeScript</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Next-js-16-2-bringt-Updates-fuer-Performance-KI-Agenten-und-Turbopack-11218804.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4500" height="2529" src="https://www.heise.de/imgs/18/5/0/4/9/2/7/4/shutterstock_2185795489_bearbeitet-1938d2950cef560f.jpeg" alt="Person tippt auf Laptop, Overlay eines Gesichtsprofils mit Schaltkreisen" style="aspect-ratio:4500 / 2529"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4500" height="2529" alt="Person tippt auf Laptop, Overlay eines Gesichtsprofils mit Schaltkreisen" style="aspect-ratio:4500 / 2529;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Next.js 16.2 bringt Updates für die Nutzung von KI-Agenten</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/JavaScript-Runtime-mit-KI-entwickelt-Edge-js-fuer-sichere-Node-js-Anwendungen-11215394.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1000" height="562" src="https://www.heise.de/imgs/18/5/0/4/7/5/8/3/shutterstock_530643055-1129a90533bb99f1.jpeg" alt="Schlüssel in einem Schloss" style="aspect-ratio:1000 / 562"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1000" height="562" alt="Schlüssel in einem Schloss" style="aspect-ratio:1000 / 562;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Wasmer stellt Edge.js vor: Node.js in WebAssembly-Sandbox</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/enterJS-Integrate-AI-KI-Workflows-in-der-Webentwicklung-souveraen-einsetzen-11213254.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/4/6/5/0/2/ejsAI_1920-1080-max-cb0d2a09c91b0d09.jpeg" alt="enterJS Integrate AI" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="enterJS Integrate AI" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">enterJS Integrate AI: KI‑Workflows in der Webentwicklung souverän einsetzen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Syntax-Highlighting und Baumdarstellung: Das Add-on verbessert die Ansicht von JSON-Daten, insbesondere für API-Entwickler.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/JSON-Alexander-Syntax-highlighting-and-tree-view-in-the-browser-11247147.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FJSON-Alexander-Syntax-Highlighting-und-Baumdarstellung-im-Browser-11246718.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FJSON-Alexander-Syntax-Highlighting-und-Baumdarstellung-im-Browser-11246718.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/JSON-Alexander-Syntax-Highlighting-und-Baumdarstellung-im-Browser-11246718.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/JSON-Alexander-Syntax-Highlighting-und-Baumdarstellung-im-Browser/forum-580573/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>7</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/8/2/4/7/API-ae6c38dd597866ad.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/4/7/API-ae6c38dd597866ad.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/4/7/API-ae6c38dd597866ad.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/4/7/API-ae6c38dd597866ad.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/4/7/API-ae6c38dd597866ad.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/4/7/API-ae6c38dd597866ad.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Schriftzug "API" über grafischen Strukturen"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: TierneyMJ / Shutterstock.com)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-07T12:50:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">12:50
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
1 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Wolf-Hosbach-4581725"
class="creator__link"
>Wolf Hosbach</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/JSON-Alexander-Syntax-highlighting-and-tree-view-in-the-browser-11247147.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>JSON Alexander, eine neue Extension für Firefox und Chrome, formatiert automatisch JSON-Daten, die beispielsweise von einer API gesendet wurden. Das Add-on erweitert die rudimentären Darstellungen der Browser insbesondere um Syntax-Highlighting und eine Baum-Ansicht.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<a-lightbox class="a-inline-image a-u-inline" src="/imgs/18/5/0/5/8/2/4/7/jsonalexander_voll-00439e91aaaa6a24.png" tabindex="1">
<figure>
<div>
<a href="http://www.heise.de/imgs/18/5/0/5/8/2/4/7/jsonalexander_voll-00439e91aaaa6a24.png">
<a-img alt="Screenshot" height="1813" high-dpi-quality="70" layout="responsive" quality="85" src="/imgs/18/5/0/5/8/2/4/7/jsonalexander_voll-00439e91aaaa6a24.png" style="
aspect-ratio: 1971 / 1813;" width="1971">
<img alt="Screenshot" height="1813" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1971 / 1813; object-fit: cover;" width="1971">
</a-img>
</a>
</div>
<figcaption class="a-caption "> <p class="a-caption__text">
</p><div class="text">JSON Alexander zeigt JSON-Daten übersichtlich formatiert.</div>
<p class="a-caption__source">
(Bild: JSON Alexander)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<p>Das Add-on bietet eine Reihe von Komfortfunktionen, die über die Standarddarstellung der Browser hinausgehen. Neben dem Syntax-Highlighting und den ausklappbaren Strukturbäumen sind das zum Beispiel Zusatzinfos beim Hover über ein Feld oder eine parallele Daten-Ansicht als <code>windows.data</code> in der Konsole.</p>
<p><a href="https://syntax.fm/" rel="external noopener" target="_blank">JS-Autor und Podcaster Wes Bos</a> hat JSON Alexander unter MIT-Lizenz veröffentlicht. Zuvor waren ihm Zweifel am Add-on „Heads Up“ gekommen, das ähnliche Funktionen bietet, weil es laut Bos Webtracking in Webseiten implementiert. Die Redaktion konnte das nicht überprüfen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Das Add-on ist noch nicht in den Stores der Browser vorhanden, sondern Anwenderinnen und Anwender müssen es von Hand installieren. Bei Firefox müssen sie zusätzlich den JSON-Standardmechanismus deaktivieren. Anleitungen <a href="https://github.com/wesbos/JSON-Alexander" rel="external noopener" target="_blank">finden sich im Repository</a>. Der Name des Tools spielt auf den US-amerikanischen <a href="https://en.wikipedia.org/wiki/Jason_Alexander" rel="external noopener" target="_blank">Schauspieler Jason Alexander</a> an. </p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5055981" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11242237"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/RxDB-17-Sync-ohne-Server-Zugang-fuer-KI-Agenten-11242237.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6000" height="3371" src="https://www.heise.de/imgs/18/5/0/5/5/9/8/1/shutterstock_2405035887-383857b6c5ae99be.jpeg" alt="Eine Person sitzt am Laptop. Davor ein Symbol für einen offenen Ordner. Drumherum verschiedene Dateien, ebenfalls als Symbole. " style="aspect-ratio:6000 / 3371"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6000" height="3371" alt="Eine Person sitzt am Laptop. Davor ein Symbol für einen offenen Ordner. Drumherum verschiedene Dateien, ebenfalls als Symbole. " style="aspect-ratio:6000 / 3371;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">RxDB 17: Sync ohne Server, Zugang für KI-Agenten</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/IntelliJ-IDEA-2026-1-Kostenfreier-Basis-Support-fuer-JavaScript-und-TypeScript-11226877.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5472" height="3075" src="https://www.heise.de/imgs/18/5/0/5/3/4/1/2/shutterstock_1453749461-71476e3c5a3ed3e4.jpeg" alt="Sechs Münz-Stapel, mit einer Hand, die eine Glühbirne auf einen Stapel legt" style="aspect-ratio:5472 / 3075"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5472" height="3075" alt="Sechs Münz-Stapel, mit einer Hand, die eine Glühbirne auf einen Stapel legt" style="aspect-ratio:5472 / 3075;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">IntelliJ IDEA 2026.1: Kostenfreier Basis-Support für JavaScript und TypeScript</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Next-js-16-2-bringt-Updates-fuer-Performance-KI-Agenten-und-Turbopack-11218804.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="4500" height="2529" src="https://www.heise.de/imgs/18/5/0/4/9/2/7/4/shutterstock_2185795489_bearbeitet-1938d2950cef560f.jpeg" alt="Person tippt auf Laptop, Overlay eines Gesichtsprofils mit Schaltkreisen" style="aspect-ratio:4500 / 2529"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4500" height="2529" alt="Person tippt auf Laptop, Overlay eines Gesichtsprofils mit Schaltkreisen" style="aspect-ratio:4500 / 2529;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Next.js 16.2 bringt Updates für die Nutzung von KI-Agenten</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/JavaScript-Runtime-mit-KI-entwickelt-Edge-js-fuer-sichere-Node-js-Anwendungen-11215394.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1000" height="562" src="https://www.heise.de/imgs/18/5/0/4/7/5/8/3/shutterstock_530643055-1129a90533bb99f1.jpeg" alt="Schlüssel in einem Schloss" style="aspect-ratio:1000 / 562"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1000" height="562" alt="Schlüssel in einem Schloss" style="aspect-ratio:1000 / 562;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Wasmer stellt Edge.js vor: Node.js in WebAssembly-Sandbox</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/enterJS-Integrate-AI-KI-Workflows-in-der-Webentwicklung-souveraen-einsetzen-11213254.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/4/6/5/0/2/ejsAI_1920-1080-max-cb0d2a09c91b0d09.jpeg" alt="enterJS Integrate AI" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="enterJS Integrate AI" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">enterJS Integrate AI: KI‑Workflows in der Webentwicklung souverän einsetzen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-07T10:50:00.000Z
urn:bid:5058238
2026-04-07T08:33:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Was können Software-Tester davon lernen, wie Stiftung Warentest beim Testen vorgeht? Das bespricht Richard Seidl mit Johannes Stiller.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fblog%2FSoftware-Testing-Als-Software-Tester-von-der-Stiftung-Warentest-lernen-11246702.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fblog%2FSoftware-Testing-Als-Software-Tester-von-der-Stiftung-Warentest-lernen-11246702.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/blog/Software-Testing-Als-Software-Tester-von-der-Stiftung-Warentest-lernen-11246702.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Software-Testing-Als-Software-Tester-von-der-Stiftung-Warentest-lernen/forum-580561/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/8/2/3/8/so-testet-stiftung-warentest-2560x1440-cefeab5cc35f7095.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/3/8/so-testet-stiftung-warentest-2560x1440-cefeab5cc35f7095.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/3/8/so-testet-stiftung-warentest-2560x1440-cefeab5cc35f7095.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/3/8/so-testet-stiftung-warentest-2560x1440-cefeab5cc35f7095.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/3/8/so-testet-stiftung-warentest-2560x1440-cefeab5cc35f7095.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/3/8/so-testet-stiftung-warentest-2560x1440-cefeab5cc35f7095.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Software Testing: So testet Stiftung Warentest"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Richard Seidl)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-07T10:33:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">10:33
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Richard Seidl</li>
<li class="creator__name">Johannes Stiller</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<p>In dieser Episode spricht Richard Seidl mit Johannes Stiller von Stiftung Warentest über die Testmethoden und Entscheidungsprozesse bei Produktprüfungen. Es geht darum, wie die Stiftung ihre Prüfprogramme entwickelt, welche Kriterien für verschiedene Produkte gelten und wie Teams aus Wissenschaftlern und Marktanalysten zusammenarbeiten. Besonders spannend: die Parallelen zum Softwaretesting, etwa Objektivität, Transparenz und die Perspektive des Nutzers. Wie funktioniert die Auswahl der getesteten Produkte und wie werden subjektive Eindrücke bei Zahnbürsten oder Laptops möglichst vergleichbar gemacht?</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<a-opt-in checkbox-text="YouTube-Video immer laden" class=" a-u-inline" type="Youtube">
<div class="opt-in__content-container">
<h2 class="opt-in__title">Empfohlener redaktioneller Inhalt</h2>
<p class="opt-in__description">
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
</p>
<div class="opt-in__cta-container">
<label class="opt-in__cta-persistence">
<input class="opt-in__persistence-checkbox" data-should-persist type="checkbox">
YouTube-Video immer laden
</label>
<button class="opt-in__cta" data-opt-in>YouTube-Video jetzt laden</button>
</div>
<p class="opt-in__footnote">
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden.
Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden.
Mehr dazu in unserer
<a href="https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html">Datenschutzerklärung</a>.
</p>
</div>
</a-opt-in>
<p><a href="https://www.linkedin.com/in/dr-johannes-stiller-12aa57117/" rel="external noopener" target="_blank">Johannes Stiller</a> schloss 2016 seine Promotion im Bereich der nuklearen Kern- und Teilchenphysik in Heidelberg ab. Während dieser Zeit arbeitete er intensiv vor Ort am CERN am ALICE-Experiment. Aufgrund seiner Expertise in Tracking-Algorithmen wechselte er anschließend in die Softwareentwicklung der Automobilindustrie. Ein wesentlicher Meilenstein war seine maßgebliche Beteiligung an den Sicherheitsbremssystemen für das autonome Parkshuttle-System Parkshuttle Rivium. Nach seinem Umzug nach Berlin widmete er sich im VW-Konzern der Serienentwicklung von Fahrassistenzsystemen wie dem Emergency Assist und dem Travel Assist, inklusive der ASPICE-konformen Entwicklung, Prüfung und Freigabe. Seit August 2025 bekleidet Johannes Stiller eine leitende Funktion bei der <a href="https://www.test.de/" rel="external noopener" target="_blank">Stiftung Warentest</a>, wobei ihn besonders die Möglichkeit motiviert, vielseitige Themen auf wissenschaftlich fundierter Basis zu bearbeiten.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5044016" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11208370"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/betterCode-Testing-2026-Programm-und-Online-Workshops-stehen-fest-11208370.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/4/4/0/1/6/bc__Testing-2026-Ticker-Header-16-9-113a2b66d0af0657.jpeg" alt="Piktogramm-Stil: Frau hält Handy in der Hand, steht vor Laptop mit Code auf dem Display; Neben ihr liegt eine Alarmglocke und Zahnräder; auf dunkelgrauen Hintergrund" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="Piktogramm-Stil: Frau hält Handy in der Hand, steht vor Laptop mit Code auf dem Display; Neben ihr liegt eine Alarmglocke und Zahnräder; auf dunkelgrauen Hintergrund" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">betterCode() Testing 2026: Programm und Online-Workshops stehen fest</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Was können Software-Tester davon lernen, wie Stiftung Warentest beim Testen vorgeht? Das bespricht Richard Seidl mit Johannes Stiller.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fblog%2FSoftware-Testing-Als-Software-Tester-von-der-Stiftung-Warentest-lernen-11246702.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.developer.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fblog%2FSoftware-Testing-Als-Software-Tester-von-der-Stiftung-Warentest-lernen-11246702.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/blog/Software-Testing-Als-Software-Tester-von-der-Stiftung-Warentest-lernen-11246702.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.developer.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Software-Testing-Als-Software-Tester-von-der-Stiftung-Warentest-lernen/forum-580561/comment/"
class="a-article-action"
name="meldung.developer.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/8/2/3/8/so-testet-stiftung-warentest-2560x1440-cefeab5cc35f7095.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/3/8/so-testet-stiftung-warentest-2560x1440-cefeab5cc35f7095.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/3/8/so-testet-stiftung-warentest-2560x1440-cefeab5cc35f7095.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/3/8/so-testet-stiftung-warentest-2560x1440-cefeab5cc35f7095.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/3/8/so-testet-stiftung-warentest-2560x1440-cefeab5cc35f7095.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/8/2/3/8/so-testet-stiftung-warentest-2560x1440-cefeab5cc35f7095.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Software Testing: So testet Stiftung Warentest"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Richard Seidl)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-07T10:33:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span class="a-datetime__time ">10:33
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/developer/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: Developer"
>
Developer
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Richard Seidl</li>
<li class="creator__name">Johannes Stiller</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<p>In dieser Episode spricht Richard Seidl mit Johannes Stiller von Stiftung Warentest über die Testmethoden und Entscheidungsprozesse bei Produktprüfungen. Es geht darum, wie die Stiftung ihre Prüfprogramme entwickelt, welche Kriterien für verschiedene Produkte gelten und wie Teams aus Wissenschaftlern und Marktanalysten zusammenarbeiten. Besonders spannend: die Parallelen zum Softwaretesting, etwa Objektivität, Transparenz und die Perspektive des Nutzers. Wie funktioniert die Auswahl der getesteten Produkte und wie werden subjektive Eindrücke bei Zahnbürsten oder Laptops möglichst vergleichbar gemacht?</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<a-opt-in checkbox-text="YouTube-Video immer laden" class=" a-u-inline" type="Youtube">
<div class="opt-in__content-container">
<h2 class="opt-in__title">Empfohlener redaktioneller Inhalt</h2>
<p class="opt-in__description">
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
</p>
<div class="opt-in__cta-container">
<label class="opt-in__cta-persistence">
<input class="opt-in__persistence-checkbox" data-should-persist type="checkbox">
YouTube-Video immer laden
</label>
<button class="opt-in__cta" data-opt-in>YouTube-Video jetzt laden</button>
</div>
<p class="opt-in__footnote">
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden.
Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden.
Mehr dazu in unserer
<a href="https://www.heise.de/Datenschutzerklaerung-der-Heise-Medien-GmbH-Co-KG-4860.html">Datenschutzerklärung</a>.
</p>
</div>
</a-opt-in>
<p><a href="https://www.linkedin.com/in/dr-johannes-stiller-12aa57117/" rel="external noopener" target="_blank">Johannes Stiller</a> schloss 2016 seine Promotion im Bereich der nuklearen Kern- und Teilchenphysik in Heidelberg ab. Während dieser Zeit arbeitete er intensiv vor Ort am CERN am ALICE-Experiment. Aufgrund seiner Expertise in Tracking-Algorithmen wechselte er anschließend in die Softwareentwicklung der Automobilindustrie. Ein wesentlicher Meilenstein war seine maßgebliche Beteiligung an den Sicherheitsbremssystemen für das autonome Parkshuttle-System Parkshuttle Rivium. Nach seinem Umzug nach Berlin widmete er sich im VW-Konzern der Serienentwicklung von Fahrassistenzsystemen wie dem Emergency Assist und dem Travel Assist, inklusive der ASPICE-konformen Entwicklung, Prüfung und Freigabe. Seit August 2025 bekleidet Johannes Stiller eine leitende Funktion bei der <a href="https://www.test.de/" rel="external noopener" target="_blank">Stiftung Warentest</a>, wobei ihn besonders die Möglichkeit motiviert, vielseitige Themen auf wissenschaftlich fundierter Basis zu bearbeiten.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5044016" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11208370"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/betterCode-Testing-2026-Programm-und-Online-Workshops-stehen-fest-11208370.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1920" height="1079" src="https://www.heise.de/imgs/18/5/0/4/4/0/1/6/bc__Testing-2026-Ticker-Header-16-9-113a2b66d0af0657.jpeg" alt="Piktogramm-Stil: Frau hält Handy in der Hand, steht vor Laptop mit Code auf dem Display; Neben ihr liegt eine Alarmglocke und Zahnräder; auf dunkelgrauen Hintergrund" style="aspect-ratio:1920 / 1079"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1920" height="1079" alt="Piktogramm-Stil: Frau hält Handy in der Hand, steht vor Laptop mit Code auf dem Display; Neben ihr liegt eine Alarmglocke und Zahnräder; auf dunkelgrauen Hintergrund" style="aspect-ratio:1920 / 1079;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">betterCode() Testing 2026: Programm und Online-Workshops stehen fest</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-07T08:33:00.000Z
urn:bid:5057434
2026-04-06T05:16:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Eine AGENTS.md gilt meist als Pflicht für den Einsatz von Coding-Agenten. Doch aus einer gut gemeinten Hilfe kann schnell zusätzlicher Ballast werden.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/background/AGENTS-md-Helpful-agent-briefing-or-token-hog-11245317.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FAGENTS-md-Hilfreiches-Agentenbriefing-oder-Tokenfresser-11245140.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FAGENTS-md-Hilfreiches-Agentenbriefing-oder-Tokenfresser-11245140.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/hintergrund/AGENTS-md-Hilfreiches-Agentenbriefing-oder-Tokenfresser-11245140.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/AGENTS-md-Hilfreiches-Agentenbriefing-oder-Tokenfresser/forum-580518/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>45</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/7/4/3/4/aufmacher_tools_tipps_agentsmd_digital-358644d91c34f48c.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/7/4/3/4/aufmacher_tools_tipps_agentsmd_digital-358644d91c34f48c.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/4/3/4/aufmacher_tools_tipps_agentsmd_digital-358644d91c34f48c.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/4/3/4/aufmacher_tools_tipps_agentsmd_digital-358644d91c34f48c.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/4/3/4/aufmacher_tools_tipps_agentsmd_digital-358644d91c34f48c.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/4/3/4/aufmacher_tools_tipps_agentsmd_digital-358644d91c34f48c.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Abstrakte Darstellung eines neuronalen Netzes mit verbundenen Kreisen."
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Vanessa Bahr / iX)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-06T07:16:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>06.04.2026,
</span>
<span class="a-datetime__time ">07:16
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
8 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Dr. Fabian Deitelhoff</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/background/AGENTS-md-Helpful-agent-briefing-or-token-hog-11245317.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Die Datei AGENTS.md ist ein Readme für KI-Agenten: Ein fester Ort im Repository, an dem Build‑Schritte, Testkommandos, Tooling, Architekturlinien und Coding-Guidelines speziell für autonome Coding-Agenten beschrieben sind. Die Idee ist, dass Agenten diese Datei früh lesen und dadurch schneller verstehen, wie sie Tests ausführen, den Code strukturieren und welche Konventionen sie beachten müssen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Anbieter wie OpenAI, Anthropic, GitHub und Qwen bewerben dieses Muster offensiv. Zudem bringen viele Frameworks Kommandozeilenbefehle wie <code>/init</code> mit, die aus einem bestehenden Repository automatisch eine AGENTS.md oder eine ähnliche Datei wie CLAUDE.md generieren. Dadurch hat sich der Standard rasant verbreitet: Im Jahr 2025 waren bereits zehntausende öffentliche GitHub-Repositorys mit Kontextdateien ausgestattet, die Tendenz ist steigend. Das <a href="https://github.com/agentsmd/agents.md" rel="external noopener" target="_blank">AGENTS.md-Repository auf GitHub</a> listet die Vorteile auf und zeigt Beispiele für den Aufbau solch einer Datei.</p>
<p>Ein Team an der ETH Zürich hat den Aufbau und die Nützlichkeit von AGENTS.md unter die Lupe genommen. Die Studie <a href="https://arxiv.org/html/2602.11988v1" rel="external noopener" target="_blank">„Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents?“</a> untersucht erstmals systematisch, welchen Effekt solche Dateien auf reale Agentenworkflows haben. Die Forschenden kombinieren dafür zwei Benchmarks: das etablierte SWE‑bench Lite mit 300 Aufgaben aus elf populären Python-Repositorys und das Benchmarktool AgentBench mit 138 Aufgaben aus zwölf weniger bekannten Repos, die alle echte, von Entwicklern geschriebene Kontextdateien enthalten.</p>
<p>Getestet hat das Team der Studie die Coding-Agenten Claude Code mit Sonnet 4.5, OpenAI Codex mit GPT-5.2 und GPT-5.1 mini sowie Qwen Code mit Qwen3-30B-Coder, jeweils in drei Varianten: ohne Kontextdatei, mit automatisch generierter Kontextdatei nach Empfehlung des jeweiligen Agentenentwicklers und – auf AgentBench – mit der real vorhandenen, von Entwicklern gepflegten Kontextdatei. Alle Agenten haben die Datei in ihren Kontext geladen, entweder AGENTS.md (für Codex- und Qwen-Code) oder CLAUDE.md (Claude Code). Die Erfolgsquote hat das Team dabei streng über Testsuites gemessen: Ein Task gilt nur dann als gelöst, wenn alle zugehörigen Tests nach Anwenden des Agentenpatches grün laufen.</p>
<h3 class="subheading" id="nav_die_erkenntnis__0">Die Erkenntnis: kaum Nutzen, spürbare Kosten</h3>
<p>Das Ergebnis ist ernüchternd: LLM‑generierte Kontextdateien reduzieren die Erfolgsrate im Mittel leicht – um etwa 0,5 Prozentpunkte bei SWE‑bench Lite und rund 2 bis 3 Prozentpunkte bei AgentBench, je nach Modell. Gleichzeitig steigen die Inferenzkosten im Schnitt um 20 bis 23 Prozent, weil die Agenten mehr Schritte ausführen und längere Reasoning‑Passagen produzieren.</p>
<p>Auch menschlich gepflegte Kontextdateien schneiden nur moderat besser ab: Sie verbessern die Erfolgsrate auf AgentBench im Mittel um etwa 4 Prozentpunkte gegenüber dem Szenario ganz ohne Kontextdatei, erhöhen aber ebenfalls die Anzahl der Agentenschritte und damit die Kosten – in einzelnen Set-ups um knapp 20 Prozent. Überspitzt formuliert bedeutet das: Für ein paar Prozentpunkte Erfolgsgewinn bezahlt man mit deutlich mehr Tokenverbrauch, längeren Laufzeiten und komplexeren Agenten-Traces.</p>
<p>Die Studie zeigt, dass Agenten die Anweisungen in Kontextdateien ernst nehmen: Sind bestimmte Tools oder Workflows erwähnt, nutzen Agenten sie häufiger – etwa Projektskripte, pytest, uv oder repositoryspezifische Hilfstools. Kontextdateien führen auch zu mehr Tests, mehr Dateizugriffen und ausführlicherer Repositorynavigation. Das Problem ist also nicht, dass die Modelle Kontextinstruktionen ignorieren.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Die zusätzliche Aktivität macht die Aufgaben jedoch schwieriger: Mehr Anweisungen bedeuten mehr Dinge, die der Agent berücksichtigen und gegeneinander abwägen muss, was sich in mehr Reasoning-Token pro Task niederschlägt. Gleichzeitig funktionieren Kontextdateien schlecht als Repository-Overview: Die Agenten finden die für einen Bugfix relevanten Dateien im Schnitt nicht schneller als ohne AGENTS.md, obwohl viele Dateien explizit Verzeichnisstrukturen, Komponenten und Einstiegspunkte beschreiben.</p>
<h3 class="subheading" id="nav_redundante__1">Redundante Dokumentation statt gezielten Mehrwerts</h3>
<p>Eine wichtige Beobachtung des ETH-Teams ist, dass LLM‑generierte Kontextdateien meist redundant zur bestehenden Dokumentation sind: Readme, Contributing, Docs‑Ordner und Beispiele enthalten bereits Build‑und Testhinweise, Architekturübersichten und Stilvorgaben, die die Agenten via Dateizugriff ebenfalls nutzen können. In einem Ablationsexperiment entfernten die Forschenden deshalb alle anderen Dokumentationsdateien aus dem Repository und ließen nur die generierte Kontextdatei stehen. Ein Ablationsexperiment (Ablation Study) ist eine Methode zur Evaluierung von KI-Modellen, bei der gezielt spezifische Komponenten wie ein Feature, ein Layer oder Module entfernt oder verändert wurden, um deren Einfluss auf die Gesamtleistung zu messen.</p>
<p>In solch einem dokumentationsarmen Setting kippt das Bild: Plötzlich verbessern die generierten Kontextdateien die Erfolgsrate der Agenten im Schnitt um rund 2,7 Prozentpunkte und schneiden teilweise sogar besser ab als die ursprünglichen Entwicklerdokumente. Die naheliegende Interpretation: Kontextdateien sind dann hilfreich, wenn sie echte Wissenslücken der Agenten füllen und nicht, wenn sie bereits vorhandene Informationen noch einmal in leicht anderer Form wiederholen.</p>
<p>Eine separate empirische Analyse von über 2.300 Agenten-Readmes aus knapp 2.000 Repositorys zeigt, wie Entwickler solche Dateien heute nutzen (siehe Studie <a href="https://arxiv.org/abs/2511.12884" rel="external noopener" target="_blank">„Agent READMEs: An Empirical Study of Context Files for Agentic Coding“</a>). Am häufigsten enthalten sie funktionalen Kontext: Build‑ und Run‑Kommandos (in gut 60 Prozent der Fälle), Implementationsdetails (knapp 70 Prozent) und Architekturhinweise (rund 68 Prozent).</p>
<p>Deutlich unterrepräsentiert sind dagegen nicht funktionale Anforderungen wie Sicherheit und Performance, die nur jeweils in rund 15 Prozent der Dateien explizit adressiert sind. Zudem sind viele Dateien lang, schwer lesbar und entwickeln sich eher wie Konfigurationsartefakte mit vielen kleinen Ergänzungen als wie klar kuratierte Dokumente – ein weiterer Hinweis darauf, warum generalistische Kontextdateien für Agenten schnell zur kognitiven Last heranwachsen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_praktische__2">Praktische Leitlinien für den Einsatz</h3>
<p>Aus Sicht der Praxis ergeben sich daraus einige Empfehlungen für den produktiven Einsatz von AGENTS.md (siehe GitHub-Blogartikel <a href="https://github.blog/ai-and-ml/github-copilot/how-to-write-a-great-agents-md-lessons-from-over-2500-repositories/" rel="external noopener" target="_blank">„How to write a great agents.md“</a>):</p>
<ul class="rte__list rte__list--unordered"><li>Nichts wiederholen, was schon im Readme und in Docs steht. Doppelte Projektbeschreibungen oder lange Architekturexkurse sind zu vermeiden, wenn sie bereits an anderer Stelle gepflegt sind.</li><li>Schwerpunkt auf fehlendem, schwer zu erschließendem Kontext. Dazu gehören projekt- oder teamspezifische Skripte, besondere Test‑Set-ups, nicht offensichtliche Fallstricke oder domänenspezifische Invarianten, die der Agent sonst nur durch intensives Trial and Error lernen würde.</li><li>Minimalistische testbare Regeln statt Wunschliste. Jede zusätzliche Regel erhöht die Suchfläche für den Agenten. Sinnvoll sind wenige, klar begründete Anforderungen, etwa „Tests immer über <code>make test-ci</code> laufen lassen“ statt eines halben Dutzends alternativer Workflows.</li><li>Agentenrolle klar zuschneiden. GitHub berichtet aus der Analyse von über 2.500 AGENTS.md-Dateien, dass spezialisierte Rollen – beispielsweise ein reiner Testagent oder Docs‑Agent – besser funktionieren als generische Anweisungen.</li><li>Iterativ verbessern statt im Vorfeld alles perfektionieren. Erfolgreiche Agenten-Readmes entstehen dadurch, dass Teams typische Fehlervarianten des Agenten beobachten und daraus gezielte, knappe Korrekturanweisungen ableiten.</li></ul>
<p>Zudem kann es hilfreich sein, den Agenten selbst seine eigene AGENTS.md optimieren zu lassen. Das LLM kann eine AGENTS.md analysieren und verbessern, indem es unklare Formulierungen, Widersprüche, Redundanzen oder fehlende Entscheidungsregeln erkennt und präziser formuliert. Die überarbeiteten Anweisungen steuern später das Verhalten eines Agenten. Besonders sinnvoll ist das, wenn das Resultat nicht nur das Umschreiben der Datei ist, sondern diese anschließend auch mit Beispielaufgaben getestet wird, um zu sehen, ob der Agent die gewünschten Regeln tatsächlich besser befolgt. Am zuverlässigsten ist deshalb ein iterativer Prozess, der analysiert, überarbeitet und testet, statt sich nur auf eine sprachlich schönere Version zu verlassen.</p>
<h3 class="subheading" id="nav_implikationen__3">Implikationen für Teams mit Coding-Agenten</h3>
<p>Für Entwicklungsteams ist AGENTS.md kein kostenloser Produktivitätsturbo, sondern ein Steuerungsinstrument, bei dem sie Kompromisse eingehen müssen. Automatisch generierte, stark redundante Kontextdateien verschlechtern in der aktuellen Evidenzlage die Erfolgsraten, verteuern jeden Agentenlauf und erzeugen komplexere Traces, die schwerer zu debuggen sind.</p>
<p>Hilfreich sind Repositorykontextdateien vor allem dort, wo sie gezielt fehlende Informationen bereitstellen, etwa in schlecht dokumentierten oder speziellen Codebasen, für Nischen-Toolchains oder klar abgegrenzte Agentenrollen. Die Aussage „Readme für KI-Agenten“ der AGENTS.md-Website ist daher wörtlich zu nehmen: nicht als weitere vollständige Dokumentation, sondern als schlanke, präzise Betriebsanleitung, die Agenten genau so viel Kontext gibt, wie sie für robuste Ergebnisse brauchen – und kein Token mehr.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<!-- content-web failed: %2Fcontent%2Fcontent-web%2Fmodule%2F4572872 -->
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:nb@heise.de" title="Nicole Bechtel">nb</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11245140"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11245140: AGENTS.md: Hilfreiches Agentenbriefing oder Tokenfresser?"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Eine AGENTS.md gilt meist als Pflicht für den Einsatz von Coding-Agenten. Doch aus einer gut gemeinten Hilfe kann schnell zusätzlicher Ballast werden.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/background/AGENTS-md-Helpful-agent-briefing-or-token-hog-11245317.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FAGENTS-md-Hilfreiches-Agentenbriefing-oder-Tokenfresser-11245140.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.ix.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fhintergrund%2FAGENTS-md-Hilfreiches-Agentenbriefing-oder-Tokenfresser-11245140.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/hintergrund/AGENTS-md-Hilfreiches-Agentenbriefing-oder-Tokenfresser-11245140.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.ix.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/AGENTS-md-Hilfreiches-Agentenbriefing-oder-Tokenfresser/forum-580518/comment/"
class="a-article-action"
name="meldung.ix.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>45</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/7/4/3/4/aufmacher_tools_tipps_agentsmd_digital-358644d91c34f48c.png"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/7/4/3/4/aufmacher_tools_tipps_agentsmd_digital-358644d91c34f48c.png"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/4/3/4/aufmacher_tools_tipps_agentsmd_digital-358644d91c34f48c.png 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/4/3/4/aufmacher_tools_tipps_agentsmd_digital-358644d91c34f48c.png 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/4/3/4/aufmacher_tools_tipps_agentsmd_digital-358644d91c34f48c.png 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/4/3/4/aufmacher_tools_tipps_agentsmd_digital-358644d91c34f48c.png 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Abstrakte Darstellung eines neuronalen Netzes mit verbundenen Kreisen."
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: Vanessa Bahr / iX)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-06T07:16:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>06.04.2026,
</span>
<span class="a-datetime__time ">07:16
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
8 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/ix/">
<div
class="a-article-branding a-article-branding--with-hover"
title="Ein Beitrag von: iX Magazin"
>
iX Magazin
</div>
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name">Dr. Fabian Deitelhoff</li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<!-- RSPEAK_STOP -->
<a-collapse
class="
a-box
a-box--collapsable
a-box--full-bordered
a-toc
"
has-indicator
>
<header
data-collapse-trigger
class="
a-box__header
"
>
<span>
Inhaltsverzeichnis
</span>
</header>
<div data-collapse-target class="a-box__target">
<div class="a-box__content">
</div>
</div>
</a-collapse>
<!-- RSPEAK_START -->
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/background/AGENTS-md-Helpful-agent-briefing-or-token-hog-11245317.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Die Datei AGENTS.md ist ein Readme für KI-Agenten: Ein fester Ort im Repository, an dem Build‑Schritte, Testkommandos, Tooling, Architekturlinien und Coding-Guidelines speziell für autonome Coding-Agenten beschrieben sind. Die Idee ist, dass Agenten diese Datei früh lesen und dadurch schneller verstehen, wie sie Tests ausführen, den Code strukturieren und welche Konventionen sie beachten müssen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>Anbieter wie OpenAI, Anthropic, GitHub und Qwen bewerben dieses Muster offensiv. Zudem bringen viele Frameworks Kommandozeilenbefehle wie <code>/init</code> mit, die aus einem bestehenden Repository automatisch eine AGENTS.md oder eine ähnliche Datei wie CLAUDE.md generieren. Dadurch hat sich der Standard rasant verbreitet: Im Jahr 2025 waren bereits zehntausende öffentliche GitHub-Repositorys mit Kontextdateien ausgestattet, die Tendenz ist steigend. Das <a href="https://github.com/agentsmd/agents.md" rel="external noopener" target="_blank">AGENTS.md-Repository auf GitHub</a> listet die Vorteile auf und zeigt Beispiele für den Aufbau solch einer Datei.</p>
<p>Ein Team an der ETH Zürich hat den Aufbau und die Nützlichkeit von AGENTS.md unter die Lupe genommen. Die Studie <a href="https://arxiv.org/html/2602.11988v1" rel="external noopener" target="_blank">„Evaluating AGENTS.md: Are Repository-Level Context Files Helpful for Coding Agents?“</a> untersucht erstmals systematisch, welchen Effekt solche Dateien auf reale Agentenworkflows haben. Die Forschenden kombinieren dafür zwei Benchmarks: das etablierte SWE‑bench Lite mit 300 Aufgaben aus elf populären Python-Repositorys und das Benchmarktool AgentBench mit 138 Aufgaben aus zwölf weniger bekannten Repos, die alle echte, von Entwicklern geschriebene Kontextdateien enthalten.</p>
<p>Getestet hat das Team der Studie die Coding-Agenten Claude Code mit Sonnet 4.5, OpenAI Codex mit GPT-5.2 und GPT-5.1 mini sowie Qwen Code mit Qwen3-30B-Coder, jeweils in drei Varianten: ohne Kontextdatei, mit automatisch generierter Kontextdatei nach Empfehlung des jeweiligen Agentenentwicklers und – auf AgentBench – mit der real vorhandenen, von Entwicklern gepflegten Kontextdatei. Alle Agenten haben die Datei in ihren Kontext geladen, entweder AGENTS.md (für Codex- und Qwen-Code) oder CLAUDE.md (Claude Code). Die Erfolgsquote hat das Team dabei streng über Testsuites gemessen: Ein Task gilt nur dann als gelöst, wenn alle zugehörigen Tests nach Anwenden des Agentenpatches grün laufen.</p>
<h3 class="subheading" id="nav_die_erkenntnis__0">Die Erkenntnis: kaum Nutzen, spürbare Kosten</h3>
<p>Das Ergebnis ist ernüchternd: LLM‑generierte Kontextdateien reduzieren die Erfolgsrate im Mittel leicht – um etwa 0,5 Prozentpunkte bei SWE‑bench Lite und rund 2 bis 3 Prozentpunkte bei AgentBench, je nach Modell. Gleichzeitig steigen die Inferenzkosten im Schnitt um 20 bis 23 Prozent, weil die Agenten mehr Schritte ausführen und längere Reasoning‑Passagen produzieren.</p>
<p>Auch menschlich gepflegte Kontextdateien schneiden nur moderat besser ab: Sie verbessern die Erfolgsrate auf AgentBench im Mittel um etwa 4 Prozentpunkte gegenüber dem Szenario ganz ohne Kontextdatei, erhöhen aber ebenfalls die Anzahl der Agentenschritte und damit die Kosten – in einzelnen Set-ups um knapp 20 Prozent. Überspitzt formuliert bedeutet das: Für ein paar Prozentpunkte Erfolgsgewinn bezahlt man mit deutlich mehr Tokenverbrauch, längeren Laufzeiten und komplexeren Agenten-Traces.</p>
<p>Die Studie zeigt, dass Agenten die Anweisungen in Kontextdateien ernst nehmen: Sind bestimmte Tools oder Workflows erwähnt, nutzen Agenten sie häufiger – etwa Projektskripte, pytest, uv oder repositoryspezifische Hilfstools. Kontextdateien führen auch zu mehr Tests, mehr Dateizugriffen und ausführlicherer Repositorynavigation. Das Problem ist also nicht, dass die Modelle Kontextinstruktionen ignorieren.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<p>Die zusätzliche Aktivität macht die Aufgaben jedoch schwieriger: Mehr Anweisungen bedeuten mehr Dinge, die der Agent berücksichtigen und gegeneinander abwägen muss, was sich in mehr Reasoning-Token pro Task niederschlägt. Gleichzeitig funktionieren Kontextdateien schlecht als Repository-Overview: Die Agenten finden die für einen Bugfix relevanten Dateien im Schnitt nicht schneller als ohne AGENTS.md, obwohl viele Dateien explizit Verzeichnisstrukturen, Komponenten und Einstiegspunkte beschreiben.</p>
<h3 class="subheading" id="nav_redundante__1">Redundante Dokumentation statt gezielten Mehrwerts</h3>
<p>Eine wichtige Beobachtung des ETH-Teams ist, dass LLM‑generierte Kontextdateien meist redundant zur bestehenden Dokumentation sind: Readme, Contributing, Docs‑Ordner und Beispiele enthalten bereits Build‑und Testhinweise, Architekturübersichten und Stilvorgaben, die die Agenten via Dateizugriff ebenfalls nutzen können. In einem Ablationsexperiment entfernten die Forschenden deshalb alle anderen Dokumentationsdateien aus dem Repository und ließen nur die generierte Kontextdatei stehen. Ein Ablationsexperiment (Ablation Study) ist eine Methode zur Evaluierung von KI-Modellen, bei der gezielt spezifische Komponenten wie ein Feature, ein Layer oder Module entfernt oder verändert wurden, um deren Einfluss auf die Gesamtleistung zu messen.</p>
<p>In solch einem dokumentationsarmen Setting kippt das Bild: Plötzlich verbessern die generierten Kontextdateien die Erfolgsrate der Agenten im Schnitt um rund 2,7 Prozentpunkte und schneiden teilweise sogar besser ab als die ursprünglichen Entwicklerdokumente. Die naheliegende Interpretation: Kontextdateien sind dann hilfreich, wenn sie echte Wissenslücken der Agenten füllen und nicht, wenn sie bereits vorhandene Informationen noch einmal in leicht anderer Form wiederholen.</p>
<p>Eine separate empirische Analyse von über 2.300 Agenten-Readmes aus knapp 2.000 Repositorys zeigt, wie Entwickler solche Dateien heute nutzen (siehe Studie <a href="https://arxiv.org/abs/2511.12884" rel="external noopener" target="_blank">„Agent READMEs: An Empirical Study of Context Files for Agentic Coding“</a>). Am häufigsten enthalten sie funktionalen Kontext: Build‑ und Run‑Kommandos (in gut 60 Prozent der Fälle), Implementationsdetails (knapp 70 Prozent) und Architekturhinweise (rund 68 Prozent).</p>
<p>Deutlich unterrepräsentiert sind dagegen nicht funktionale Anforderungen wie Sicherheit und Performance, die nur jeweils in rund 15 Prozent der Dateien explizit adressiert sind. Zudem sind viele Dateien lang, schwer lesbar und entwickeln sich eher wie Konfigurationsartefakte mit vielen kleinen Ergänzungen als wie klar kuratierte Dokumente – ein weiterer Hinweis darauf, warum generalistische Kontextdateien für Agenten schnell zur kognitiven Last heranwachsen.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<h3 class="subheading" id="nav_praktische__2">Praktische Leitlinien für den Einsatz</h3>
<p>Aus Sicht der Praxis ergeben sich daraus einige Empfehlungen für den produktiven Einsatz von AGENTS.md (siehe GitHub-Blogartikel <a href="https://github.blog/ai-and-ml/github-copilot/how-to-write-a-great-agents-md-lessons-from-over-2500-repositories/" rel="external noopener" target="_blank">„How to write a great agents.md“</a>):</p>
<ul class="rte__list rte__list--unordered"><li>Nichts wiederholen, was schon im Readme und in Docs steht. Doppelte Projektbeschreibungen oder lange Architekturexkurse sind zu vermeiden, wenn sie bereits an anderer Stelle gepflegt sind.</li><li>Schwerpunkt auf fehlendem, schwer zu erschließendem Kontext. Dazu gehören projekt- oder teamspezifische Skripte, besondere Test‑Set-ups, nicht offensichtliche Fallstricke oder domänenspezifische Invarianten, die der Agent sonst nur durch intensives Trial and Error lernen würde.</li><li>Minimalistische testbare Regeln statt Wunschliste. Jede zusätzliche Regel erhöht die Suchfläche für den Agenten. Sinnvoll sind wenige, klar begründete Anforderungen, etwa „Tests immer über <code>make test-ci</code> laufen lassen“ statt eines halben Dutzends alternativer Workflows.</li><li>Agentenrolle klar zuschneiden. GitHub berichtet aus der Analyse von über 2.500 AGENTS.md-Dateien, dass spezialisierte Rollen – beispielsweise ein reiner Testagent oder Docs‑Agent – besser funktionieren als generische Anweisungen.</li><li>Iterativ verbessern statt im Vorfeld alles perfektionieren. Erfolgreiche Agenten-Readmes entstehen dadurch, dass Teams typische Fehlervarianten des Agenten beobachten und daraus gezielte, knappe Korrekturanweisungen ableiten.</li></ul>
<p>Zudem kann es hilfreich sein, den Agenten selbst seine eigene AGENTS.md optimieren zu lassen. Das LLM kann eine AGENTS.md analysieren und verbessern, indem es unklare Formulierungen, Widersprüche, Redundanzen oder fehlende Entscheidungsregeln erkennt und präziser formuliert. Die überarbeiteten Anweisungen steuern später das Verhalten eines Agenten. Besonders sinnvoll ist das, wenn das Resultat nicht nur das Umschreiben der Datei ist, sondern diese anschließend auch mit Beispielaufgaben getestet wird, um zu sehen, ob der Agent die gewünschten Regeln tatsächlich besser befolgt. Am zuverlässigsten ist deshalb ein iterativer Prozess, der analysiert, überarbeitet und testet, statt sich nur auf eine sprachlich schönere Version zu verlassen.</p>
<h3 class="subheading" id="nav_implikationen__3">Implikationen für Teams mit Coding-Agenten</h3>
<p>Für Entwicklungsteams ist AGENTS.md kein kostenloser Produktivitätsturbo, sondern ein Steuerungsinstrument, bei dem sie Kompromisse eingehen müssen. Automatisch generierte, stark redundante Kontextdateien verschlechtern in der aktuellen Evidenzlage die Erfolgsraten, verteuern jeden Agentenlauf und erzeugen komplexere Traces, die schwerer zu debuggen sind.</p>
<p>Hilfreich sind Repositorykontextdateien vor allem dort, wo sie gezielt fehlende Informationen bereitstellen, etwa in schlecht dokumentierten oder speziellen Codebasen, für Nischen-Toolchains oder klar abgegrenzte Agentenrollen. Die Aussage „Readme für KI-Agenten“ der AGENTS.md-Website ist daher wörtlich zu nehmen: nicht als weitere vollständige Dokumentation, sondern als schlanke, präzise Betriebsanleitung, die Agenten genau so viel Kontext gibt, wie sie für robuste Ergebnisse brauchen – und kein Token mehr.</p>
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<!-- content-web failed: %2Fcontent%2Fcontent-web%2Fmodule%2F4572872 -->
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<div id="wtma_teaser_ho_vertrieb_inline_branding">
<figure class="branding">
<a href="http://www.heise.de/ix" name="meldung.newsticker.inline.branding_ix" title="Mehr von iX Magazin">
<a-img alt="Mehr von iX Magazin" class="a-u-hide-from-tablet" height="693" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_mobil_ix-c627affd5b73ee46.png" style="aspect-ratio: 1200 / 693;" width="1200">
<img alt="Mehr von iX Magazin" height="693" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1200 / 693; object-fit: cover;" width="1200">
</a-img>
<a-img alt="Mehr von iX Magazin" class="a-u-show-from-tablet" height="500" high-dpi-quality="100" quality="100" src="/imgs/09/4/8/9/7/9/7/6/ho_markenbanner_desktop_neu_ix2-7dde18964795e578.png" style="aspect-ratio: 1830 / 500;" width="1830">
<img alt="Mehr von iX Magazin" height="500" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E" style="aspect-ratio: 1830 / 500; object-fit: cover;" width="1830">
</a-img>
</a>
</figure>
</div>
<!-- RSPEAK_START -->
<p>
<!-- RSPEAK_STOP -->
<span class="redakteurskuerzel ISI_IGNORE">(<a class="redakteurskuerzel__link" href="mailto:nb@heise.de" title="Nicole Bechtel">nb</a>)</span>
<!-- RSPEAK_START -->
</p>
<!-- RSPEAK_STOP -->
<a-gift has-access>
<div data-show-has-gift-no-access>
<div class="curtain curtain--gradient article-layout__curtain"
data-teaser-tracking-id="gift_curtain_11245140"
data-teaser-tracking-name="gift_curtain"
data-teaser-tracking-rank="11245140: AGENTS.md: Hilfreiches Agentenbriefing oder Tokenfresser?"
data-teaser-tracking-content="gift_curtain"
google-curtain
>
</div>
</div>
</a-gift>
</div>
</div>
</div>
<a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-06T05:16:00.000Z
urn:bid:5057739
2026-04-04T08:21:00.000Z
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Die Entwicklung an der Bild- und Video-KI Amuse wurde eingestellt, die Quellen als Open Source veröffentlicht. Nun gibt es erste Updates.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Dead-men-tell-no-tales-Local-image-AI-Amuse-3-2-0-released-11245759.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FTotgesagte-leben-laenger-Lokale-Bilder-KI-Amuse-3-2-0-erschienen-11245717.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.newsticker.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FTotgesagte-leben-laenger-Lokale-Bilder-KI-Amuse-3-2-0-erschienen-11245717.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Totgesagte-leben-laenger-Lokale-Bilder-KI-Amuse-3-2-0-erschienen-11245717.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.newsticker.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Totgesagte-leben-laenger-Lokale-Bilder-KI-Amuse-3-2-0-erschienen/forum-580486/comment/"
class="a-article-action"
name="meldung.newsticker.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>4</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/7/7/3/9/2026-04-03-Amuse-3-3d5a3b6817f87ffd.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/7/7/3/9/2026-04-03-Amuse-3-3d5a3b6817f87ffd.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/7/3/9/2026-04-03-Amuse-3-3d5a3b6817f87ffd.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/7/3/9/2026-04-03-Amuse-3-3d5a3b6817f87ffd.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/7/3/9/2026-04-03-Amuse-3-3d5a3b6817f87ffd.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/7/3/9/2026-04-03-Amuse-3-3d5a3b6817f87ffd.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Bedienoberfläche von Amuse"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: heise medien)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-04T10:21:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>04.04.2026,
</span>
<span class="a-datetime__time ">10:21
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/newsticker/">
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Dirk-Knop-3629568"
class="creator__link"
>Dirk Knop</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Dead-men-tell-no-tales-Local-image-AI-Amuse-3-2-0-released-11245759.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Die Entwicklung der lokal arbeitenden Bild- und Video-KI-Software Amuse hatte Hersteller TensorStack-AI eigentlich <a href="http://www.heise.de/news/KI-Video-und-Bild-Ersteller-Amuse-am-Ende-ComfyUI-als-Ersatz-11147232.html">eingestellt und die Quellen veröffentlicht</a>. Jetzt hat das Open-Source-Projekt in der Nacht zum Freitag dieser Woche ein erstes Update veröffentlicht. Die Entwicklung geht damit weiter.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>In dem <a href="https://github.com/TensorStack-AI/AmuseAI" rel="external noopener" target="_blank">Amuse-GitHub-Projekt</a> hat es seit Dezember einige Änderungen gegeben. Die Konzentration und starke Optimierung für AMD-Hardware ist Vergangenheit. Nun hebt das Projekt insbesondere HP-KI-Geräte werblich hervor. Konkrete Anpassungen an die Hardware des Herstellers lassen sich allerdings nicht erkennen.</p>
<h3 class="subheading" id="nav_nicht_alle__0">Nicht alle Änderungen protokolliert</h3>
<p>Das offizielle <a href="https://github.com/TensorStack-AI/AmuseAI/releases/tag/v3.2.0" rel="external noopener" target="_blank">Changelog zur aktuellen Version Amuse 3.2.0</a> fällt zunächst übersichtlich aus. Die Migration auf .NET 10 aller Komponenten solle demnach einen Performance-Schub aufgrund besserer Speicherverwaltung und Optimierungen des JIT-Compilers bringen. Das Update auf die OnnxRuntime 1.23.0 führt demnach zu mehr Stabilität und liefert Unterstützung zum Einbinden neuerer KI-Modell-Architekturen. Die Ausführungs-Provider sollen ebenfalls verbessert sein und mehr Geschwindigkeit bringen. Die Dependencies wurden modernisiert und die internen NuGet-Bibliotheken auf die jüngsten stabilen Versionen aktualisiert. Das sorge für mehr Sicherheit, Stabilität und Kompatibilität.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Beim kurzen Test mit einem eher schwachbrüstigen AMD-Ryzen-7640HS-System mit 64 GByte RAM, das lediglich eine 10-TOp/s-NPU enthält, sind die Ergebnisse jedoch durchwachsen. Das Changelog erwähnt die Änderungen an der Bedienoberfläche nicht, etwa die Anzeigen zu Prozessor-, GPU- und NPU- sowie jeweiliger Speicherauslastung wurden eingedampft. AMD-Optimierungen wie der KI-basierte und flinke „AMD XDNA Super Resolution“-Upscaler sind rausgeflogen.</p>
<p>Die AMD-AI-optimierten Modelle sind in der Software nicht mehr auffindbar. Die allgemeinen Modelle funktionieren jedoch in weitgehend ähnlichem Tempo wie zuvor. Allerdings stürzt die OnnxRuntime nun bei Modellen mit mehr Speicherhunger öfter mit der Fehlermeldung ab, dass die Grafikkarte keine Befehle mehr annehme. Die kleineren Modelle bis etwa 4 GByte funktionieren jedoch problemlos.</p>
<p>Es bleibt spannend, ob die Weiterentwicklung diese Probleme aufnimmt und löst. Lokale <a href="http://www.heise.de/thema/Kuenstliche-Intelligenz">Künstliche Intelligenz</a> liefert mehr Privatsphäre, und Amuse ist die bislang einfachste Möglichkeit zur lokalen Erstellung von Bildern und Videoschnipseln. Lösungen wie ComfyUI sind zwar eine Alternative, jedoch deutlich schwieriger zu bedienen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5057825" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11245886"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Waymo-in-London-Der-ultimative-Haertetest-fuers-autonome-Fahren-11245886.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6000" height="3371" src="https://www.heise.de/imgs/18/5/0/5/7/8/2/5/shutterstock_2599448947-195569c3915dfaea.jpeg" alt="Waymo,Jaguar,I-pace,Equipped,With,Self-driving,Technology,Navigates,A,City" style="aspect-ratio:6000 / 3371"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6000" height="3371" alt="Waymo,Jaguar,I-pace,Equipped,With,Self-driving,Technology,Navigates,A,City" style="aspect-ratio:6000 / 3371;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Googles Waymo wagt den Sprung nach Europa: Robotaxi-Testlauf in London</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/US-Regierung-versus-Anthropic-Berufung-gegen-Sanktionsstopp-11245632.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5295" height="2975" src="https://www.heise.de/imgs/18/5/0/5/7/6/9/5/shutterstock_2141372609-67eb70b65793bbd2.jpeg" alt="US-Flagge in den Händen von US-Soldlaten" style="aspect-ratio:5295 / 2975"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5295" height="2975" alt="US-Flagge in den Händen von US-Soldlaten" style="aspect-ratio:5295 / 2975;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">US-Regierung versus Anthropic: Berufung gegen Sanktionsstopp</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Metas-neues-KI-Spitzenteam-soll-Feed-Algorithmen-noch-effektiver-gestalten-11244749.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5007" height="2813" src="https://www.heise.de/imgs/18/5/0/5/7/2/4/9/shutterstock_2329754675-b99ae6d19bdf9a08.jpeg" alt="Apps von Threads, Facebook, Instagram, WhatsApp, Messenger und Meta auf einem Smartphone" style="aspect-ratio:5007 / 2813"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5007" height="2813" alt="Apps von Threads, Facebook, Instagram, WhatsApp, Messenger und Meta auf einem Smartphone" style="aspect-ratio:5007 / 2813;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Metas neues KI-Spitzenteam soll Feed-Algorithmen noch effektiver gestalten</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Open-Source-CMS-von-Cloudflare-EmDash-fordert-WordPress-heraus-11245022.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="7360" height="4135" src="https://www.heise.de/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg" alt="Zwei tippende Hände auf Laptop; dahinter viele DIN-A4-Order" style="aspect-ratio:7360 / 4135"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="7360" height="4135" alt="Zwei tippende Hände auf Laptop; dahinter viele DIN-A4-Order" style="aspect-ratio:7360 / 4135;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Open-Source-CMS von Cloudflare: EmDash fordert WordPress heraus</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/hintergrund/Gehaltsreport-Was-IT-Profis-und-KI-Spezialisten-wirklich-verdienen-11244447.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1536" height="863" src="https://www.heise.de/imgs/18/5/0/5/7/0/9/6/ChatGPT_Image_2-16f33faaad7c2009.png" style="aspect-ratio:1536 / 863"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1536" height="863" style="aspect-ratio:1536 / 863;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Gehaltsreport: Was IT-Profis und KI-Spezialisten wirklich verdienen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<a
href="${url}"
title="${title}"
class="
a-article-teaser__link
"
data-upscore-url
data-google-interstitial=false
>
<figure
class=" a-article-teaser__image-container"
>
<div
>
<a-img
width="16"
height="9"
layout="responsive"
src="${image}"
alt="${title}"
quality="85"
high-dpi-quality="70"
style="
aspect-ratio: 16 / 9;"
>
<img
src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='696px' height='391px' viewBox='0 0 696 391'%3E%3Crect x='0' y='0' width='696' height='391' fill='%23f2f2f2'%3E%3C/rect%3E%3C/svg%3E"
width="16"
height="9"
alt="${title}"
style="aspect-ratio: 16 / 9; object-fit: cover;"
>
</a-img>
</div>
</figure>
<div
class="
a-article-teaser__content-container
"
>
<header>
<h3
class="
a-article-teaser__title
"
>
<span class="
a-article-teaser__kicker
"
>
${intro}
</span>
<span class="a-article-teaser__title-text" data-upscore-title>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 32 32"
role="img"
preserveAspectRatio="xMinYMin"
class="heise-plus-logo a-article-teaser__plus-icon"
>
<style>
.plus-icon-svg-rec {
fill: #14315b;
}
.plus-icon-svg-path {
fill: #f2f2f2;
}
.dark .plus-icon-svg-rec {
fill: #f2f2f2;
}
.dark .plus-icon-svg-path {
fill: #323232;
}
</style>
<rect class="plus-icon-svg-rec" width="32" height="32" rx="12" ry="12"/>
<path class="plus-icon-svg-path" d="M24 14.3h-6.3V8h-3.4v6.3H8v3.4h6.3V24h3.4v-6.3H24z"/>
</svg>${title}
</span>
</h3>
</header>
<p class="
a-article-teaser__synopsis
"
>${lead} </p>
</div>
</a>
<div class="article-layout__header-container">
<!-- RSPEAK_START -->
<header
class="
a-article-header
">
<p class="a-article-header__lead" dir="ltr">
Die Entwicklung an der Bild- und Video-KI Amuse wurde eingestellt, die Quellen als Open Source veröffentlicht. Nun gibt es erste Updates.
</p>
<!-- RSPEAK_STOP -->
<div class="a-article-header__service a-article-header__service--right">
<a
href="http://www.heise.de/en/news/Dead-men-tell-no-tales-Local-image-AI-Amuse-3-2-0-released-11245759.html"
title="Change language"
class="a-article-action"
name="sprache.en"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="a-article-header__flag"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class="a-article-header__flag-stroke"
/>
</svg>
</a>
<a
href="//app-eu.readspeaker.com/cgi-bin/rsent?customerid=4407&lang=de_de&readid=meldung&url=https%3A%2F%2Fwww.heise.de%2Fnews%2FTotgesagte-leben-laenger-Lokale-Bilder-KI-Amuse-3-2-0-erschienen-11245717.html%3Fseite%3Dall"
title="Beitrag vorlesen und MP3-Download"
class="a-article-action
js-article-header__readspeaker"
name="meldung.newsticker.header.vorlesen"
data-read-aloud-url="https%3A%2F%2Fwww.heise.de%2Fnews%2FTotgesagte-leben-laenger-Lokale-Bilder-KI-Amuse-3-2-0-erschienen-11245717.html%3Fseite%3Dall"
data-iso-language-code="de"
target="_blank"
rel="nofollow noopener noreferrer"
>
<span class="a-u-sr-only">vorlesen</span>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#readspeaker"></use>
</svg>
</a>
<a
href="http://www.heise.de/news/Totgesagte-leben-laenger-Lokale-Bilder-KI-Amuse-3-2-0-erschienen-11245717.html?view=print"
class="
link
a-article-action a-u-show-from-tablet
"
name="meldung.newsticker.header.drucken"
title="Druckansicht"
rel="nofollow"
>
<svg
id=""
xmlns="http://www.w3.org/2000/svg"
class="a-article-action__icon"
viewBox="0 0 24 24"
>
<path d="M22,7H19V2H5V7H2A2,2,0,0,0,0,9v7a2,2,0,0,0,2,2H5v4H19V18h3a2,2,0,0,0,2-2V9A2,2,0,0,0,22,7ZM7,4H17V7H7ZM17,20H7V15H17v5Zm5-5a1,1,0,0,1-1,1H19V13H5v3H3a1,1,0,0,1-1-1V10A1,1,0,0,1,3,9H21a1,1,0,0,1,1,1Z"/>
</svg>
<span
class="a-u-sr-only"
>
Druckansicht
</span>
</a>
<a
href="http://www.heise.de/forum/heise-online/Kommentare/Totgesagte-leben-laenger-Lokale-Bilder-KI-Amuse-3-2-0-erschienen/forum-580486/comment/"
class="a-article-action"
name="meldung.newsticker.header.kommentarelesen"
title="Kommentar lesen"
>
<svg class="a-article-action__icon">
<use href="http://www.heise.de/icons/common-icons.svg#comment-bubble"></use>
</svg>
<span class="a-article-action__label">
<span>4</span>
<span class="a-u-sr-only">Kommentare lesen</span>
</span>
</a>
</div>
<a-lightbox
class="article-image"
tabindex="1"
src="/imgs/18/5/0/5/7/7/3/9/2026-04-03-Amuse-3-3d5a3b6817f87ffd.jpeg"
>
<figure
>
<div
class="article-image__gallery-container"
>
<img
src="https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/5/0/5/7/7/3/9/2026-04-03-Amuse-3-3d5a3b6817f87ffd.jpeg"
srcset="
https://heise.cloudimg.io/width/336/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/7/3/9/2026-04-03-Amuse-3-3d5a3b6817f87ffd.jpeg 336w,
https://heise.cloudimg.io/width/1008/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/7/3/9/2026-04-03-Amuse-3-3d5a3b6817f87ffd.jpeg 1008w,
https://heise.cloudimg.io/width/610/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/7/3/9/2026-04-03-Amuse-3-3d5a3b6817f87ffd.jpeg 610w,
https://heise.cloudimg.io/width/1220/q70.png-lossy-70.webp-lossy-70.foil1/_www-heise-de_/imgs/18/5/0/5/7/7/3/9/2026-04-03-Amuse-3-3d5a3b6817f87ffd.jpeg 1220w
"
sizes="(max-width: 991px) 95vw,610px"
alt="Bedienoberfläche von Amuse"
width="610"
height="342"
class="legacy-img "
loading="eager"
decoding="async"
style="background-color: #f2f2f2;"
onload="this.style=null;"
>
</div>
<figcaption
class="a-caption "
> <p class="a-caption__source">
(Bild: heise medien)
</p>
</figcaption>
</figure>
</a-lightbox>
<!-- RSPEAK_START -->
<div class="a-article-header__publish-info">
<div class="a-publish-info ">
<time
datetime="2026-04-04T10:21:00+02:00"
class="
a-datetime
a-publish-info__datetime"
>
<span
class="
a-datetime__date
a-publish-info__date"
>04.04.2026,
</span>
<span class="a-datetime__time ">10:21
</span>
<span
class="
a-datetime__word
"
>
<!-- RSPEAK_STOP -->Uhr<!-- RSPEAK_START -->
</span>
</time>
<!-- RSPEAK_STOP -->
<div class="a-publish-info__read-time">
<span class="a-publish-info__read-time-value">
Lesezeit:
2 Min.
</span>
</div>
<div class="a-publish-info__branding">
<a href="http://www.heise.de/newsticker/">
</a>
</div>
<!-- RSPEAK_START -->
</div>
<div class="creator">
<span class="creator__label">
Von
</span>
<ul class="creator__names">
<li class="creator__name"><a
href="http://www.heise.de/autor/Dirk-Knop-3629568"
class="creator__link"
>Dirk Knop</a></li>
</ul>
</div>
</div></header>
</div>
<div class="article-layout__content-container">
<div
class="article-layout__content"
dir="ltr"
>
<div class="article-content">
<details class="notice-banner a-box a-box--full-bordered a-box--notice a-u-mb-2">
<summary class="notice-banner__summary" aria-label="close notice">
<span class="a-u-sr-only">close notice</span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__close-icon"
viewBox="0 0 24 24"
role="img"
aria-hidden="true"
stroke="currentColor"
>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</summary>
<div class="notice-banner__content a-box__content" lang="en-GB">
<svg
xmlns="http://www.w3.org/2000/svg"
class="notice-banner__flag-icon"
width="24"
height="24"
viewBox="0 0 24 24"
>
<defs>
<clipPath id="clippath">
<rect x="2" y="2" width="20" height="20" fill="none" stroke-width="0"/>
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="#f0f0f0" stroke-width="0"/>
<path d="m4.07,5.91c-.79,1.02-1.38,2.2-1.72,3.48h5.2l-3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.66,9.39c-.34-1.28-.94-2.46-1.72-3.48l-3.48,3.48h5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m2.34,14.61c.34,1.28.94,2.46,1.72,3.48l3.48-3.48H2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m18.09,4.07c-1.02-.79-2.2-1.38-3.48-1.72v5.2l3.48-3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m5.91,19.93c1.02.79,2.2,1.38,3.48,1.72v-5.2l-3.48,3.48Z" fill="#0052b4" stroke-width="0"/>
<path d="m9.39,2.34c-1.28.34-2.46.94-3.48,1.72l3.48,3.48V2.34Z" fill="#0052b4" stroke-width="0"/>
<path d="m14.61,21.66c1.28-.35,2.46-.94,3.48-1.72l-3.48-3.48v5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m16.45,14.61l3.48,3.48c.79-1.02,1.38-2.2,1.72-3.48h-5.2Z" fill="#0052b4" stroke-width="0"/>
<path d="m21.92,10.7h-8.61V2.08c-.43-.06-.86-.08-1.3-.08s-.88.03-1.3.08v8.61h0s-8.61,0-8.61,0c-.06.43-.08.86-.08,1.3s.03.88.08,1.3h8.61v8.61c.43.06.86.08,1.3.08s.88-.03,1.3-.08v-8.61h0s8.61,0,8.61,0c.06-.43.08-.86.08-1.3s-.03-.88-.08-1.3h0Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,14.61l4.46,4.46c.21-.21.4-.42.59-.64l-3.82-3.82h-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,14.61h0l-4.46,4.46c.21.21.42.4.64.59l3.82-3.82v-1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m9.39,9.39h0l-4.46-4.46c-.21.21-.4.42-.59.64l3.82,3.82h1.23Z" fill="#d80027" stroke-width="0"/>
<path d="m14.61,9.39l4.46-4.46c-.21-.21-.42-.4-.64-.59l-3.82,3.82v1.23Z" fill="#d80027" stroke-width="0"/>
</g>
</g>
<path d="m12,22c5.52,0,10-4.48,10-10S17.52,2,12,2,2,6.48,2,12s4.48,10,10,10Z" fill="none"
class=""
/>
</svg>
<p class="notice-banner__text a-u-mb-0">
This article is also available in
<a href="http://www.heise.de/en/news/Dead-men-tell-no-tales-Local-image-AI-Amuse-3-2-0-released-11245759.html" class="notice-banner__link a-u-inline-link">English</a>.
It was translated with technical assistance and editorially reviewed before publication.
</p>
<p class="notice-banner__link a-u-mb-0">
<button data-action="hide-en-pointer" class="notice-banner__hide-link">Don’t show this again</button>.
</p>
</div>
</details>
<p>Die Entwicklung der lokal arbeitenden Bild- und Video-KI-Software Amuse hatte Hersteller TensorStack-AI eigentlich <a href="http://www.heise.de/news/KI-Video-und-Bild-Ersteller-Amuse-am-Ende-ComfyUI-als-Ersatz-11147232.html">eingestellt und die Quellen veröffentlicht</a>. Jetzt hat das Open-Source-Projekt in der Nacht zum Freitag dieser Woche ein erstes Update veröffentlicht. Die Entwicklung geht damit weiter.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-3">
<div class="ad-label" id="HEI_M_Incontent-1-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-1"></div>
</div>
<!-- RSPEAK_START -->
<p>In dem <a href="https://github.com/TensorStack-AI/AmuseAI" rel="external noopener" target="_blank">Amuse-GitHub-Projekt</a> hat es seit Dezember einige Änderungen gegeben. Die Konzentration und starke Optimierung für AMD-Hardware ist Vergangenheit. Nun hebt das Projekt insbesondere HP-KI-Geräte werblich hervor. Konkrete Anpassungen an die Hardware des Herstellers lassen sich allerdings nicht erkennen.</p>
<h3 class="subheading" id="nav_nicht_alle__0">Nicht alle Änderungen protokolliert</h3>
<p>Das offizielle <a href="https://github.com/TensorStack-AI/AmuseAI/releases/tag/v3.2.0" rel="external noopener" target="_blank">Changelog zur aktuellen Version Amuse 3.2.0</a> fällt zunächst übersichtlich aus. Die Migration auf .NET 10 aller Komponenten solle demnach einen Performance-Schub aufgrund besserer Speicherverwaltung und Optimierungen des JIT-Compilers bringen. Das Update auf die OnnxRuntime 1.23.0 führt demnach zu mehr Stabilität und liefert Unterstützung zum Einbinden neuerer KI-Modell-Architekturen. Die Ausführungs-Provider sollen ebenfalls verbessert sein und mehr Geschwindigkeit bringen. Die Dependencies wurden modernisiert und die internen NuGet-Bibliotheken auf die jüngsten stabilen Versionen aktualisiert. Das sorge für mehr Sicherheit, Stabilität und Kompatibilität.</p>
<!-- RSPEAK_STOP -->
<div class="ad ad--inread">
<div class="ad--inread-header">
<p class="ad--inread-header__text">
Videos by heise
</p>
<div class="ad--inread-header__more">
<button class="ad--inread-header-menu-toggle" popovertarget="ad--inread-header-menu">
mehr Videos
<svg fill="none" height="24" viewbox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
<path d="M8.625 12.0023C8.625 12.2094 8.45711 12.3773 8.25 12.3773C8.04289 12.3773 7.875 12.2094 7.875 12.0023C7.875 11.7952 8.04289 11.6273 8.25 11.6273C8.45711 11.6273 8.625 11.7952 8.625 12.0023ZM8.625 12.0023H8.25M12.375 12.0023C12.375 12.2094 12.2071 12.3773 12 12.3773C11.7929 12.3773 11.625 12.2094 11.625 12.0023C11.625 11.7952 11.7929 11.6273 12 11.6273C12.2071 11.6273 12.375 11.7952 12.375 12.0023ZM12.375 12.0023H12M16.125 12.0023C16.125 12.2094 15.9571 12.3773 15.75 12.3773C15.5429 12.3773 15.375 12.2094 15.375 12.0023C15.375 11.7952 15.5429 11.6273 15.75 11.6273C15.9571 11.6273 16.125 11.7952 16.125 12.0023ZM16.125 12.0023H15.75M21 12.0023C21 16.9729 16.9706 21.0023 12 21.0023C7.02944 21.0023 3 16.9729 3 12.0023C3 7.03176 7.02944 3.00232 12 3.00232C16.9706 3.00232 21 7.03176 21 12.0023Z" stroke="#777" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"></path>
</svg>
</button>
<div class="ad--inread-header-menu" id="ad--inread-header-menu" popover>
<ul class="a-u-mb-0">
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/@ct3003" target="_blank">
c't 3003
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://www.youtube.com/heiseonline" target="_blank">
heise & ct
</a>
</li>
<li>
<a class="ad--inread-header-menu-link" href="https://peertube.heise.de/" target="_blank">
Peertube
</a>
</li>
</ul>
</div>
</div>
</div>
<figure class="video video--fullwidth">
<a-video entry-id="27360" height="9" instant is-target-video-playlist style="aspect-ratio: 16 / 9" type="targetvideo" width="16"></a-video>
</figure>
</div>
<!-- RSPEAK_START -->
<p>Beim kurzen Test mit einem eher schwachbrüstigen AMD-Ryzen-7640HS-System mit 64 GByte RAM, das lediglich eine 10-TOp/s-NPU enthält, sind die Ergebnisse jedoch durchwachsen. Das Changelog erwähnt die Änderungen an der Bedienoberfläche nicht, etwa die Anzeigen zu Prozessor-, GPU- und NPU- sowie jeweiliger Speicherauslastung wurden eingedampft. AMD-Optimierungen wie der KI-basierte und flinke „AMD XDNA Super Resolution“-Upscaler sind rausgeflogen.</p>
<p>Die AMD-AI-optimierten Modelle sind in der Software nicht mehr auffindbar. Die allgemeinen Modelle funktionieren jedoch in weitgehend ähnlichem Tempo wie zuvor. Allerdings stürzt die OnnxRuntime nun bei Modellen mit mehr Speicherhunger öfter mit der Fehlermeldung ab, dass die Grafikkarte keine Befehle mehr annehme. Die kleineren Modelle bis etwa 4 GByte funktionieren jedoch problemlos.</p>
<p>Es bleibt spannend, ob die Weiterentwicklung diese Probleme aufnimmt und löst. Lokale <a href="http://www.heise.de/thema/Kuenstliche-Intelligenz">Künstliche Intelligenz</a> liefert mehr Privatsphäre, und Amuse ist die bislang einfachste Möglichkeit zur lokalen Erstellung von Bildern und Videoschnipseln. Lösungen wie ComfyUI sind zwar eine Alternative, jedoch deutlich schwieriger zu bedienen.</p>
<!-- RSPEAK_STOP -->
<div class="ad-mobile-group-1">
<div class="ad-label" id="HEI_M_Incontent-2-label" style="display: none;">
Weiterlesen nach der Anzeige
</div>
<div class="ad ad--sticky" id="HEI_M_Incontent-2"></div>
</div>
<!-- RSPEAK_START -->
<!-- RSPEAK_STOP -->
<div class="a-u-inline" style="margin: 1.5rem 0 1.5rem 1rem;">
<div class="ho-text" data-component="RecommendationBox"><header class="mb-4"><h3 class="inline-flex border-b-4 border-gray-800 pb-2 pr-8 text-xl leading-none font-bold dark:border-white">Lesen Sie auch</h3></header><a-collapse sneak-peek-elements="3" sneak-peek-elements-selector="article" class="group"><div data-collapse-target="true" class="relative mb-4"><div data-collapse-content="true"><section data-component="TeaserList" class="grid gap-6 md:gap-y-4" data-sneak-peek-elements-container="true"><article data-component="TeaserContainer" data-cid="" data-content-id="5057825" class="ho-text flex" data-teaser-name="MinimalHorizontalTeaser" data-upscore-object-id="11245886"><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Waymo-in-London-Der-ultimative-Haertetest-fuers-autonome-Fahren-11245886.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="6000" height="3371" src="https://www.heise.de/imgs/18/5/0/5/7/8/2/5/shutterstock_2599448947-195569c3915dfaea.jpeg" alt="Waymo,Jaguar,I-pace,Equipped,With,Self-driving,Technology,Navigates,A,City" style="aspect-ratio:6000 / 3371"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="6000" height="3371" alt="Waymo,Jaguar,I-pace,Equipped,With,Self-driving,Technology,Navigates,A,City" style="aspect-ratio:6000 / 3371;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Googles Waymo wagt den Sprung nach Europa: Robotaxi-Testlauf in London</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/US-Regierung-versus-Anthropic-Berufung-gegen-Sanktionsstopp-11245632.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5295" height="2975" src="https://www.heise.de/imgs/18/5/0/5/7/6/9/5/shutterstock_2141372609-67eb70b65793bbd2.jpeg" alt="US-Flagge in den Händen von US-Soldlaten" style="aspect-ratio:5295 / 2975"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5295" height="2975" alt="US-Flagge in den Händen von US-Soldlaten" style="aspect-ratio:5295 / 2975;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">US-Regierung versus Anthropic: Berufung gegen Sanktionsstopp</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Metas-neues-KI-Spitzenteam-soll-Feed-Algorithmen-noch-effektiver-gestalten-11244749.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="5007" height="2813" src="https://www.heise.de/imgs/18/5/0/5/7/2/4/9/shutterstock_2329754675-b99ae6d19bdf9a08.jpeg" alt="Apps von Threads, Facebook, Instagram, WhatsApp, Messenger und Meta auf einem Smartphone" style="aspect-ratio:5007 / 2813"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="5007" height="2813" alt="Apps von Threads, Facebook, Instagram, WhatsApp, Messenger und Meta auf einem Smartphone" style="aspect-ratio:5007 / 2813;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Metas neues KI-Spitzenteam soll Feed-Algorithmen noch effektiver gestalten</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/news/Open-Source-CMS-von-Cloudflare-EmDash-fordert-WordPress-heraus-11245022.html" class="group/teaser flex" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="7360" height="4135" src="https://www.heise.de/imgs/18/5/0/5/7/3/8/8/shutterstock_1051414391-6d0fbba21182fb38.jpeg" alt="Zwei tippende Hände auf Laptop; dahinter viele DIN-A4-Order" style="aspect-ratio:7360 / 4135"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="7360" height="4135" alt="Zwei tippende Hände auf Laptop; dahinter viele DIN-A4-Order" style="aspect-ratio:7360 / 4135;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Open-Source-CMS von Cloudflare: EmDash fordert WordPress heraus</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="http://www.heise.de/hintergrund/Gehaltsreport-Was-IT-Profis-und-KI-Spezialisten-wirklich-verdienen-11244447.html" class="group/teaser flex" data-google-interstitial="false" data-upscore-url="true"><figure data-component="Image" class="mr-2 w-24 shrink-0 md:mr-4 md:w-40"><a-img width="1536" height="863" src="https://www.heise.de/imgs/18/5/0/5/7/0/9/6/ChatGPT_Image_2-16f33faaad7c2009.png" style="aspect-ratio:1536 / 863"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1536" height="863" style="aspect-ratio:1536 / 863;object-fit:cover"/></a-img></figure><div class="-translate-y-1"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-base leading-snug md:text-lg md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue.svg" alt="heise Plus" class="align-middle dark:hidden mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><img src="http://www.heise.de/icons/svg/logos/svg/heise_plus_blue_negativ.svg" alt="heise Plus" class="hidden align-middle dark:inline-block mr-[0.3em] inline-block h-3 md:h-4 relative -top-[0.1em]"/><span data-upscore-title="true">Gehaltsreport: Was IT-Profis und KI-Spezialisten wirklich verdienen</span></span></h3></header></div></a><div></div><a index="0" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-fensterputzroboter-im-test-okay-ab-200-euro-gut-ab-300-euro/rwq727q?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 md:w-full"><a-img width="3834" height="2154" src="https://www.heise.de/imgs/18/5/0/5/6/7/9/6/6d525c4e7e1a1688.jpeg" style="aspect-ratio:3834 / 2154"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="3834" height="2154" style="aspect-ratio:3834 / 2154;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-xl md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Fensterputzroboter im Test</span></span></h3></header></div></a><a index="1" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-der-beste-full-hd-beamer-fuer-heimkino-tv-und-konsole-im-test/qpx0dvs?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="1349" height="758" src="https://www.heise.de/imgs/18/5/0/5/6/0/3/2/7bf07692cb2565c1.jpeg" style="aspect-ratio:1349 / 758"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="1349" height="758" style="aspect-ratio:1349 / 758;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Der beste Full-HD-Beamer für Heimkino, TV & Konsole im Test</span></span></h3></header></div></a><a index="2" data-component="TeaserLinkContainer" href="https://www.heise.de/bestenlisten/testsieger/top-10-das-beste-guenstige-smartphone-bis-300-euro-im-test-schon-mit-guter-kamera/dsbds5r?wt_mc=intern.red.bestenlisten.bestenlisten_beitragsbuehne.beitrag.buehne.buehne" class="group/teaser" data-google-interstitial="true" data-upscore-url="true"><figure data-component="Image" class="mb-4 float-right ml-4 w-[28%] md:float-none md:ml-0 md:w-full"><a-img width="4094" height="2300" src="https://www.heise.de/imgs/18/5/0/5/5/0/4/3/_-36af5b9527c59079.jpeg" style="aspect-ratio:4094 / 2300"><img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNjk2cHgiIGhlaWdodD0iMzkxcHgiIHZpZXdCb3g9IjAgMCA2OTYgMzkxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgc3Ryb2tlPSJub25lIiBmaWxsPSIjZjJmMmYyIiBmaWxsLW9wYWNpdHk9IjEiPgogICAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI2OTYiIGhlaWdodD0iMzkxIj48L3JlY3Q+CiAgICA8L2c+Cjwvc3ZnPg==" width="4094" height="2300" style="aspect-ratio:4094 / 2300;object-fit:cover"/></a-img></figure><div data-component="TeaserLinkContainer" class="-translate-y-1.5 md:transform-none"><header data-component="TeaserHeader"><h3 class="flex flex-col"><span data-component="TeaserHeadline" class="text-lg leading-snug md:text-xl md:leading-snug max-w-prose font-bold group-hover/teaser:text-brand-branding dark:group-hover/teaser:text-white"><span data-upscore-title="true">Top 10: Das beste günstige Smartphone bis 300 Euro</span></span></h3></header></div></a>
2026-04-04T08:21:00.000Z