✨ Öne Çıkan Yenilikler​


  • Kapsamlı karanlık mod: WinForms ayarları artık Windows'un karanlık temasına uyum sağlıyor. Karanlık mod desteği tüm ekranlara, sekmelere ve liste başlıklarına genişletildi. Sistem tepsisi simgesi de cihaz özelliklerine uyum sağlayacak şekilde daha net hâle getirildi.
  • Uygulama kuralları için klavye kısayolları: Artık herhangi bir uygulama kuralına klavye kısayolu atanabiliyor ve ayarlar açılmadan ilgili kural çalıştırılabiliyor.
  • Tüm bileşenleri içeren kurulum paketleri: Hem x86 hem de x64 kurulum paketleri artık gerekli tüm bileşenleri içeriyor. Böylece ek çalışma zamanı dosyalarının indirilmesine gerek kalmıyor ve kısıtlanmış bilgisayarlarda yaşanan kurulum hataları önleniyor.
  • Bildirim bandı özelleştirmesi: Bildirim bandının hangi monitörde görüntüleneceği seçilebiliyor. Ayrıca renk ve ölçek ayarları kişiselleştirilebiliyor.
  • Mikrofon kontrolü: Mikrofonu sessize alma kısayolunun hangi cihazı etkileyeceği seçilebiliyor. Sessize alma bildirimleri yalnızca ilgili cihaz için gösterilerek yapılan işlemin daha kolay anlaşılması sağlanıyor.

    🐛 Hata Düzeltmeleri​

  • Uygulama kurallarının cihaz bilgilerini kaydetmesi sağlandı. Böylece özellikle bağlantı istasyonları ve USB çoklayıcılar kullanılırken cihaz kimliği değişse bile kurallar çalışmaya devam ediyor.
  • Gecelik (nightly) derlemeler kullanılırken yanlışlıkla güncelleme önerilmesine neden olan sorun giderildi.
  • Karanlık modda bağlantı renklerinin okunabilirliği artırıldı, açık renkli sütun başlıkları ve grup başlıklarının görünümü düzeltildi. Ayrıca gizli pencere oluşturulmadan önce metin işleme sisteminin doğru şekilde başlatılması sağlandı.
  • Web sitesindeki arama özelliği yeniden çalışır hâle getirildi, değişiklik günlüğü arama sonuçlarından çıkarıldı ve mobil cihazlarda yatay kaydırmaya neden olan sorun giderildi.

Hata Düzeltmeleri​

  • Keep Volume özelliğinin sürekli hata mesajı oluşturmasına ve Windows bildiriminin açılır pencere olarak gösterilmemesine neden olan sorun düzeltildi.
  • IAudioEndpointVolume çağrılarında S_FALSE değeri artık başarılı sonuç olarak değerlendiriliyor.
  • Windows bildirimleri, görüntülenme süresi 1 saniyeden kısa olmadığı sürece açılır pencere olarak gösteriliyor.

Güvenlik​

  • SoundSwitch_v7.3.3.0_Release_Installer.exe dosyası VirusTotal GitHub Action ile analiz edildi.
Sürüm: 7.3.2

İyileştirmeler​

  • Özel ses seçicisine AAC (.aac/.m4a) desteği eklendi.

