Yeni Özellikler​

  • Loader filter.code seçeneği codeFilter olarak yeniden adlandırıldı.
  • Allocative snapshot'ları ve profiling skill'i Rspack'e entegre edildi.
  • module.parser.javascript.dynamicUrl desteği eklendi.
  • watcher: Yerel ve Node watch dosya sistemlerinde watchpack times API'si açıldı.
  • javascript: Ayrıştırıcı SWC Next'e taşındı.
  • Loader codeFilter ön filtresi eklendi.
  • create-rspack: Başlangıç banner'ında sürüm gösteriliyor.
  • rstest: Kaynağı bilen (origin-aware) import.meta.resolve hook'u eklendi.
  • watch: Karışık ignored kalıpları destekleniyor.
  • es2026 hedefi desteklendi.
  • cache: newCache istatistikleri Stats JSON içinde sunuluyor.

Performans​

  • size: Binding boyutunu küçültmek için sık kullanılan asenkron giriş future'ları box'landı.
  • sources: Serileştirilmiş source map'lerin bellekte tutulması önlendi.
  • loader: Loader zincirleri yürütme birimleri olarak zamanlanıyor.
  • loader-runner: process.env.WASM yalnızca bir kez okunuyor.
  • Dokunulmamış loader buildInfo nesnelerinin oluşturulması önlendi.
  • resolver: node_modules içindeki paket dizinleri tercih ediliyor.
  • watch: Yerel watcher zaman bilgisi tembel (lazy) şekilde dönüştürülüyor.
  • watcher: Değişmemiş abonelikler için dizin analizi yeniden kullanılıyor.
  • core: Güvenli olduğunda ESM export değer tanımlayıcıları üretiliyor.
  • Kalan SplitChunks adayları yerinde yeniden kullanılıyor.
  • core: Satır içi adlandırılmış export'lar doğrusal olarak taranıyor.
  • core: Yolda fragment işareti yoksa alt dize araması atlanıyor.
  • split-chunks: Yerleşik cache group koşulları her derlemede yalnızca bir kez eşleştiriliyor.
  • sources: Dize dizileri ayrıştırılırken dilim (slice) iterasyonu kullanılıyor.
  • sources: Source map alanları JSON tape üzerinden okunuyor.
  • Tek sextet'li eşleme değerleri için VLQ birikimi önlendi.
  • binding: Asset güncellemeleri sırasında yerel source graph'ları korunuyor.

