10 Punkte von GN⁺ 2026-03-04 | 1 Kommentare | Auf WhatsApp teilen
  • Das REPL wurde vollständig in Zig neu geschrieben und bietet sofortige Ausführung sowie eine umfangreiche Terminal-UI mit Funktionen wie Kopieren in die Zwischenablage, Tab-Vervollständigung und Speicherung des Verlaufs
  • Mit dem Befehl zur Kompilierung für das Browser-Ziel lässt sich eine einzelne HTML-Datei erzeugen, in die alles inline eingebettet ist, sodass sie auch ohne Server ausgeführt werden kann
  • TC39-konforme ES-Dekoratoren werden vollständig unterstützt, sodass sich aktuelle Syntax wie accessor, Symbol.metadata und addInitializer nutzen lässt
  • Enthält zahlreiche Plattform- und Performance-Verbesserungen wie Windows-ARM64-Unterstützung, Optimierung von Barrel-Imports, Option für Test-Wiederholungen und eine leistungsstärkere JavaScriptCore-Engine
  • Insgesamt ein Release, das Developer Experience, Performance und Kompatibilität von Bun deutlich verbessert

Neues REPL

  • Das REPL wurde durch eine native Implementierung auf Zig-Basis ersetzt und kann ohne Abhängigkeit von externen npm-Paketen sofort ausgeführt werden
    • Unterstützt Syntax-Highlighting, Emacs-Keybindings, Tab-Vervollständigung, Speicherung des Verlaufs und mehrzeilige Eingaben
    • Bietet eingebaute Befehle wie .copy, .help, .exit und .editor
    • Unterstützt persistente const-/let-Deklarationen, top-level await sowie sowohl import als auch require

--compile --target=browser

  • Mit bun build --compile --target=browser wird HTML erzeugt, in das JavaScript, CSS und Assets inline eingebettet sind
    • Tags wie <script src="..."> und <link rel="stylesheet"> werden jeweils in Inline-Code umgewandelt
    • Kann auch in einer file://-Umgebung ohne CORS-Beschränkungen ausgeführt werden
    • Unterstützt TypeScript, JSX, React, CSS, ESM und CJS

TC39-konforme ES-Dekoratoren

  • Stage-3-Standard-Dekoratoren werden vollständig unterstützt
    • Implementiert aktuelle Spezifikationen wie das Schlüsselwort accessor, Symbol.metadata und ClassMethodDecoratorContext
    • Unterstützt Feld-, Methoden- und Klassen-Dekoratoren sowie Initialisierer (addInitializer)
    • Auch bestehende experimentelle TypeScript-Dekoratoren (experimentalDecorators) funktionieren weiterhin

Windows-ARM64-Unterstützung

  • Bun kann auf ARM64-basiertem Windows wie Snapdragon-Systemen ausgeführt und gebaut werden
    • Cross-Compilation wird für das Ziel bun-windows-arm64 unterstützt
    • Kann sowohl über CLI als auch API identisch verwendet werden

Optimierung von Barrel-Imports

  • Erkennt automatisch Re-Export-Strukturen von Barrel-Dateien wie bei import { Button } from 'antd'
    • Automatische Optimierung bei gesetztem "sideEffects": false
    • Kann mit der Option optimizeImports explizit angegeben werden
    • Durch das Parsen nur benötigter Submodule wird die Build-Geschwindigkeit um bis zu das Doppelte erhöht

Optimierung der Bundle-Ausgabe

  • In ESM-/CJS-Bundles werden Anzahl der Closures und Heap-Speichernutzung reduziert
    • 11 % weniger Objekte, 4 MB weniger Heap-Größe sowie deutlich weniger Funktions- und Umgebungsobjekte
    • Wird automatisch ohne Codeänderungen angewendet

bun test --retry

  • Ermöglicht das Festlegen einer Standardanzahl von Wiederholungen für alle Tests (--retry N)
    • Die Option { retry: N } einzelner Tests hat Vorrang
    • Im JUnit-XML-Reporter wird jeder Versuch als eigenes <testcase> protokolliert

Verbesserungen bei Bun.generateHeapSnapshot("v8")

  • Mit der Option "arraybuffer" wird der Heap-Snapshot als ArrayBuffer zurückgegeben
    • Vermeidet den Overhead der String-Konvertierung bei der Verarbeitung großer Snapshots

TLS- und Zertifikats-Updates

  • Verbesserte Performance durch Keepalive-Unterstützung für mTLS- und benutzerdefinierte CA-Verbindungen
    • Gleiche TLS-Einstellungen werden in einer globalen Registry dedupliziert
  • Root-Zertifikate wurden auf NSS 3.119 (Firefox 147.0.3) aktualisiert
    • Vier CommScope-Root-Zertifikate wurden entfernt

Upgrade der JavaScriptCore-Engine

  • Zahlreiche Performance-Verbesserungen, darunter 168-fach schnelleres String-Slicing, 10,5-fach schnelleres endsWith, 1,6-fach schnellerer Zugriff auf RegExp-Flags und bis zu 7-fach schnelleres path.parse()
    • structuredClone ist bei Arrays und Arrays von Objekten bis zu 25-mal schneller
    • Buffer.slice() und subarray() wurden um etwa das 1,8-Fache verbessert
    • Interne Optimierungen bei BigInt, String-Iteratoren und Integer-Operationen

Wichtige Bugfixes

  • Behebt ein Problem mit der Pipe-Kompatibilität zu Python-asyncio-MCP-Servern (Bun.spawn)
  • Node.js-Kompatibilität: zahlreiche Korrekturen bei AsyncLocalStorage, fs.watch, Verarbeitung von http-Headern und GC-bezogenen Abstürzen
  • Bun API: Abstürze und Speicherlecks rund um spawn, plugin, sql und build behoben
  • Umfassende Stabilitätsverbesserungen bei WebSocket, bun install, CSS-Parser, bun shell und Windows-Umgebungen
  • Sicherheitslücken behoben, darunter HTTP-Header-Injection, Pfad-Traversal in Tarballs und S3-Stream-Lecks

1 Kommentare

 
tsboard 2026-03-04

Ich habe wirklich ziemlich lange verfolgt, wie sich Bun entwickelt, und es seit den Anfangstagen immer mal wieder benutzt. Dabei hatte ich den Eindruck, dass die Bun-Entwickler die JS/TS-Welt ganz aufrichtig schneller machen wollen. Erstaunlich. Wirklich ...