Hata Düzeltmeleri​

  • Yapılandırılmış ses aygıtı bulunamadığında varsayılan uç noktaya geri dönülmesi sağlandı.
  • Oynatma hatalarına ait Sentry günlüklerine hedef aygıt kimliği eklendi.
  • İptal işleminden kaynaklanmayan oynatma hatalarının Sentry'ye ulaşması için Error düzeyinde günlüğe kaydedilmesi sağlandı.
  • Windows asset sorununu düzeltmek için NAudio, umbrella üzerinden sabitlendi ve oynatmayla ilgili inceleme geri bildirimleri ele alındı.
  • Refresh sırasında eski aygıtlar elden çıkarılmadan önce yeni aygıt önbelleğinin yayımlanması sağlandı.
  • InvalidCastException hatasını ortadan kaldırmak için bildirim IMMDevice nesnesinin ComThread üzerinden çözümlenmesi sağlandı.
  • Aygıt önbelleğinin yayımlanması, özel bir .NET 9 Lock kullanılarak seri hâle getirildi.
  • Refresh sırasında koleksiyonun değiştirilmesinden kaynaklanan yarış durumunu düzeltmek için aygıtlar elden çıkarılmadan önce anlık görüntüleri alındı.
  • Oynatma hatası günlüklerinde boş deviceId değerinin varsayılan aygıt olarak değerlendirilmesi sağlandı.
  • Akış kodunu çözmek için AudioFileReader kullanılmaya başlandı; WAV ve MP3 desteği sağlandı ve kullanılmayan IsMp3Stream kaldırıldı.

7.3.0​


Değişiklikler​

  • Ana ses bileşeni kapsamlı şekilde yeniden yazıldı. 7.2.1 sürümünü kullanıyorsanız mümkün olan en kısa sürede güncelleyin; bu sürümde özellikle başlangıç sırasında birden fazla çökme sorunu bulunuyor.

Yeni Özellikler​

  • Ses tarafına AudioDevice COM sarmalayıcıları ve AudioDeviceEnumerator eklendi.
  • MP3 kod çözme işlemi, projeye dâhil edilen tamamen yönetilen MP3Sharp üzerinden gerçekleştirilecek şekilde eklendi.
  • NAudio bildirim oynatma sistemi, şirket içinde geliştirilen WASAPI renderer ile değiştirildi.
  • Özel bildirim seslerinde MP3 desteği eklendi.
  • Her nightly artifact için SHA-512, commit ve değişiklik günlüğü kaydı eklendi.
  • Ayarlarda nightly güncelleme kanalı göstergesi eklendi.
  • Güncelleyiciye SHA-512 doğrulamalı nightly güncelleme kanalı eklendi.
  • Nightly yapılara release-train güncellemelerinin beta kanalı olarak sunulması eklendi.
  • Web sitesinde nightly değişiklik günlüğü ve SHA-512 sağlama toplamı gösterilmeye başlandı.

İyileştirmeler​

  • Windows bildirimi, balon bildirimi yedeğiyle birlikte yerel toast bildirimi olarak gösterilecek şekilde iyileştirildi.
  • Güncelleme alt sisteminin kullanımı ve başlangıç yapılandırmasının anlık görüntüsü telemetri kapsamında izlenmeye başlandı.

