10 poin oleh GN⁺ 2026-03-04 | 1 komentar | Bagikan ke WhatsApp
  • REPL sepenuhnya ditulis ulang dengan Zig, menghadirkan eksekusi instan dan UI terminal yang kaya, serta mendukung berbagai fitur seperti salin ke clipboard, pelengkapan tab, dan penyimpanan riwayat
  • Dengan perintah kompilasi target browser, dapat dibuat satu file HTML tunggal dengan semuanya di-inline, sehingga bisa dijalankan tanpa server
  • Dekorator ES standar TC39 kini didukung penuh, memungkinkan penggunaan sintaks terbaru seperti accessor, Symbol.metadata, dan addInitializer
  • Termasuk banyak peningkatan platform dan performa seperti dukungan Windows ARM64, optimasi barrel import, opsi retry untuk test, dan engine JavaScriptCore dengan performa lebih baik
  • Secara keseluruhan, ini adalah rilis yang sangat meningkatkan developer experience, performa, dan kompatibilitas Bun

REPL baru

  • REPL diganti dengan implementasi native berbasis Zig, sehingga dapat langsung dijalankan tanpa dependensi paket npm eksternal
    • Mendukung syntax highlighting, keybinding Emacs, pelengkapan tab, penyimpanan riwayat, input multi-baris, dan lain-lain
    • Menyediakan perintah bawaan seperti .copy, .help, .exit, .editor
    • Tetap mempertahankan deklarasi const/let, serta mendukung top-level await dan import/require

--compile --target=browser

  • bun build --compile --target=browser menghasilkan HTML dengan JavaScript, CSS, dan aset yang di-inline
    • Tag <script src="..."> dan <link rel="stylesheet"> masing-masing diubah menjadi kode inline
    • Dapat dijalankan bahkan di lingkungan file:// tanpa batasan CORS
    • Mendukung TypeScript, JSX, React, CSS, ESM, dan CJS

Dekorator ES standar TC39

  • Dukungan penuh untuk dekorator standar Stage-3
    • Mengimplementasikan spesifikasi terbaru seperti keyword accessor, Symbol.metadata, dan ClassMethodDecoratorContext
    • Mendukung dekorator field, method, dan class serta initializer (addInitializer)
    • Dekorator eksperimental TypeScript yang lama (experimentalDecorators) juga tetap berfungsi

Dukungan Windows ARM64

  • Bun kini dapat dijalankan dan di-build di Windows berbasis ARM64 seperti Snapdragon
    • Mendukung cross compile ke target bun-windows-arm64
    • Dapat digunakan dengan cara yang sama baik dari CLI maupun API

Optimasi barrel import

  • Secara otomatis mendeteksi struktur re-export file barrel seperti import { Button } from 'antd'
    • Optimasi otomatis aktif saat "sideEffects": false disetel
    • Dapat ditentukan secara eksplisit lewat opsi optimizeImports
    • Dengan hanya mem-parsing submodul yang diperlukan, kecepatan build meningkat hingga 2x

Optimasi output bundel

  • Pada bundel ESM/CJS, jumlah closure dan penggunaan heap memory berkurang
    • Jumlah objek turun 11%, ukuran heap berkurang 4MB, dan jumlah fungsi serta objek environment dipangkas signifikan
    • Diterapkan otomatis tanpa perubahan kode

bun test --retry

  • Kini bisa menetapkan jumlah retry default untuk seluruh test (--retry N)
    • Opsi { retry: N } pada test individual tetap diprioritaskan
    • Reporter JUnit XML mencatat tiap percobaan sebagai <testcase> terpisah

Peningkatan Bun.generateHeapSnapshot("v8")

  • Opsi "arraybuffer" memungkinkan heap snapshot dikembalikan dalam bentuk ArrayBuffer
    • Menghilangkan overhead konversi string saat menangani snapshot berukuran besar

Pembaruan TLS dan sertifikat

  • Performa meningkat berkat dukungan keepalive untuk koneksi mTLS dan CA kustom
    • Konfigurasi TLS yang sama dideduplikasi di registry global
  • Sertifikat root diperbarui ke NSS 3.119 (Firefox 147.0.3)
    • 4 sertifikat root CommScope dihapus

Upgrade engine JavaScriptCore

  • Berbagai peningkatan performa termasuk string slicing 168x, endsWith 10,5x, akses flag RegExp 1,6x, dan path.parse() hingga 7x
    • structuredClone menjadi hingga 25x lebih cepat pada array dan array objek
    • Buffer.slice() dan subarray() meningkat sekitar 1,8x
    • Ada optimasi internal untuk BigInt, iterator string, operasi integer, dan lainnya

Perbaikan bug utama

  • Menyelesaikan masalah kompatibilitas pipe dengan server MCP Python asyncio (Bun.spawn)
  • Kompatibilitas Node.js: banyak perbaikan pada AsyncLocalStorage, fs.watch, pemrosesan header http, crash terkait GC, dan lainnya
  • Bun API: memperbaiki crash dan memory leak terkait spawn, plugin, sql, dan build
  • Meningkatkan stabilitas secara umum pada WebSocket, bun install, parser CSS, bun shell, lingkungan Windows, dan lainnya
  • Kerentanan keamanan: memperbaiki injeksi header HTTP, penelusuran jalur tarball, kebocoran stream S3, dan lainnya

1 komentar

 
tsboard 2026-03-04

Saya sudah mengikuti perkembangannya cukup lama dan sesekali memakainya sejak awal, dan kesan yang saya dapat adalah para pengembang Bun benar-benar sungguh-sungguh ingin membuat dunia JS/TS bergerak lebih cepat. Mengesankan. Benar-benar...