Son kullanma tarihi geçmiş, bayatlamış bir tarayıcı kullanıyorsanız, Mercedes kullanmak yerine tosbağaya binmek gibi... Web sitelerini düzgün görüntüleyemiyorsanız eh, bi' zahmet tarayıcınızı güncelleyiniz. Modern Web standartlarını karşılayan bir tarayıcı alternatifine göz atın.
Yeni group özelliği kullanılarak cihazların ve klasörlerin arayüzde gruplandırılabilmesi sağlandı.
Mevcut SOCKS proxy desteğine ek olarak CONNECT desteğine sahip HTTP ve HTTPS proxy'leri kullanılabilir hâle getirildi (all_proxy=https://... ortam değişkeni).
Minimum aktarım boyutu yerine daha düşük veritabanı boyutu ve daha az ek yükün öncelikli olduğu klasörlerde blok indekslemenin devre dışı bırakılabilmesi sağlandı (blockIndexing klasör yapılandırma özelliği).
Arayüz oturum açma süresinin varsayılan bir haftadan daha kısa veya uzun olacak şekilde yapılandırılabilmesi ya da süresiz olarak ayarlanabilmesi sağlandı. Çerez yolu da değiştirilebiliyor (sessionCookieDurationS ve sessionCookiePath arayüz yapılandırma özellikleri).
Diğer Dağıtım Seçenekleri
Bu sürüm ayrıca aşağıdaki biçimlerde sunuluyor:
APT deposu
Docker image: docker.io/syncthing/syncthing:2.1.5 veya ghcr.io/syncthing/syncthing:2.1.5
Yalnızca ana sürümü takip etmek için: {docker,ghcr}.io/syncthing/syncthing:2
Cihazlar ve klasörler artık yeni group özniteliği kullanılarak grafik arayüzde gruplandırılabiliyor.
Mevcut SOCKS proxy desteğine ek olarak CONNECT destekli HTTP ve HTTPS proxy'leri de kullanılabiliyor.
En düşük aktarım boyutu yerine veritabanı boyutunun ve ek yükün azaltılmasına öncelik verilen klasörlerde blok indeksleme kapatılabiliyor.
Grafik arayüz oturum açma süresi, varsayılan bir haftalık süreden daha uzun veya daha kısa olacak şekilde ya da süresiz olarak yapılandırılabiliyor. Çerez yolu da değiştirilebiliyor.
İyileştirmeler
Mümkün olan yerlerde x/sys/windows kullanılmaya başlandı.
FileInfoBatch boyut hesaplaması sadeleştirildi.
Android amd64 üzerinde inotify kullanımına izin verildi.
Kapatılmamış bazı HTTP bağlantıları düzeltildi.
İzleyici sayısını azaltmak için daraltılmış panellerin yalnızca gerektiğinde oluşturulması sağlandı.
Bağımlılıklar güncellendi.
Yeni kod katkısı yönergeleri eklendi.
Yok sayma dosyası önbelleği tamamen kaldırıldı.
Yeniden adlandırma algılama işlemi bir miktar optimize edildi.
Bekleyen klasör veya cihaz bildiriminin ne zaman yeniden görüneceğine ilişkin açıklama iyileştirildi.
Veritabanı altyapısı LevelDB'den SQLite'a geçirildi. İlk açılışta büyük kurulumlar için uzun sürebilecek bir veri göçü (migration) gerçekleşecektir.
Silinen öğeler artık veritabanında sonsuza kadar tutulmayacak, 15 ay sonra otomatik olarak temizlenecektir. Bu süre --db-delete-retention-interval ile özelleştirilebilir.
Çatışma çözümü (conflict resolution) mantığı güncellendi; artık bir silme işlemi çatışmanın kazananı olabilir ve bu durumda silinen dosya bir çatışma kopyasına taşınır.
Günlük Kaydı (Logging) ve İzleme
Günlük formatı yapılandırılmış (structured) kayıt girişlerine dönüştürüldü.
Paket başına günlük seviyesi kontrolü eklendi ve INFO ile ERROR arasına yeni bir WARNING seviyesi yerleştirildi.
INFO seviyesi, Syncthing tarafından gerçekleştirilen senkronizasyon eylemlerini gösterecek şekilde daha detaylı hale getirildi.
Eski --verbose ve --logflags seçenekleri kaldırıldı; yerini --log-level ve STTRACE değişkenine bıraktı.
Komut Satırı ve Protokol
Komut satırı argüman ayrıştırma sistemi modernize edildi. Tek tireli uzun seçenekler (örneğin -home) artık desteklenmiyor; bunların yerine çift tire (--home) kullanılmalıdır.
V2 cihazlar arasında artık varsayılan olarak birden fazla bağlantı (biri indeks metaverileri, ikisi veri değişimi için toplam üç bağlantı) kullanılmaktadır.
Kaydırılmış veri algılama (Rolling hash) desteği, verimliliği artırmak ve tarama hızını optimize etmek amacıyla kaldırıldı.
İlk açılışta artık otomatik olarak bir "varsayılan klasör" (default folder) oluşturulmayacak.
Platform Desteği ve Derleme
SQLite ile çapraz derleme zorlukları nedeniyle Dragonfly/amd64, Solaris/amd64, Linux/ppc64, NetBSD, OpenBSD (386/arm) ve Windows/arm platformları için artık önceden derlenmiş (prebuilt) ikili dosyalar sunulmayacak.
Hata Düzeltmeleri
Android'de uçtan uca (point-to-point) arayüzlerin atlanması sağlandı (#10504).
stdiscosrv başlatılırken tam cihaz kimliğinin loglanması sağlandı (#10541).
JSON içerik tipi bildiriminden karakter seti (charset) deklarasyonu kaldırıldı (#10508).
SQLite periyodik veritabanı bakımının devre dışı bırakılabilmesine olanak tanındı (#10441).
SQLite Geçişi: Veritabanı altyapısı LevelDB'den SQLite'a taşındı. Bu değişiklik, veritabanının daha bakılabilir ve hatasız olmasını hedefliyor.
Önemli: İlk açılışta veritabanı göçü (migration) gerçekleşecektir. Büyük kurulumlarda bu işlem uzun sürebilir, kesintiye uğratmamanız önerilir.
Rolling Hash Kaldırıldı: Kaydırılan verileri tespit etmeye yarayan "Rolling Hash" özelliği artık desteklenmiyor. Bu özelliğin gerçek dünya kullanımında pek fayda sağlamadığı tespit edildiğinden, artık tarama ve senkronizasyon işlemleri bu yük olmadan daha hızlı ve verimli çalışacak.
Temizlik: Silinen öğeler artık veritabanında sonsuza kadar tutulmayacak; 15 ay sonra otomatik olarak temizlenecek.
Modernize Edilmiş Günlükleme (Logging)
Günlükleme sistemi tamamen yapısal (structured) bir hale getirildi:
Yeni Seviyeler: INFO ve ERROR arasına yeni bir WARNING seviyesi eklendi.
Kontrol: Artık paket başına günlük seviyesi (log level) belirlenebiliyor. INFO seviyesi, Syncthing'in aldığı senkronizasyon kararlarını daha detaylı gösterecek şekilde genişletildi.
Kaldırılanlar: --verbose ve --logflags seçenekleri artık geçersizdir.
Ağ ve Bağlantı İyileştirmeleri
Çoklu Bağlantı (Multi-Connection): V2 cihazlar arasında artık varsayılan olarak 3 bağlantı kuruluyor (1'i metadata, 2'si veri değişimi için). Bu, bant genişliğini daha verimli kullanmanızı sağlar.
Komut Satırı Modernizasyonu: Eski tek tireli (-home) seçenekler artık desteklenmiyor. Artık çift tire (--home) kullanılmalı ve bazı komutlar alt komut (subcommand) haline getirildi.
Platform Kısıtlamaları: SQLite geçişindeki derleme zorlukları nedeniyle Solaris, NetBSD, OpenBSD (386/arm) ve Windows (arm) gibi platformlar için artık önceden derlenmiş ikili dosyalar (binary) sunulmayacak.
Diğer Önemli Notlar
Çatışma Çözümü (Conflict): Silinen dosyaları içeren çatışmalarda artık "silme" işlemi kazanan taraf olabiliyor. Bu durumda silinen dosya bir çatışma kopyasına taşınır.
Varsayılan Klasör: İlk kurulumda artık otomatik olarak bir "Default Folder" oluşturulmuyor.
Docker/APT: Güncelleme APT depolarında ve Docker üzerinde (syncthing:2.0.13) yayına girdi.