Hata Düzeltmeleri​

  • Ses tarafında SeletedDevicesList yazım hatası ve EndpointVolume için null koruması düzeltildi.
  • ERole profil eşleştirmesi ve mikrofon yanıtındaki NameClean düzeltildi.
  • IMFSourceReader.ReadSample yerel imzası düzeltilerek MP3 çökmelerine neden olan sorun giderildi.
  • Başarısız işlem yollarının tamamında DeviceFullInfo nesnesinin serbest bırakılması sağlanarak COM sızıntısı giderildi.
  • IPC mikrofon durumu lambda ifadesinde nullable EndpointVolume için koruma eklendi.
  • Projeye dâhil edilen MP3Sharp kod çözücüsünün dayanıklılığı artırıldı.
  • Kesilmiş WAV dosyalarındaki hatalar normalleştirildi ve WAV filtre etiketi yerelleştirildi.
  • Ses düzeyi istemcisinde AudioDevice deadlock ve finalizer çökmesi engellendi.
  • Kayıt başarısızlıklarının iletilmesi sağlandı ve MMNotificationClient belgelendirildi.
  • Uyku modundan çıktıktan sonra varsayılan ses aygıtının yenilenmemesi sorunu düzeltildi.
  • Seek yapılabilir akışın sıfırlanması sağlandı ve MP3 işlemlerinde EOS dışındaki null örnekler ele alındı.
  • Asenkron null veri testinde FluentAssertions v8 ThrowAsync kullanılmaya başlandı.
  • Ses düzeyi kopyalama işlemi için nullable tuple, dönüştürme uyarıları için ise Serilog kullanılmaya başlandı.
  • Statik sınıf Serilog bağlamında typeof() kullanılmaya başlandı.
  • CI tarafında sürüm bilgisinin AssemblyInfo yeniden yazımı ve etikete göre göreli revizyon aracılığıyla işlenmesi sağlandı.
  • Tüm -Version bileşenlerinin 16 bit sınırına göre doğrulanması sağlandı.
  • Yanlış yazılmış seletedDevicesList parametresi ve özelliği tamamen kaldırıldı.
  • Yanlış yazılmış SeletedDevicesList özelliği SelectedDevicesList olarak yeniden adlandırıldı.
  • Nightly issue yorumunda, yapı numarasının indirme bağlantısıyla eşleşmesi için yükleyici sürümü kullanılmaya başlandı.
  • Ses aygıtı nesnesi ve tek örnekli IPC, geçici hatalara karşı daha dayanıklı hâle getirildi.
  • Nightly release-train fallback davranışındaki inceleme bulguları giderildi.
  • Nightly revizyonu prerelease tanımlayıcısı olarak kodlanmaya başlandı.
  • Nightly ternary ifadesindeki bütünlük denetimi hatası string biçimine normalleştirildi.
  • Web sitesindeki nightly değişiklik günlüğünde kalın, italik ve madde işaretlerinin ayrıştırılması düzeltildi.

Testler​

  • Ses testleri şirket içinde geliştirilen enum'lara taşındı ve PROPVARIANT sözleşme testleri eklendi.

Yeni Özellikler​

  • CLI'ye genel --json çıktı seçeneği ve devices komutu eklendi.
  • CLI'ye etkin profil ile mevcut ses aygıtlarını gösteren status komutu eklendi.
  • Sentry Metrics üzerinden özellik kullanım telemetrisi eklendi.
  • Sistem tepsisi simgesi çalışma zamanında Segoe glifi kullanılarak temaya göre oluşturulan hoparlör simgesine dönüştürüldü.
  • Tek renkli sistem tepsisi simgesi, Windows karanlık moduna uyum sağlayan tema tabanlı simgeyle değiştirildi.
  • Çift tıklama eylemi olarak Mikrofon Sessize Almayı Aç/Kapat seçeneği eklendi.
  • Mikrofon için eksik bildirim ayarı eklendi; böylece yalnızca sesli bildirim kullanılabilir.

