📦 Releases & Updates
Offizieller stabiler Status und der Meilenstein 7.1 Beta
Die aktuellste offizielle stabile Version ist TypeScript 7.0.2 (veröffentlicht am 20. August 2026, Tag v7.0.2), deren zugehörige VS Code-Erweiterung vscode-typescript/v1.0.1 am 30. September bereitgestellt wurde. Details zur nativen Architekturüberholung von 7.0 finden sich unter: TypeScript 7.0 im Detail.
Am 20. Oktober veröffentlichte Microsoft den wichtigen Meilenstein TypeScript 7.1 Beta (Tag v7.1-beta, installierbar via npm install -D typescript@beta). Diese Version konzentriert sich auf die Öffnung programmatischer Schnittstellen und die Leistungsoptimierung des Compilers. Die wichtigsten Architekturänderungen und praktischen Auswirkungen sind nachfolgend zusammengefasst:
| Dimension | Mechanismen und Details | Praktische Auswirkungen |
|---|---|---|
| Modulare Programmatic API | Monolithische Exporte werden zugunsten von sechs Modulen abgelöst: typescript/sync, typescript/async, typescript/fs und typescript/ast; Einführung von Disposable und using-Deklarationen für sprachübergreifende Speicherverwaltung; inkrementelles Zustandsmodell auf Basis von Snapshots und geschichteten virtuellen Dateisystemen. | Schließt die Lücke, die durch den Go-Rewrite in 7.0 für externe Toolchains beim programmatischen Aufruf des Checkers entstand; bietet native Schnittstellen für typescript-eslint, Bundler und Analyse-Pipelines. |
| First-Class Dateierweiterung Content Mappers | Neues Feld contentMappers in tsconfig.json in Kombination mit --runExternalCode für externe Prozesse; ordnet Nicht-TS-Dateien bereichsweise virtuellen ASTs zu und bildet Code-Spans präzise zurück. | Ersetzt bisherige Monkey-Patching-Mechanismen von Volar, sodass .vue-, .svelte-, .astro- und MDX-Dateien direkt über den offiziellen tsc vollständig typgeprüft werden können. |
| Import-Attribute-Differenzierung und Source Imports | Ermöglicht Umgebungserklärungen anhand von with-Attributen Typen zu verzweigen (z. B. declare module "*" with { type: "css" }); unterstützt das ECMAScript-Proposal import source; vervollständigt --target es2026 (inklusive Uint8Array Base64, Iterator.zip und Promise.allKeyed). | Verhindert stille Laufzeitfehler bei fehlenden Import-Attributen; bietet mit AbstractModuleSource einen abstrakten Quellobjekttyp für das Vorab-Parsen von WebAssembly-Modulen. |
| Tiefgreifende Speicherkompression des Checkers | Vorallokierte Symboltabellen, Inline-Hash-Puffer, Typed-Arena-Quotenmanagement (PR #64802) und getrennte Speicherung kalter und heißer Typstrukturen (PR #64800). | Reduziert den Heap-Speicher großer Codebasen bei 4 Threads um 15,8 % bis 49,6 % und eliminiert Speicherallokationsspitzen bei komplexen Union-Typen vollständig. |
Offizielle Benchmarks belegen, dass TypeScript 7.1 Beta mit aktiviertem 4-Thread-Checker und --noEmit im Vergleich zu Version 7.0 erhebliche Einsparungen bei Laufzeit und Speicherverbrauch erzielt:
| Benchmark-Repository | TS 7.0 Laufzeit | TS 7.1 Beta Laufzeit | Zeitersparnis | TS 7.0 Heap | TS 7.1 Beta Heap | Speicherersparnis |
|---|---|---|---|---|---|---|
| mui-docs | 22.2s | 11.9s | 46.6% | 8.093 MiB | 4.079 MiB | 49.6% |
| vscode | 21.6s | 17.7s | 17.7% | 8.387 MiB | 6.943 MiB | 17.2% |
| sentry | 19.6s | 15.1s | 22.8% | 6.587 MiB | 5.216 MiB | 20.8% |
| t3code-server | 26.5s | 19.1s | 28.2% | 6.894 MiB | 5.197 MiB | 24.6% |
| bluesky | 4.48s | 3.89s | 13.2% | 2.017 MiB | 1.698 MiB | 15.8% |
📝 Deep Dive
Cloudflare und VoidZero starten tsrs: TypeScript-Portierung in reinem Rust
Was passiert ist:
Am 20. Oktober kündigten Cloudflare und VoidZero die gemeinsame Arbeit am TypeScript-Rust-Portierungsprojekt tsrs an, das unter dem Dach von Oxc entsteht und tsc-rs integriert. Offizielle Benchmarks zeigen, dass tsrs bei gleicher Threadanzahl eine bis zu 8-fache Beschleunigung gegenüber Version 7.0 bietet und den Heap-Speicher um rund 70 % senkt. Das Team nutzt eine KI-gestützte Pipeline, um Microsoft-Commits täglich zu spiegeln und die offizielle Testsuite auszuführen.
Warum es wichtig ist: Die Kompilierung von Go zu WebAssembly erfordert eine Garbage-Collection-Laufzeitumgebung, was in Browser-Sandboxen und Edge-Workern zu spürbarem Speicher-Overhead führt. Rust nutzt seinen Zero-Runtime-Vorteil, um den Type-Checker leichtgewichtig in Edge-Knoten und Browser einzubetten, und schafft damit eine speicherarme Grundlage für typbewusstes Linting in Oxlint.
Wer betroffen ist: Entwicklerteams von Web-IDEs, Edge-Computing-Entwickler sowie Ingenieure, die typbasiertes Linting mit Oxlint und Biome verfolgen.
Links: Offizieller Cloudflare-Blog, GitHub-Repository tsrs
Unser Kommentar:
Die kompakten Speicherlayout-Optimierungen aus tsrs wurden bereits in den Upstream-Mainline-Zweig von 7.1 Beta übernommen. Derzeit weicht die Reihenfolge der Diagnosemeldungen noch leicht vom Original ab, und die Stabilität des inkrementellen Cachings über mehrere Monorepo-Pakete hinweg bedarf weiterer Praxistests.
TypeSQL erreicht mit Content Mappers 20-fache Beschleunigung der Typinferenz
Was passiert ist:
Am 23. Oktober veröffentlichte der Autor der typbasierten Postgres-Parserbibliothek TypeSQL Testergebnisse. Durch Nutzung der Content-Mappers-Schnittstelle in 7.1 Beta speichert TypeSQL Syntaxanalyse-Caches in .typesqlcache-Dateien. In einer Testanwendung mit 500 Queries sank die Typprüfungsdauer von 2,6 Sekunden auf 0,13 Sekunden (Rückgang um 95 %), während die Zahl der Typinstanziierungen um 97 % (von 4,6 Millionen auf 123.000) einbrach – eine 20-fache Beschleunigung.
Warum es wichtig ist: Bisher speicherten Compiler Typen nur im flüchtigen Speicher eines einzelnen Program-Laufs, verloren sie prozessübergreifend und boten keine persistente Speicherung auf der Festplatte. Content Mappers ermöglichen es externen Bibliotheken, unabhängige Prozesse in die Compiler-Pipeline einzuhängen und virtuelle Typdeklarationen dynamisch einzuspeisen, wodurch die Beschränkungen persistenter Typ-Caches überwunden werden.
Wer betroffen ist: Autoren von Typbibliotheken mit Template-Literalen und Bedingungstypen (wie SQL- oder GraphQL-Parser) sowie Full-Stack-Teams, die unter langen Typprüfungszeiten leiden.
Links: Technischer Blog von İsmail Karsli, GitHub-Repository TypeSQL
Unser Kommentar:
Für diese Lösung muss tsc explizit der Parameter --runExternalCode übergeben werden. Weist die Cache-Generierung des externen Mappers Lücken auf, könnte die Typüberprüfung fälschlicherweise fehlerfreien Code melden, was die Angriffsfläche für Sicherheitsaudits vergrößert.
TypeScript 7.1 schließt Soundness-Lücke bei distributiven Bedingungstypen
Was passiert ist:
Mit PR #64237 behebt TypeScript 7.1 Beta einen seit Jahren bestehenden Fehler in der Korrektheit (Soundness) bedingter Typen (Issue #63708). Bisher differenzierte der Compiler bei distributiven Bedingungstypen nicht sauber zwischen dem ursprünglichen Typparameter und dem innerhalb eines Zweigs verfeinerten Mitglied. Bei type Issue<A extends number, B extends A> = A extends B ? never : Show<A, B> mit dem Union-Typ 0 | 1 wurde fälschlicherweise das ungültige Literal "0 extends 1" erzeugt. 7.1 untersagt die unsichere Wiederverwendung verfeinerter Parameter in Zweigbereichen.
Warum es wichtig ist: Die distributive Auswertung bildet das Fundament anspruchsvoller Typenprogrammierung. Der frühere blinde Fleck ließ unzulässige Typen stillschweigend passieren, sodass Typfehler im Produktivcode zur Compile-Zeit unentdeckt blieben. Die verschärfte Prüfung garantiert die mathematische Konsistenz zwischen bedingter Expansion und Subtyp-Einschränkungen.
Wer betroffen ist:
Maintainer universeller Typbibliotheken (wie type-fest und zod) sowie Frontend-Architekten hochgradig generischer Komponenten.
Links: TypeScript PR #64237, TypeScript Issue #63708
Unser Kommentar: Es handelt sich um einen Breaking Change. Bibliotheken, die sich auf das historische lockere Verhalten stützten, können unter 7.1 Beta Compiler-Fehler auslösen. Bei der Migration müssen redundante generische Vererbungen entfernt oder Zwischenschritte zur bedingten Extraktion eingeführt werden.
ts-polyglot debütiert: Direkter Import von C/C++/Rust-Quellcode über Content Mappers
Was passiert ist:
Am 23. Oktober erschien das Open-Source-Projekt ts-polyglot. Unter Verwendung der Content-Mappers-Schnittstelle von TypeScript 7.1 Beta erlaubt es Entwicklern, .c-, .cpp- oder .rs-Dateien direkt in TypeScript zu importieren. Ein Hintergrundprozess extrahiert Funktionssignaturen automatisch und generiert stark typisierte Deklarationen, sodass native Funktionen ohne handgeschriebenen FFI-Glue-Code aufgerufen werden können.
Warum es wichtig ist:
Klassische Sprachinteroperabilität erforderte die fehleranfällige Pflege von N-API- oder wasm-bindgen-Code. Durch native virtuelle Quelltext-Mappings und Orchestrierung im Compiler ermöglicht ts-polyglot Typ-Hover-Hinweise und Breakpoint-Debugging für C- und Rust-Funktionen direkt im Editor.
Wer betroffen ist: Frontend-Teams, die native C/Rust-Algorithmen einbinden, Audio/Video-Entwickler und Ingenieure, die mehrsprachige Toolchains erforschen.
Links: Offizielle ts-polyglot-Website, Hacker News-Diskussion
Unser Kommentar: Derzeit werden vor allem grundlegende skalare Typen wie Zahlen und Booleans unterstützt; komplexe Zeiger und dynamisches Speichermanagement sind experimentell. Dennoch beweist die Architektur, dass die Erweiterungspunkte von 7.1 mehrsprachige Build-Prozesse nahtlos in moderne Frontend-Pipelines integrieren können.
🔥 Diskussionen in der Community
Cloudflare und VoidZero veröffentlichen tsrs: Rust-Portierung entfacht Debatte über Compiler-Zukunft
Am 20. Oktober erreichte die Ankündigung des rein in Rust geschriebenen Compilers tsrs von Cloudflare und VoidZero Platz 1 auf Hacker News (432 Punkte, 213 Kommentare).
- Edge- und Wasm-Befürworter: Getragen von Entwicklern moderner Plattformen und Toolchains. Sie argumentieren, dass Microsofts Wahl von Go zwar die lokale CLI beschleunigte, die Wasm-Kompilierung jedoch mehrere Megabyte GC-Laufzeit mitführt und in Browsern sowie schlanken Workern viel Speicher belegt. Rust biete native Wasm-Kompatibilität und deterministische Speicherfreigabe, was die Ausführung vollwertiger Type-Checker in isolierten Sandboxes ermögliche.
- Skeptiker der Ökosystem-Fragmentierung: Unternehmensorganisationen äußerten Bedenken hinsichtlich der Zersplitterung in Microsofts Go-Version, Buns Checker, Theo Brownes
tsc-rs, Vercelstsc-tsundtsrs. Da die Spezifikation allein durch Microsofts Quellcode definiert ist, bergen inoffizielle Ports das Risiko subtiler Abweichungen bei Randfällen. Der Aufwand, Upstream-Patches per KI nachzuziehen und Hunderttausende Testfälle dauerhaft zu pflegen, sei immens.
Links: HN-Diskussion #50165953, Technischer Blog von Cloudflare
Rune 1.3 integriert TypeScript im Terminal: Debatte über Grenzen und Überfrachtung von TUI-Tools
Am 23. Oktober erschien Version 1.3 der All-in-One-Terminalumgebung Rune mit nativer TypeScript-Unterstützung, Helix-Editor-Kern und Kitty-Grafikprotokoll (Hacker News: 63 Punkte, 26 Kommentare).
- Befürworter integrierter Terminals: Heben hervor, dass Entwickler zunehmend in Remote-SSH-Sitzungen, Cloud-Workspaces und kopflosen Containern arbeiten. Rune 1.3 bündele Code-Editing, Terminalemulation, Grafikprotokolle und Typüberprüfung in einer einzigen TUI-Binärdatei und ermögliche sofort einsatzbereite Remote-Workflows ohne komplexe Konfiguration.
- Verfechter der Unix-Philosophie: Kritisieren die Abkehr vom Grundsatz, dass jedes Werkzeug nur eine Aufgabe bewältigen sollte. Terminalemulatoren müssten schlank und reaktionsschnell bleiben; die Integration schwerer Language-Server und Editoren führe zu unnötigem Bloat, Speicherlecks und einer Diagnoseerfahrung, die nicht an etablierte dedizierte LSP-Werkzeuge heranreiche.
Links: HN-Diskussion #50214325, Rune 1.3 Release-Ankündigung
🔭 Vorschau auf nächste Woche
- TypeScript 7.1 RC Release Candidate: Beobachtung der Reaktionen des offiziellen Teams auf das Beta-Feedback, insbesondere zu Sicherheitsrichtlinien von
--runExternalCodebei Content Mappers, VS Code-Isolierungsstrategien (js/ts.contentMappers.enabled) sowie der Veröffentlichungsfrequenz von Framework-Adaptern. - Zusammenführung von tsrs und tsc-rs sowie 7.1-API-Kompatibilität: Verfolgung der Fortschritte von Oxc und Theo Browne bei der Zusammenlegung der Rust-Compiler-Kerne mit Fokus auf die Anbindung der schichtbasierten Snapshots und AST-Besucherschnittstellen an die GC-freie Architektur.