9 Punkte von GN⁺ 2025-10-19 | 5 Kommentare | Auf WhatsApp teilen
  • Bun 1.3 ist ein großes Release und entwickelt sich zu einer Full-Stack-JavaScript-Runtime, die sowohl Frontend- als auch Backend-Entwicklung unterstützt
  • Zentrale Funktionen wie ein integrierter Frontend-Entwicklungsserver mit React- und CSS-Bundles sowie Clients für MySQL, PostgreSQL, SQLite und Redis wurden integriert
  • Mit Kompilierung zu einer einzelnen ausführbaren Datei über bun build sowie Unterstützung für Code Signing und Cross-Compilation wird die Bereitstellung einfacher
  • Der Paketmanager führt Funktionen ein, die große Monorepos besser unterstützen, darunter isolierte Installationen (isolated installs), eine Security-Scanner-API und einen Dependency-Katalog (catalog)
  • In nahezu allen Bereichen wurden umfassende Verbesserungen vorgenommen – darunter Test Runner, Web API, Sicherheit, Node.js-Kompatibilität und Performance – und Bun macht damit den Sprung zu einer „vollständigen Runtime-Plattform“

Integration einer Full-Stack-Runtime

  • Bun 1.3 integriert Full-Stack-Entwicklungsfunktionen wie HTML-Ausführung, Routing, Hot Reload und WebSocket in Bun.serve()
    • Unterstützung für React Fast Refresh und natives HMR
    • Backend- und Frontend-Server werden in einem einzigen Prozess zusammengeführt, wodurch CORS-Probleme grundlegend beseitigt werden
  • Mit bun build --compile lassen sich Frontend und Backend zu einer einzelnen ausführbaren Datei bündeln

Datenbank- und Redis-Unterstützung

  • Bun.SQL unterstützt MySQL, MariaDB, PostgreSQL und SQLite einheitlich über eine einzige API
    • PostgreSQL-Array-Typen lassen sich über den Helper sql.array einfach verarbeiten
    • Detaillierte Verbesserungen wie Unix-Domain-Socket-Verbindungen, Simple-Query-Protokoll und Null-Behandlung
  • Ein integrierter Redis-Client wurde hinzugefügt, mit bis zu 7,9-facher Performance gegenüber ioredis und vollständiger Pub/Sub-Unterstützung

Bundler- und Build-Funktionen

  • Mit der API Bun.build() lassen sich ausführbare Dateien direkt im Code erzeugen
  • Unterstützung für Code Signing (macOS, Windows), Cross-Compilation (Linux/macOS/Windows) und Metadaten-Konfiguration
  • Ein intelligenterer Minifier entfernt ungenutzten Code und unterstützt JSX-Konfigurationsoptionen sowie Glob-Muster

Erweiterte Paketmanagement-Funktionen

  • Isolated installs sind standardmäßig aktiviert; jeder Workspace kann nur auf seine eigenen Abhängigkeiten zugreifen
  • Mit der Funktion Catalog lassen sich Abhängigkeitsversionen in einem Monorepo zentral verwalten
  • Die Security-Scanner-API und minimumReleaseAge stärken den Schutz vor Supply-Chain-Angriffen
  • Mit bun why, bun update --interactive, bun info, bun audit ist ein Verwaltungstoolset auf npm-/pnpm-Niveau vollständig vorhanden

Verbesserungen bei Tests und Debugging

  • bun test erhält VS Code Test Explorer-Integration, parallele Tests (test.concurrent), zufällige Ausführung und Typ-Tests (expectTypeOf)
  • Unterstützung für .failing, .serial, .each-Chains sowie automatische Beibehaltung der Einrückung bei Snapshots
  • test.only wird in CI-Umgebungen blockiert, außerdem wurde die Konsistenz der Testreihenfolge verbessert

Ausbau von Web APIs und Runtime-Standards

  • YAML-Parsing/-Serialisierung ist integriert, .yaml-Dateien können direkt importiert werden
  • Die API request.cookies unterstützt automatische Cookie-Verwaltung
  • Unterstützung für Stream-Helper wie ReadableStream .text()/.json(), Zstandard-Komprimierung und Streaming-Laden von WebAssembly
  • Mit DisposableStack/AsyncDisposableStack wird das Aufräumen von Ressourcen vereinfacht

Sicherheits- und Systemfunktionen

  • Mit Bun.secrets lässt sich der sichere Speicher des Betriebssystems (z. B. Keychain) nutzen
  • Bun.CSRF bietet eine API zum Erzeugen und Validieren von CSRF-Tokens
  • Das crypto-Modul wurde um den Faktor 400 beschleunigt, außerdem wurden Diffie-Hellman, HKDF und Primzahl-Operationen verbessert

Verbesserte Node.js-Kompatibilität

  • Mehr als 800 zusätzliche Node.js-Tests werden nun bestanden; node:test, node:vm, worker_threads, fs, http2 und mehr wurden stark ausgebaut
  • require.extensions, process.binding(), Steuerung nativer Add-ons, perf_hooks, tls, cluster und die meisten Core-Module werden vollständig unterstützt
  • N-API-Kompatibilität von über 98 %, Runtime-Identifikation auf demselben Niveau wie Node.js 24.3.0

Verbesserte Developer Experience

  • Änderung der Standard-TypeScript-Konfiguration ("module": "Preserve")
  • Mehr Kontrolle über die Runtime mit der Umgebungsvariable BUN_OPTIONS, --console-depth, --user-agent und mehr
  • Unterstützung für Preload-Skripte (BUN_INSPECT_PRELOAD) und SQL Preconnect
  • Verbessertes bunx ermöglicht die Ausführung auch bei abweichenden Paket-/Binärnamen

Performance und Stabilität

  • Geringere CPU-Leerlaufnutzung, effizientere GC, 10–30 % weniger Speicherverbrauch, 60 % schnellere Builds
  • postMessage bis zu 500-mal, bun install 2,5-mal und Array.includes 2,8-mal schneller
  • Optimierungen auf WebKit- und Zig-Ebene verbessern die Geschwindigkeit der Runtime insgesamt
  • Hunderte Bugfixes und die Behebung von Memory Leaks erhöhen die Stabilität deutlich

Wichtige Änderungen

  • Die Typstruktur von Bun.serve() wurde geändert und static in routes umbenannt
  • Die Aufrufweise des SQL-Clients wurde von funktional zu Tagged Template geändert
  • Das Linux-GC-Signal wurde durch SIGPWR ersetzt
  • Die angezeigte Node.js-Version wurde von 22.x auf 24.3.0 geändert

Bun 1.3 markiert einen Wendepunkt und positioniert sich über eine einfache Runtime hinaus als „integrierte Plattform, die Node, Deno, Vite und pnpm zusammenführt“

5 Kommentare

 
tsboard 2025-10-20

Auch wenn ich es nur kurz ausprobiert habe, finde ich, dass es von Anfang an einen riesigen Sprung nach vorn gemacht hat und mich sogar dazu bringt zu denken: Soll ich es noch einmal ausprobieren? :D

 
kissdesty 2025-10-20

Ich hoffe, dass sich das gut weiterentwickelt.

 
truestar 2025-10-20

Davon gab es also solche Pläne!!

 
click 2025-10-20

Mir gefällt, dass die SQL-Schnittstelle vereinheitlicht wurde.

 
shakespeares 2025-10-19

Es wird wohl einen Grund geben, warum Vite es nicht zusammengeführt hat, aber ich frage mich, wie Bun sich in der Praxis bewährt.