İyileştirmeler​

  • Bildirim banner'larında çok sayıda iyileştirme yapıldı ve oyunların küçültülmemesi sağlandı.
  • Sistem tepsisi simgesinin ve özellikle diğer araçlarla birlikte kullanılmak istendiğinde CLI'ın kullanıcı deneyimi iyileştirildi.
  • Sistem tepsisi tıklama gecikmesi 250 ms'ye düşürüldü ve devre dışı bırakılmış çift tıklama seçeneği eklendi.
  • Geçersiz regex desenlerinde uygulama kurallarının glob desenine geri dönmesi sağlandı.
  • Bildirim banner'larına görüntüleme seçeneğinin uygulanması sağlandı.
  • Banner formları yeniden kullanılırken eski görsellerin temizlenmesi sağlandı.
  • Banner'larda katman yaklaşımı devre dışı bırakıldı; banner'ların kademeli yerleşmesi sağlandı.
  • Gerçek özel tam ekran durumu daha hassas biçimde algılanarak kenarlıksız pencereli modda banner gösterimi sağlandı.
  • BannerForm'un odağı çalması önlendi ve sürükleme konumu ile NullReferenceException sorunları düzeltildi.
  • Çok katmanlı koruma kullanılarak tam ekran oyunlarda banner'ların odağı çalması önlendi.
  • PlaySoundJob.cs içinde using var ve await using kullanımında oluşan CS8417 derleyici hatasından kaçınıldı.
  • Belge ve .NET kontrolleri için Pull Request birleştirme kapısı eklendi.
  • Nightly iş akışındaki inceleme geri bildirimleri ele alındı.
  • Dry-run kontrolleri için semantic-release dalları tanımlandı.
  • semantic-release push kontrolü için release-dry-run iş akışına içerik yazma izni verildi.
  • Değişiklik günlüğü oluşturmayı geri getirmek için conventionalcommits ön ayarı v9'a sabitlendi.
  • Kararlı sürümlerin master dalından yayımlanması sağlandı.
  • İş akışı belirteci izinlerinin kapsamı daraltıldı.
  • Pull Request kapısında semantic-release CLI dry-run kullanılması sağlandı.
  • Dokümantasyon yorumları temizlendi ve dispose işleminin birden fazla kez güvenle çağrılabilmesi sağlandı.
  • CLI'da JSON çıktı güvenliği, COM kaynaklarının serbest bırakılması, NameClean ve hata sözleşmesiyle ilgili inceleme geri bildirimleri ele alındı.
  • JsonSerializerOptions statik alanda önbelleğe alındı.
  • status --json çıktısındaki boş dizeli aygıt değerleri belgelendi.
  • Geçersiz yedek kaynaklarda simge çıkarıcı tür başlatma çökmesinden kaçınıldı.
  • Kısayol tuşunun yalnızca yapılandırılmış aygıta zorla geçiş yapabilmesi sağlandı.
  • Mevcut Windows varsayılanı eşleşmediğinde yalnızca yapılandırılmış aygıta zorla geçiş yapılması sağlandı.
  • Yükleyicinin gerektirdiği .NET çalışma zamanı 10.0.11'e yükseltildi.
  • Yükleyici betiklerindeki gerekli .NET sürümü 10.0.9 olarak güncellendi.
  • Mikrofon sessize alma için sesli bildirim uygulandı ve PlaySoundJob daha dayanıklı hâle getirildi.
  • IPC isteklerine her zaman yanıt verilmesi ve başlangıç yarış koşulunun giderilmesi sağlandı.
  • Kapatma işlemi yeniden deneme gecikmesi sırasında gerçekleşirse accept döngüsünün temiz biçimde sonlandırılması sağlandı.
  • İleti uzunluğu önekleri doğrulandı ve accept döngüsü daha dayanıklı hâle getirildi.
  • Profil değiştirildiğinde uygulama başına ses ayarlarını sıfırlama seçeneği eklendi.
  • Oturum değiştiğinde başlangıç tetiklemesinin çalışması sağlandı.
  • Sistem tepsisi simgesi için tek renkli simge seçeneği eklendi.
  • SpeakerIconGenerator statik oluşturucusunda TypeInitializationException oluşması önlendi.
  • Nightly derlemelerde dört parçalı sürüm dizelerinin işlenmesi sağlandı.
  • Nightly revizyonunun son beş hanesinin yama sürümü olarak kullanılması sağlandı.
  • SoundSwitch'i bulma SSS'sinde yeniden açma işleminin Ayarlar'ı açtığı belirtildi.

Hata Düzeltmeleri​

  • Pull Request geri bildirimleri ve sürüm dry-run hataları giderildi.
  • Derleme hataları ve inceleme geri bildirimleri giderildi.
  • Genel inceleme geri bildirimlerine yönelik düzeltmeler yapıldı.

