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ı