· kaynak Hacker News – Front Page (hnrss.org)
Swift 6.4 unified build, Subprocess 1.0 ve 40 kata kadar daha hızlı Wasm köprülemesiyle geldi
Swift 6.4, Swift Package Manager'da Swift Build'i varsayılan yapılandırıcı yapıyor, Subprocess 1.0'ı sunuyor, Span ile C++20 std::span arasında köprü kuruyor ve WebAssembly köprülemesini 40 kata kadar hızlandırıyor.
Swift 6.4, 15 Eylül 2026'da yayınlandı. Swift.org'un sürüm duyurusuna göre bu sürüm, dili her katmanda çalışabilir hale getiriyor — uygulamalar, sunucular, sistem kodu, gömülü cihazlar ve tarayıcı — günlük programlamadaki sürtünmeleri de azaltıyor.
Birleşik bir build sistemi
En etkili araç zinciri değişikliği, Swift Package Manager'ın artık varsayılan build platformu olarak Swift Build'i kullanması; böylece paketler Linux, macOS ve Windows üzerinde aynı şekilde derleniyor. SwiftPM ayrıca Software Bill of Materials üretimi (SE-0509) kazandı ve SPDX ya da CycloneDX formatında belgeler oluşturuyor.
Birden fazla sürüme yayılan hata ayıklama çalışmaları tamamlandı: derleyici, debug bilgisinde Swift modüllerini hassas biçimde takip ediyor ve LLDB, modülleri belirsiz isim bazlı aramalar yerine bağımlılık takibi yoluyla içe aktarıyor. İkili Swift modülleri artık gömülmediği için Linux ve Windows'taki debug build'leri ile Darwin'deki dSYM paketleri belirgin şekilde küçülüyor.
VS Code uzantısı artık Open VSX Registry'de yayınlanıyor; böylece Cursor, Antigravity, Kiro ve diğer editörlerde kullanılabiliyor ve araç zinciri sürümleri arasında geçiş için Swiftly ile entegre oluyor.
Günlük dil iyileştirmeleri
Kabul edilen birkaç öneri ergonomiyi hedefliyor. Optional some ve any tipleri artık parantez gerektirmiyor; yani (some Rocket)? yerine some Rocket? yazılabiliyor (SE-0521). Yeni @diagnose özniteliği, derleyici uyarılarını doğrudan kaynak kodda kontrol ederek bunları bastırıyor ya da hataya dönüştürüyor (SE-0522). :: kullanan modül seçicileri, içe aktarılan iki modül da örneğin CommonThing adında bir tip tanımladığında çakışan API isimlerini ayırt ediyor (SE-0491). Bir defer bloğu içindeki asenkron kod artık bekleniyor ve blok çıkmadan önce tamamlanacak şekilde çalışıyor (SE-0493), withTaskCancellationShield ise temizlik closure'larını çevreleyen task'in iptalinden koruyor (SE-0504) — ikisi birleşince temizlik, bir fonksiyon nasıl dönerse dönsün gerçekleşiyor.
Foundation ve standart kütüphane de ilerledi: ProgressManager async/await desteği kazandı (SF-0023), @Observable tipleri artık ince taneli ve sürekli değişiklik bildirimleri yayıyor (SE-0506) ve yeni dizi tipleri, copy-on-write yükü olmadan kopyalanamaz elemanlar tutabiliyor. Yeni Iterable protokolü, kopya oluşturmadan koleksiyonlar üzerinde iterasyon yapıyor.
Subprocess 1.0'a ulaştı
İlk kez SF-0007 olarak önerilen ve 2025'te 0.1 sürümüyle yayınlanan Subprocess kütüphanesi 1.0'a ulaştı. Komut satırı araçlarından akış yapan süreçlere kadar diğer programları çalıştırmak ve onlarla etkileşim kurmak için, Swift eşzamanlılığı üzerine sıfırdan inşa edilmiş, kararlı ve platformlar arası bir yol sunuyor.
Yığın boyunca birlikte çalışabilirlik
Interop, 6.4'ün en geniş yayıldığı alan:
- C:
@c'nin@implementationile eşleştirilmesi, bir Swift fonksiyonunun ayrı bir C bildirimi olmadan bir C başlık dosyasının uygulamasını sağlamasına izin veriyor ve@cfonksiyonları, ham işaretçi ve sayı çiftinin yerini alanSpangibi güvenli sarmalayıcılar alabiliyor. - C++: Swift'in
Spantipi artık C++20'ninstd::spantipiyle her iki yönde doğrudan köprüleniyor ve sınırda elle yazılan dönüştürme kodunu ortadan kaldırıyor. - Java: Java ve Kotlin'den Swift çağrılmasına olanak tanıyan Swift/Java interop projesi, asenkron ve throwing çağrıları protokol ve callback sarmalayıcılarına genişletiyor, closure'ları otomatik olarak
Runnableile eşliyor ve variadic parametreler ile record tiplerini içe aktarıyor. - WebAssembly: JavaScriptKit köprülemesi, önceki dinamik köprülemeye göre 40 kata kadar daha hızlı ve Wasm SDK, Swift.org'un kurulum sayfasından doğrudan edinilebiliyor; böylece tarayıcı için derleme ek bir kurulum gerektirmiyor. Foundation'ın
FileManagerdesteği WASI üzerinde iyileştirildi. - Android: Android için Swift SDK, yeni LTS NDK 30 ile derleniyor; bu da Swift runtime kütüphanelerinde ve geliştiricilerin kendi kodlarında Android availability öznitelikleri sağlıyor.
Embedded Swift de daha yetenekli hale geliyor; mikrodenetleyici sınıfı hedeflerde existential tip desteği ve daha zengin hata işleme ekleniyor.
Test, dokümantasyon ve IDE desteği
Swift Testing'e geçiş kolaylaşıyor: XCTAssert artık Swift Testing testlerinde ve #expect, XCTest içinde kullanılabiliyor (ST-0021). CustomTestReflectable protokolü, başarısız beklentilerde gösterilen değerleri özelleştiriyor (ST-0022), swift test test senaryolarını tekrarlayarak çalıştırmaya odaklanabiliyor (ST-0024) ve Transferable protokolüne uyan ekler Apple platformlarında kaydedilebiliyor (ST-0023). Swift'in ayrıca artık standart kütüphanenin dokümantasyonunun açık kaynak olduğu bir dokümantasyon sitesi var.
Neden önemli
Swift 6.4, projenin bir Apple ekosistemi dilinden genel amaçlı bir dile doğru kayışını sürdürüyor. Üç işletim sistemi genelinde tek bir build sistemi, sunucu tarafı Swift'in önündeki engeli düşürüyor; Subprocess 1.0, platformlar arası araçlar için uzun süredir süren bir boşluğu kapatıyor; doğrudan Span/std::span köprülemesi ile olgunlaşan Java ve Android interop'u, Swift'i mevcut C++ ve JVM kod tabanlarına adopting etmeyi kolaylaştırıyor. Daha hızlı Wasm köprülemesi ve güçlenen Embedded Swift, az ana akım dilin iyi hizmet ettiği dağıtım hedeflerini — tarayıcılar ve mikrodenetleyiciler — açarken bellek güvenliğini koruyor. Zaten Swift'e yatırım yapmış ekipler için ise ergonomi ve performans çalışması, kırıcı bir geçiş olmadan günlük sürtünmeyi azaltıyor.
- #swift
- #programming-languages
- #webassembly
- #build-tools
- #interoperability