Dil Güncellemeleri​

  • Bulgarca Ayarlar çevirisi güncellendi.
  • Basitleştirilmiş Çince Ayarlar çevirisi güncellendi.
  • Basitleştirilmiş Çince Sistem Tepsisi Simgesi çevirisi güncellendi.
  • Felemenkçe Ayarlar çevirisi güncellendi.
  • Felemenkçe Sistem Tepsisi Simgesi çevirisi güncellendi.
  • Felemenkçe Güncelleme İndirme çevirisi güncellendi.
  • Fransızca Ayarlar çevirisi güncellendi.
  • İbranice Sistem Tepsisi Simgesi çevirisi güncellendi.
  • İtalyanca Ayarlar çevirisi güncellendi.
  • İtalyanca Sistem Tepsisi Simgesi çevirisi güncellendi.
  • Japonca Hakkında çevirisi güncellendi.
  • Japonca Ayarlar çevirisi güncellendi.
  • Japonca Sistem Tepsisi Simgesi çevirisi güncellendi.
  • Japonca Güncelleme İndirme çevirisi güncellendi.
  • Korece Ayarlar çevirisi güncellendi.
  • Sistem tepsisi simgesi seçeneğinin etiketi "Tema Tabanlı" olarak güncellendi.
  • Brezilya Portekizcesi Ayarlar çevirisi güncellendi.
  • Brezilya Portekizcesi Sistem Tepsisi Simgesi çevirisi güncellendi.
  • İspanyolca Ayarlar çevirisi güncellendi.
  • İspanyolca Sistem Tepsisi Simgesi çevirisi güncellendi.
  • İspanyolca Güncelleme İndirme çevirisi güncellendi.
  • İsveççe Ayarlar çevirisi güncellendi.
  • İsveççe Sistem Tepsisi Simgesi çevirisi güncellendi.

Testler​

  • Tek aygıtlı cycler testleri uygun kaynak temizliğiyle deterministik hâle getirildi.
  • İndirme testi blender.org yerine yerel sunucudan sunulacak şekilde değiştirildi.
Sürüm: 7.1.0
İyileştirmeler
  • Çift Tıklama (Double-click): Çift tıklama eylemleri için kullanılan switch ifadesi, factory deseni kullanılarak daha verimli ve temiz bir kod yapısıyla değiştirildi.
  • Kısayol Tuşları (Hotkey): Numpad üzerindeki eksi (-) ve artı (+) tuşları artık geçerli kısayol tuşları olarak kullanılabilir.

Giderilen Hatalar
  • Afiş: Afişin (banner) her zaman en üstte görünmemesi sorunu düzeltildi.
  • Çift Tıklama: Profil döngüsü durumunun korunmasını engelleyen çift tıklama hatası giderildi.
  • Kısayol Tuşları: Çarpma ve Cihaz (Multiply and Device) tuşlarının kısayol olarak kullanılamaması sorunu düzeltildi.

Diller
  • Ermenice: Uygulamaya Ermenice dil desteği eklendi.
  • Çeviriler: Amharca, Ermenice, Geleneksel Çince, Hırvatça, Danca, Felemenkçe, Fransızca, İtalyanca, Japonca, Korece, Norveççe, Lehçe, Brezilya Portekizcesi, Portekizce, Rusça, İsveççe ve Tamilce çevirileri güncellendi.
Hata Düzeltmeleri
  • Ayarlar: Komut satırı (CLI) kullanılırken veya SoundSwitch tekrar açıldığında ayarların açılmasının uygulamayı çökertmesi sorunu düzeltildi. (b3dca74)

Diller
  • Amharca: "Hakkında" bölümü çevirisi eklendi (Weblate kullanılarak) (8a40dab)
  • Japonca: "Hakkında" bölümü çevrildi (Weblate) (3541994)
  • Japonca: "Ayarlar" bölümü çevrildi (Weblate) (ca5b2fe)
  • Japonca: "Ayarlar" bölümü tekrar çevrildi (Weblate) (39a2340)
  • Japonca: "Tepsi İkonu" çevrildi (Weblate) (1286b92)
  • Japonca: "Güncelleme İndirme" bölümü çevrildi (Weblate) (1c2c658)
  • Norveççe (Bokmål): "Ayarlar" çevrildi (Weblate) (5aaf243)
  • Portekizce: "Ayarlar" çevrildi (Weblate) (e11f18d)
  • İsveççe: "Ayarlar" çevrildi (Weblate) (8b7b738)
VirusTotal entegrasyonu ile yapılan GitHub analizi:
Orijinal Sürüm Notları