Hata Düzeltmeleri​

  • Ölümcül derleme hatalarından sonra build dependency toplama işlemi atlanıyor.
  • resolver: tsconfig extends gerçek yol üzerinden çözümleniyor.
  • split-chunks: Adlandırılmış gruplarda kalan kopyalar tekilleştiriliyor.
  • css: CSS Modules davranışı webpack css-loader fixture'larıyla uyumlu hale getirildi.
  • tracing: JavaScript trace nanosaniyeleri mikrosaniyeye dönüştürülüyor.
  • Modül render sırası platformlar arasında kararlı hale getirildi.
  • binding: İşlem çıkışında paylaşılan özellik sızıntısı (shared property leak) uyarıları önlendi.
  • AMD exports bağımlılığı için modül exports argümanı kullanılıyor.
  • AMD kod üretiminde modül argümanlarına uyuluyor.
  • mf: Deterministik ID'ler proje yollarından bağımsız hale getirildi.
  • watch: Node watch zaman bilgisi girdileri deterministik hale getirildi.
  • javascript: Ayrıştırıcı kaynak türü yeniden kullanılıyor.
  • define callback'leri içindeki import binding'leri bağlanıyor.
  • javascript: Blok fonksiyon kapsamına uyuluyor.
  • css: Tür öncelikli iç içe seçiciler yerelleştiriliyor.
  • javascript: Eski ayrıştırıcı davranışı korunuyor.
  • lazy-compilation: Etkinleştirmede barrel yeniden yüklemeleri önlendi.
  • split-chunks: minRemainingSize destekleniyor.
  • Güncellenmiş allocative crate'leri yayımlanarak napi özellik uyuşmazlığı çözüldü.
  • HMR: Node.js HMR'de sıcak güncellenen chunk yolu çözümlemesi düzeltildi.
  • release: Workspace sürümleri ve CLI peer bağımlılıkları senkronize ediliyor.
  • splitChunks istek sınırları cache group'lara aktarılıyor.
  • css: CSS module hash'leri graph bağımlılıklarından hesaplanıyor.
  • core: Birleştirme (concatenation) sırasında kısaltılmış atama anahtarları korunuyor.
  • cache: Snapshot yol eşleştirme ve paket arama birleştirildi.
  • javascript: Null benzeri değerler için gevşek eşitlik değerlendirmesi düzeltildi.
  • lazy-compilation: Dispose sırasında aktif ID'lerin yeniden gönderilmesi önlendi.
  • allocative crate paket adları düzeltildi.
  • mf: Chunk yükleme olmadan consumes çalışma zamanı destekleniyor.
  • mf: Tek öğeli container share scope'ları normalleştiriliyor.
  • css: !important öncesindeki animasyon adları yerelleştiriliyor.
  • watcher: Eski bir yolun izlemesini kaldırma başarısız olsa bile izlemeye devam ediliyor.
  • sri: Yalnızca ayıklanmış CSS içeren chunk'lar için bütünlük hash'leri üretiliyor.
  • sideEffects, iç içe paket meta verileri üzerinden devralınıyor.
  • types: EvalSourceMapDevToolPlugin seçenekleri daraltıldı.
  • css: Sıcak değiştirilen stylesheet'lerin media özniteliği korunuyor.
  • rsc: İstemci bileşenleri tüm giriş bağımlılıklarından toplanıyor.
  • watcher: Yerel watcher silmelerinde geçersiz kılma yapılıyor.
  • watcher: Bağımlılık olarak kalan silinmiş dosya bir kez bildiriliyor.
  • Devralınan SWC hedef üst sınırı ES2024'e yükseltildi.
  • css: HMR sırasında stylesheet öznitelikleri ve durumu korunuyor.
  • Chunk'lar birleştirilirken veya kaldırılırken adlandırılmış chunk'lar güncelleniyor.
  • watcher: JavaScript engellendiğinde yerel olay iletimi korunuyor.
  • Chunk hash hesaplamasına module_id dahil edildi.
  • ci: Dylint 6.3.0 sürümüne güncellendi.

Yeniden Yapılandırma​

  • binding: JavaScript sarmalayıcılarında DependencyRef tutuluyor.
  • sources: Kaynak genelinde UTF-16 dizini kullanılıyor ve nesne havuzu kaldırıldı.
  • javascript: Gereksiz ESTree AST sarmalayıcıları kaldırıldı.
  • Bağımlılık şablonlarında mevcut modül yeniden kullanılıyor.
  • javascript: Karıştırılmış (mangled) destructuring anahtarları string olarak yayımlanıyor.
  • cache: newCache için kalıcı önbellek seçenekleri yeniden kullanılıyor.
  • css: CSS module graph dolaşımı paylaşıldı.
  • css: Yer tutucular derlenmiş şablonlardan sorgulanıyor.
  • Modül chunk'larından kullanılmayan __rspack_esm_id export'u kaldırıldı.
  • binding: Rust ve JS arasında kayıtlı semboller kullanılıyor.
  • Ölü kod ve kullanılmayan parametreler kaldırıldı.
  • Elde bulunan modüller ve bağlantılar yeniden kullanılıyor.
  • Bağımlılık konumları için SIMD UTF-16 uzunluğu kullanılıyor.
  • Zaten elde bulunan veriler yeniden aranmak yerine yeniden kullanılıyor.

