Bun 1.3 yayınlandı
(bun.sh)- Bun 1.3, hem frontend hem backend geliştirmeyi destekleyen tam yığın bir JavaScript runtime'ı olarak evrilen büyük bir sürüm
- React ve CSS bundle'larını içeren yerleşik frontend geliştirme sunucusu, MySQL·PostgreSQL·SQLite·Redis istemcileri gibi temel özellikler entegre edildi
bun buildile tek yürütülebilir dosya derleme ve kod imzalama ile çapraz derleme desteği sayesinde dağıtım kolaylığı artırıldı- Paket yöneticisi, izole kurulumlar (isolated installs), güvenlik tarayıcı API'si, bağımlılık kataloğu (catalog) gibi büyük monorepo dostu özellikler kazandı
- Test runner, Web API, güvenlik, Node.js uyumluluğu, performans gibi neredeyse tüm alanlarda kapsamlı iyileştirmeler yapılarak "tam bir runtime platformu"na sıçrama gerçekleştirildi
Tam yığın runtime entegrasyonu
- Bun 1.3, HTML çalıştırma, routing, hot reload, WebSocket gibi tam yığın geliştirme özelliklerini
Bun.serve()içine entegre ediyor- React Fast Refresh ve yerel HMR desteği
- Backend ve frontend sunucularını tek bir süreçte birleştirerek CORS sorunlarını kökten çözüyor
bun build --compileile frontend ve backend'i tek bir yürütülebilir dosya olarak bundle'lamak mümkün
Veritabanı ve Redis desteği
- Bun.SQL, MySQL·MariaDB·PostgreSQL·SQLite için tek bir API altında birleşik destek sunuyor
sql.arrayhelper'ı ile PostgreSQL array tiplerini kolayca işlemek mümkün- Unix domain socket bağlantısı, basit sorgu protokolü, null işleme gibi ayrıntılı geliştirmeler
- Yerleşik Redis istemcisi eklendi; ioredis'e kıyasla en fazla 7,9 kat performans artışı ve tam Pub/Sub desteği sunuyor
Bundler ve build özellikleri
Bun.build()API'si ile kod içinden yürütülebilir dosya üretmek mümkün- Kod imzalama (macOS·Windows), çapraz derleme (Linux/macOS/Windows), metadata ayarlama desteği
- Daha akıllı bir minifier ile kullanılmayan kodun kaldırılması, JSX yapılandırma seçenekleri ve Glob pattern desteği
Paket yönetimi özelliklerinin genişletilmesi
- Isolated installs artık varsayılan; her workspace yalnızca kendi bağımlılıklarına erişebiliyor
- Catalog özelliği ile monorepo içindeki bağımlılık sürümleri merkezi olarak yönetilebiliyor
- Güvenlik tarayıcı API'si ve minimumReleaseAge ile tedarik zinciri saldırılarına karşı savunma güçlendirildi
bun why,bun update --interactive,bun info,bun auditgibi npm·pnpm seviyesinde yönetim araçları tamamlandı
Test ve hata ayıklama iyileştirmeleri
bun testiçin VS Code Test Explorer entegrasyonu, paralel test (test.concurrent), rastgele çalıştırma, type testi (expectTypeOf) eklendi.failing,.serial,.eachchain desteği ve snapshot'ta otomatik girintiyi koruma- CI ortamında
test.onlyengellemesi, test sırası tutarlılığının güçlendirilmesi
Web API ve runtime standartlarının güçlendirilmesi
- YAML parse/serialize yerleşik olarak geliyor;
.yamldosyaları doğrudan import edilebiliyor request.cookiesAPI'si ile çerezlerin otomatik yönetimi destekleniyor- ReadableStream
.text()/.json()gibi stream helper'ları, Zstandard sıkıştırma, WebAssembly streaming loading desteği - DisposableStack/AsyncDisposableStack implementasyonu ile kaynak temizliği sadeleşiyor
Güvenlik ve sistem özellikleri
Bun.secretsile işletim sisteminin güvenli saklama alanı (Keychain vb.) kullanılabiliyorBun.CSRFile CSRF token üretme/doğrulama API'si sunuluyor- crypto modülünde 400 kat performans iyileştirmesi, Diffie-Hellman, HKDF, Prime işlemleri güçlendirildi
Node.js uyumluluğunda artış
- 800'den fazla ek Node.js testi geçildi;
node:test,node:vm,worker_threads,fs,http2gibi alanlarda büyük genişleme sağlandı require.extensions,process.binding(), native addon kontrolü,perf_hooks,tls,clusterdahil olmak üzere çoğu çekirdek modül tamamen destekleniyor- N-API uyumluluk oranı %98'in üzerinde; runtime tanımlaması Node.js 24.3.0 ile aynı seviyede
Geliştirici deneyimi iyileştirmeleri
- Varsayılan TypeScript ayarı değişti (
"module": "Preserve") BUN_OPTIONSortam değişkeni,--console-depth,--user-agentgibi runtime kontrol seçenekleri güçlendirildi- Preload script'leri (
BUN_INSPECT_PRELOAD) ve SQL Preconnect desteği bunxiyileştirmesi sayesinde paket ile binary adının uyuşmaması durumunda da çalıştırma mümkün
Performans ve kararlılık
- CPU boşta kullanımında azalma, GC verimliliğinde artış, bellekte %10~30 tasarruf, build hızında %60 artış
postMessageen fazla 500 kat,bun install2,5 kat,Array.includes2,8 kat daha hızlı- WebKit·Zig düzeyinde optimizasyonlar ile runtime genelinde hız artışı
- Yüzlerce hata düzeltmesi ve bellek sızıntısı giderimi ile kararlılık önemli ölçüde artırıldı
Başlıca değişiklikler
Bun.serve()tip yapısı değişti vestaticadıroutesolarak güncellendi- SQL istemcisi çağırma biçimi fonksiyonel yapıdan → tagged template kullanımına geçti
- Linux GC sinyali SIGPWR olarak değiştirildi
- Node.js sürüm gösterimi 22.x → 24.3.0 olarak güncellendi
Bun 1.3, basit bir runtime'ın ötesine geçerek "Node·Deno·Vite·pnpm'i kapsayan birleşik bir platform" olma yolunda önemli bir dönüm noktası
5 yorum
Kısa bir süre olsa da en başından beri kullanmış biri olarak bunun çok büyük bir ilerleme olduğunu düşünüyorum ve bir kez daha denesem mi diye düşündürüyor haha
Umarım bu iyi şekilde gelişir.
Demek böyle bir plan varmış!!
SQL arayüzünün birleşik hale gelmesi hoşuma gidiyor.
Vite'in birleştirmemesinin bir sebebi vardır herhalde; Bun'ın gerçek kullanım deneyimlerinin nasıl olduğunu merak ediyorum.