Dokümantasyon​

  • Proje mimarisindeki yeniden adlandırılmış crate'ler güncellendi.
  • Loader kılavuzuna paralel loader bölümü eklendi.
  • Bellek tanılama kılavuzu eklendi.
  • Hot update manifest alanları açıklandı.
  • Rsdoctor yetenekleri netleştirildi ve kurulum kılavuzu sadeleştirildi.
  • resolve.tsConfig.references eşleştirme kuralları açıklandı.
  • Hızlı başlangıçta Rsbuild ve Rspack CLI ayrımı netleştirildi.
  • Loader kod filtreleri netleştirildi ve örnekler eklendi.
  • Tree shaking girdilerinin nasıl denetleneceği netleştirildi.
  • Loader'ların tree shaking'i nasıl etkilediği netleştirildi.
  • Rsbuild, Rslib ve Rspack CLI ile proje kurulumu netleştirildi.
  • EvalSourceMapDevToolPlugin filtreleri düzeltildi.
  • Tamamen dinamik import davranışı netleştirildi.
  • none modundaki optimizasyon varsayılanları netleştirildi.
  • HMR hata callback bilgileri düzeltildi.
  • stats loggingDebug filtrelemesi netleştirildi.
  • stats sıralama varsayılanları düzeltildi.
  • stats detay varsayılanları düzeltildi.
  • stats JSON ve metin varsayılanları ayrıştırıldı.
  • @hai-x, Rspack çekirdek ekibine davet edildi.
  • SSR için CSS Modules sınıf adları netleştirildi.
  • Kural koşullarının nasıl birleştiği netleştirildi.
  • HMR güncelleme yayılımı açıklandı.
  • Modern bağımlılıkların transpile edilmesi açıklandı.
  • Compilation modül graph sorguları belgelendi.
  • Loader verisinin eklentilere aktarılması açıklandı.
  • Worker'lar içindeki çalışma zamanı public path'leri açıklandı.
  • experiments.newCache belgelendi.
  • Emit öncesi asset işleme netleştirildi.
  • Eager dinamik import davranışı netleştirildi.
  • Asset modül dosya adları ve çıktı koşulları düzeltildi.
  • Chunk yükleme hataları için çalışma zamanı sorunları kılavuzu eklendi.
  • HMR temizliği ve durum korunumu örneklendi.
  • Bellek analizi ve katkı kılavuzları iyileştirildi.
  • Yerleşik loader'lar ayrı bir bölümde gruplandı.
  • Yayınlama kılavuzundaki yayımlama adımı düzeltildi.
  • HMR check ve otomatik uygulama netleştirildi.
  • HMR geçersiz kılma ve yayılım netleştirildi.
  • Otomatik public path hataları için sorun giderme eklendi.
  • HTTP başarılı olduktan sonraki chunk yükleme hataları açıklandı.
  • HMR örnekleri ve durum açıklamaları düzeltildi.
  • CSS giriş noktaları ve harici kaynaklar netleştirildi.
  • Tailwind CSS v4 için webpack loader kullanımı belgelendi.
  • Ekosistem sayfasına topluluk loader'ları eklendi.
  • Ekosistem sayfasına topluluk eklentileri eklendi.
  • Ekosistem sayfasına NestJS eklendi.
  • Araç listelerine Rstack CLI eklendi.

Diğer Değişiklikler​

  • Bağımlılıklar güncellendi: yama düzeyindeki npm bağımlılıkları, swc-next 0.2.4, 0.3.0 ve 0.3.1, Rspress 2.1.0-beta.1, acorn ^8.19.0, playwright v1.64.1, swc, ts-checker-rspack-plugin ^1.7.1, @swc/plugin-remove-console v17, happy-dom v21, cac ^7.1.0, mermaid ^12.2.0, watchpack v2.6.1, @ast-grep/napi ^0.51.0, either 1.19.0, cspell ^10.4.0, core-js v3.51.0, wasmtime v36.0.19 [güvenlik], hashlink 0.12.2, ctor 0.13.1 ve yama düzeyindeki Rust crate'leri.
  • Rsdoctor 2.0 kullanım kılavuzları güncellendi.
  • "mf: Deterministik ID'ler proje yollarından bağımsız hale getirildi" değişikliği geri alındı.
  • Lazy barrel önbellek geri yüklemesi testi kararlı hale getirildi.
  • "splitChunks istek sınırları cache group'lara aktarılıyor" değişikliği geri alındı.
  • allocative driver özel (private) olarak işaretlendi.
  • webpack gap tracker iş akışı iyileştirildi.

Öne Çıkanlar​

Daha az yinelenen kod, daha küçük paketler​
  • Paketler arasındaki yinelenen modülleri azaltmak için Rspack'in chunk oluşturma algoritması iyileştirildi.
Daha küçük paket boyutu​
  • browserslist-rs güncellendi ve tarayıcı verileri için deflate sıkıştırması etkinleştirildi. Böylece yerel ikili dosyanın boyutu 2,13 MB (%3,08) küçültüldü.

Yeni Özellikler​

  • Kod bölme sırasında kullanılabilir modül büyümesinin aktarılması sağlandı.

Performans İyileştirmeleri​

  • Derleme modüllerinin sorgulanması ihtiyaç duyulana kadar ertelendi.
  • Kullanılmayan NormalModuleFactory bağımlılıklarının aktarılması önlendi.
  • Bellekte tutulan kaynak depolaması sıkıştırıldı.
  • StatsFactory içindeki öğe türü dizeleri önbelleğe alındı.
  • Çıkarılan yorumların yinelenmesini önlemek için hash set kullanıldı.
  • Kök analizcisinde düğüm başına eşzamanlı set kullanımı önlendi.
  • Module ve KnownBuildInfo erişim işlevleri paylaşıldı.
  • Yer tutucu ve Node harici modül eşleştirmesi optimize edildi.
  • Bellek ayırmaları profillendi ve source map kapasitesi azaltıldı.
  • Statik source map oluşturulduktan sonra üretilen değer serbest bırakıldı.
  • assetEmitted kaynağı ve içeriği, her bilgi nesnesi için önbelleğe alındı.
  • NormalModule erişim işlevleri paylaşıldı.
  • İçerikleri aynı olan factorize yol listelerinin paylaşılması sağlandı.
  • Her chunk kümesi için işlev tabanlı chunk filtreleme sonuçları yeniden kullanıldı.
  • Modül source map'lerinin oluşturulması ihtiyaç duyulana kadar ertelendi.
  • Derleme günlük girdilerinin erişim işlevleri paylaşıldı.
  • Önbelleğe alınmış modüller, make ana görevinin dışında geri yüklendi.
  • Dosya sayacı bağımlılık listeleri, birleştirilmiş içerikleri üzerinden paylaşıldı.

Hata Düzeltmeleri​

  • needAdditionalPass kancalarında void dönüş değerlerine izin verildi.
  • Falsy loader değerleri ve alt derleyici eklentileri kabul edildi.
  • Kuralın use işlevlerinin tek bir loader döndürmesine izin verildi.
  • Önbellek serileştirmesinde birleştirilmiş yol paylaşımı korundu.
  • Compilation.getAsset dönüş türü düzeltildi.
  • importModule publicPath geri çağırımlarının kapsamı derleyiciyle sınırlandırıldı.
  • Geçici TSFN geri çağırımları serbest bırakıldı.
  • Alt derleyici eklentilerinin belirtilmemesine izin verildi.
  • Asenkron stil sayfalarının paylaşılan bir çalışma zamanı üzerinden yüklenmesi sağlandı.
  • lightningcss, 1.0.0-alpha.72 sürümüne yükseltildi.
  • Tembel barrel yeniden dışa aktarımları boyunca asenkron durumun aktarılması sağlandı.
  • Eksik glob temel dizini, eksik bağımlılık olarak kaydedildi.
  • Sonlandırılmamış url() ifadelerinin dosya sonunda URL belirteci olarak ele alınması sağlandı.
  • Modern modül çıktısında ifade sınırları korundu.
  • Sıkıştırılmış hash kimliklerinde aynı anahtarlar yeniden hash'lendi.
  • swc_core, 82.0.0 sürümüne yükseltildi.
  • import.meta.glob kalıplarındaki takma adlar çözümlendi.
  • webpack ile uyumlu olacak şekilde yalnızca devtool üzerinden JS ve CSS varlıkları için source map oluşturulması sağlandı.
  • Hot update işlemlerinin eklediği ertelenmiş import ifadeleri desteklendi.
  • Dışa aktarma erişimi içermeyen boş CommonJS modüllerinin birleştirilmesi sağlandı.
  • JavaScript dizelerindeki source map yönergelerinin yok sayılması sağlandı.
  • css-extract içinde publicPath geri çağırımlarından gelen göreli yollar korundu.
  • Tembel derlemede etkinleştirilen modüller oluşturulurken import öznitelikleri ve aşaması korundu.
  • Etkinleştirilen modüllerin yeniden derlemeler boyunca korunması sağlandı.
  • Etkinleştirilen modüller oluşturulurken issuer ve resolve seçenekleri korundu.
  • Sonradan ortaya çıkan dizinlerdeki izlenen dosyaların bildirilmesi sağlandı.
  • Manifest dosyalarında paylaşılan önekler için singleton seçeneklerine uyuldu.
  • Yeniden oluşturulan dosyaların son durumlarıyla bildirilmesi sağlandı.
  • Modül birleştirme sırasında saf dışa aktarımlar korundu.
  • ResolverFactory önbellek anahtarında RegExp kısıtlamaları korundu.

Belgeler​

  • getStats örneğinde eşzamanlı tap kullanıldı.
  • CopyRspackPlugin kalıp örneği düzeltildi.
  • Asenkron derleyici kancalarının geri çağırımları async olarak işaretlendi.
  • processAssets örneğindeki varlık adı düzeltildi.
  • Resolver örneğindeki yinelenen bildirimler önlendi.
  • Örneklerde desteklenen derleme kancaları kullanıldı.
  • Source map varlıklarının filtrelenmesi açıklandı.
  • addRuntimeModule örneğinde RuntimeGlobals tanımlandı.
  • run örnekleri run kancasına kaydedildi.
  • finishModules örneğinde modül derlemelerinin tamamlanması beklendi.
  • emitAsset örneğindeki dosya adı çakışmaları açıklandı.
  • statsNormalize seçeneğinin atanması düzeltildi.
  • Derleme kancası fabrikası parametreleri belgelendi.
  • afterResolve kancasında isteklerin yok sayılması belgelendi.
  • Örnekte çalışma zamanı hash alıcısı çağrıldı.
  • Derleme hash özellikleri açıklandı.
  • compile kancası parametreleri belgelendi.
  • resolveForScheme kancasının eşleme ve dönüş değeri belgelendi.
  • statsPreset kancasının eşleme türü düzeltildi.
  • Alt derleyici kalıtımı açıklandı.
  • Belge keşfedilebilirliğini artırmak için sayfa açıklamaları iyileştirildi.
  • Hedef varsayılanları ve Lightning CSS kalıtımı açıklandı.
  • Ana sayfadaki kullanıcılar arasına RomeOS eklendi.
  • SWC loader'ın reactCompiler seçeneği belgelendi.
  • Rspack'e özgü SWC loader seçenekleri açıklandı.
  • Yapılandırma örneklerindeki eksik import ifadeleri ve değişkenler düzeltildi.
  • SWC örnekleri düzeltildi ve isolatedModules yönergeleri sadeleştirildi.

Diğer Değişiklikler​

  • Daha fazla yapılandırma TypeScript'e taşındı.
  • Dokuz ek yapılandırma TypeScript'e taşındı.
  • Kalıcı önbellekleme örneği TypeScript'e taşındı.
  • Rust swc_config paketi 6.0.1 sürümüne güncellendi.
  • @shikijs/transformers bağımlılığı ^4.5.0 sürümüne güncellendi.
  • enhanced-resolve bağımlılığı 5.26.0 sürümüne güncellendi.
  • memfs bağımlılığı 4.80.0 sürümüne güncellendi.
  • Yama niteliğindeki npm bağımlılıkları güncellendi.
  • playwright bağımlılığı 1.63.0 sürümüne güncellendi.
  • xxhash-rust paketi 0.8.16 sürümüne güncellendi.
  • GitHub Actions yapılandırmaları güncellendi.
  • Yama niteliğindeki npm bağımlılıkları yeniden güncellendi.
  • ws bağımlılığı ^8.22.0 sürümüne güncellendi.
  • tinypool bağımlılığı ^2.2.0 sürümüne güncellendi.
  • mermaid bağımlılığı ^12.1.0 sürümüne güncellendi.
  • webpack-sources bağımlılığı 3.6.0 sürümüne güncellendi.
  • Yama niteliğindeki Rust paketleri güncellendi.
  • winnow, v1 sürümüne yükseltildi.
  • Rstest, ^0.12.3 sürümüne güncellendi.
  • pnpm, 11.28.5 sürümüne güncellendi.
  • Rust async-recursion paketi 1.2.0 sürümüne güncellendi.
  • Dylint, projede kullanılan Rust araç zinciriyle uyumlu hâle getirildi.
  • Yeni önbellekler için resolve önbelleği varsayılan olarak devre dışı bırakıldı.
  • rstack, v0.8.3 sürümüne yükseltildi.