Skip to content

Releases: Belphemur/SoundSwitch

SoundSwitch v7.1.1-beta.4

Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Jun 00:32

7.1.1-beta.4 (2026-06-23)

Bug Fixes

  • common: avoid icon extractor type-init crash on invalid fallback resources (01a7a43), closes #2243
  • updater: handle 4-part version strings for nightly builds (9b55ab1), closes #2248
  • updater: use last 5 digits of nightly revision as patch version (1382766)

🛡 VirusTotal GitHub Action analysis:

SoundSwitch v7.1.1-beta.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Jun 00:39

Fix of broken banner in previous beta

7.1.1-beta.3 (2026-06-22)

Bug Fixes

  • banner: Disable layer approach. Banner is staggered. (638bd1e)

🛡 VirusTotal GitHub Action analysis:

SoundSwitch v7.1.1-beta.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Jun 00:03

Another attempt at not stealing focus when a banner appears

7.1.1-beta.2 (2026-06-21)

Enhancements

  • tray: reduce click delay to 250ms, add Disabled double-click option (aa2c03b)

Bug Fixes

  • app-rules: fallback to glob when regex pattern is invalid (4672c6b)
  • banner: prevent focus stealing and fix drag-position/NRE bugs in BannerForm (feefcd6)
  • banner: prevent focus stealing in fullscreen games with multi-layer defense (#2241) (a81f169), closes #2240
  • build error and review feedback (6f4ef44)
  • build: avoid CS8417 compiler bug with using var and await using in PlaySoundJob.cs (9b7e9a9)
  • clean up doc comments and add dispose idempotency (366ecb4)
  • installer: update required .NET version to 10.0.9 in installer scripts (385819b)
  • notification: implement mic mute sound notification and harden PlaySoundJob (d030236), closes #2187
  • review feedback improvements (ddc896f)
  • tray-icon: add monochrome systray icon option (05e08e5), closes #2029
  • website: finding-soundswitch FAQ — reopening opens settings (#2221) (590b247)

Languages

  • Chinese (Simplified Han script): Translated Settings using Weblate (99cb9be)
  • Chinese (Simplified Han script): Translated Tray Icon using Weblate (5cb5e90)
  • French: Translated Settings using Weblate (d823469)
  • Hebrew: Translated Tray Icon using Weblate (385e059)
  • Italian: Translated Settings using Weblate (e8dfb91)
  • Italian: Translated Settings using Weblate (0541491)
  • Italian: Translated Tray Icon using Weblate (c83eb2b)
  • Japanese: Translated Settings using Weblate (2bfdf54)
  • Japanese: Translated Tray Icon using Weblate (ba89f4a)
  • Portuguese (Brazil): Translated Tray Icon using Weblate (f18b4dd)
  • Spanish: Translated Settings using Weblate (44bbb0e)
  • Spanish: Translated Tray Icon using Weblate (a38c28c)
  • Spanish: Translated Update Download using Weblate (906b4ac)
  • Swedish: Translated Settings using Weblate (0696a33)
  • Swedish: Translated Tray Icon using Weblate (c038b30)

🛡 VirusTotal GitHub Action analysis:

SoundSwitch v7.1.1-beta.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Jun 02:19

Multiple fixes to be sure if you have only one device in your list, you can force switch to it.

You can now also use the icon with double click to toggle the mute of your microphone.

7.1.1-beta.1 (2026-06-14)

Enhancements

  • Added Toggle Microphone Mute as Double-click Action option (9fec9f2)

Bug Fixes

  • address PR feedback and release dry-run errors (fd43a13)
  • ci: add PR merge gate for docs and dotnet checks (adbef45)
  • ci: address all nightly workflow review comments (170e38b)
  • ci: define semantic-release branches for dry-run checks (2674993)
  • ci: scope workflow token permissions (bb3a56c)
  • ci: use semantic-release CLI dry run in PR gate (ed88743)
  • device: allow hotkey to force switch to only configured device (5fc53d3), closes #2211
  • Force switch to the only configured device when current Windows default mismatches (3630da0)
  • profile: trigger on startup on session change (85ae6ba)

Languages

  • Bulgarian: Translated Settings using Weblate (f833f4d)
  • Chinese (Simplified Han script): Translated Settings using Weblate (e1286cf)
  • Dutch: Translated Settings using Weblate (a150073)
  • Dutch: Translated Settings using Weblate (dd17cbf)
  • Dutch: Translated Settings using Weblate (f30a384)
  • Dutch: Translated Settings using Weblate (6174238)
  • Dutch: Translated Tray Icon using Weblate (85084d5)
  • Dutch: Translated Update Download using Weblate (6eeda3a)
  • Japanese: Translated About using Weblate (3753e3e)
  • Japanese: Translated Settings using Weblate (3d52068)
  • Japanese: Translated Settings using Weblate (3acc682)
  • Japanese: Translated Settings using Weblate (50f2037)
  • Japanese: Translated Tray Icon using Weblate (0479f4e)
  • Japanese: Translated Update Download using Weblate (0650f7c)
  • Korean: Translated Settings using Weblate (be49871)
  • Korean: Translated Settings using Weblate (eb218c6)
  • Portuguese (Brazil): Translated Settings using Weblate (b5145af)
  • Swedish: Translated Settings using Weblate (11674cb)
  • Swedish: Translated Settings using Weblate (7932972)

Tests

  • cycler: deterministic single-device tests with proper resource cleanup (6eecdcc)

🛡 VirusTotal GitHub Action analysis:

SoundSwitch v7.1.0

Choose a tag to compare

@github-actions github-actions released this 22 May 00:30

Major fixes relates to installing on ARM64 and how the banner displays properly in game.

7.1.0 (2026-05-21)

Features

  • website: add Advanced nightly downloads page (#2148) (4287d87)

Bug Fixes

  • banner: Prevent banner notifications from stealing focus in exclusive fullscreen games (#2156) (acfec27)
  • build: ship separate x64 and arm64 publish directories; installer selects correct one at install time (#2143) (ba8dd75)
  • ci: prevent nightly devVersion failure under strict mode (#2146) (4089154)
  • settings: DPI scaling for the Notifications settings layout (#2154) (311fdbb)
  • website: add temporary homepage banner to .NET 7.0.0 FAQ (37963b2)
  • website: place .NET FAQ banner before home hero (d697a3f)

🛡 VirusTotal GitHub Action analysis:

SoundSwitch v7.0.0

Choose a tag to compare

@github-actions github-actions released this 19 May 23:50

This is a huge new version where you can test setting audio device for specific application using the new app rules setting. Thanks to @Bluscream

Also, the notification settings has been fully overhauled to let you decide where to put your notification. Thanks to @XangelMusic

Also the installer has been completely overhaul to support arm64 natively. Now, SoundSwitch installer will download the right version of the .NET Runtime and install it on your machine.

Last but not least, the website has been fully rewritten with helpful guide and information about the different features: https://soundswitch.aaflalo.me

7.0.0 (2026-05-19)

⚠ BREAKING CHANGES

  • support arm64 architecture

Features

  • add copilot-setup-steps.yml to run Copilot agent on Windows (6dbc87f)
  • add FAQ-from-discussion Copilot skill (c1ef56e)
  • add Sign-Binary.ps1 with SHA-256 signing, move code signing out of Inno Setup (95cc05b)
  • app-rules: auto-open process picker and add description when creating a new App Rule (#2050) (0431a44)
  • app-sound-lock: decouple process polling and implement notification batching (05b9f57)
  • audio-manager: add ProcessMonitor for periodic process polling (202aa72)
  • build-tools: detect .NET SDK version from csproj and migrate copilot setup to Linux (62be3ca)
  • build: add ARM64 support with framework-dependent publish and winget-managed runtime (bc048f1)
  • hotkey: WH_KEYBOARD_LL fallback for RegisterHotKey conflicts (#2105) (#2112) (2c74501)
  • notification: add support for App Rule triggers and configuration (4fafaec)
  • release: add parserOpts breakingHeaderPattern for ! breaking change notation (8a32b16)
  • rethink release pipeline with zip artifact, Python markdown tool, and PowerShell download script (98a2a16)
  • settings: auto-refresh device lists when CachedDeviceLister refreshes (#2114) (e1a63b8)
  • support arm64 architecture (9afc160), closes #2094
  • tools: add GitHub CLI as dependency in Install-BuildTools.ps1 (9a98686)
  • tools: add Publish-Release.ps1, refactor Build-Installer.ps1, enforce PS 7.0+ (09a9e5b)
  • ui: improve app rules grid, add process selection icons, and clear buttons (e48b47f)
  • website: add backend-driven y-axis ticks for download chart (633fd2c)
  • website: add custom theme layouts for ads (3436be3)
  • website: add durable download history (b6fa8bc)
  • website: add FAQ section and changelog page (698f02a)
  • website: add quick start section to home page (0cb75f1)
  • website: add SEO title and description frontmatter to every doc page (9e6455e)
  • website: add vuepress llms plugin to generate llms.txt (22197f7)
  • website: add Weblate languages list with smart placement (221e405)
  • website: blue theme, search, GitHub link and home redesign (03522c2), closes #2196f3
  • website: configure SEO plugin, sitemap and home metadata (be2b5be)
  • website: make GoogleAd configurable, add :key for route reload, add AGENTS.md (b106756)
  • website: migrate to vuepress-theme-hope with built-in footer, drop --legacy-peer-deps (0f9513f)
  • website: redesign homepage with custom hero, feature cards, and Font Awesome icons (a25d6dd)
  • website: show total GitHub download count on the home page (9a752eb)

Enhancements

  • .net: Update .NET dependencies to version 10.0.8 (ffb8883)
  • bump version to 6.14.3 for app rules patches (f6ba43c)
  • icon: refactor icon extraction into general-purpose ref-counted GDI infrastructure (#2039) (a44433a)
  • move to .NET 10 (0942d7c)
  • Notifications Tab (877bd41)

Bug Fixes

  • add missing [Code] section header to winget-dotnet-runtime.iss (427a50a)
  • add Switch Recording Device option for tray icon double-click (615e354)
  • address PR review feedback - revert Make.bat, add Build-Installer.ps1 and Install-BuildTools.ps1, fix LASTEXITCODE check, add permissions, auto-detect framework (0fcc4c7)
  • app-rules: add logging to empty catch blocks (37e4867)
  • app-rules: fix NU1510 compiler warnings (bbffe63)
  • apply review feedback — error checks, LiteralPath, fix CI winget failure, document PowerShell 7+ (f349ea4)
  • auto-detect .NET SDK version in copilot-setup-steps.yml from csproj TargetFramework (f064d96)
  • banner: reuse custom position notification and improve keyboard hints (551c45f)
  • build: replace NuGet signtool with Windows Driver Kit (WDK) installation via winget (8903306)
  • ci: align installer log artifact path (d8de8c4)
  • ci: build the full solution instead of individual projects (17a0c35)
  • ci: check Inno Setup registry before running winget install (85b17db)
  • ci: finding the right version of the framework (cfc8f32)
  • ci: reset exit code after handling already-installed Inno Setup in test-installer-build (4e97121)
  • ci: trigger build on root-level NuGet/SDK configuration file change...
Read more

SoundSwitch v7.0.0-beta.4

Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 May 02:33

Rework of the hotkey registration to take over other applications if needed

7.0.0-beta.4 (2026-05-12)

Features

  • add FAQ-from-discussion Copilot skill (c1ef56e)
  • hotkey: WH_KEYBOARD_LL fallback for RegisterHotKey conflicts (#2105) (#2112) (2c74501)
  • website: add backend-driven y-axis ticks for download chart (633fd2c)
  • website: add custom theme layouts for ads (3436be3)
  • website: add durable download history (b6fa8bc)
  • website: add vuepress llms plugin to generate llms.txt (22197f7)
  • website: add Weblate languages list with smart placement (221e405)
  • website: make GoogleAd configurable, add :key for route reload, add AGENTS.md (b106756)

Bug Fixes

  • website: add llm.txt alias build step and document llms endpoint (09c44b0)
  • website: defer adsense slot init to next tick (d786044)
  • website: force homepage to use Home layout (5602d8e)
  • website: guard adsense slot initialization against duplicate push (9d9260c)
  • website: log adsense init errors in console (91d5f44)
  • website: refine ad layout integration (60e4027)
  • website: refine download count card (6ca8fe8)
  • website: remove llm.txt alias - llms.txt is sufficient (b7409fe)
  • website: remove page level ads (#2109) (82ce157)
  • website: restore adsense component to snippet flow (e57cf3b)
  • website: retry Google Ad push when ad slot has no width (808dace)
  • website: use shared type, clamp max>=min, validate ticks against floor (1cc076b)

🛡 VirusTotal GitHub Action analysis:

SoundSwitch v7.0.0-beta.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 May 19:53

A brand new website and fixed installer when upgrading

7.0.0-beta.3 (2026-05-08)

Features

  • website: add FAQ section and changelog page (698f02a)
  • website: add quick start section to home page (0cb75f1)
  • website: add SEO title and description frontmatter to every doc page (9e6455e)
  • website: blue theme, search, GitHub link and home redesign (03522c2), closes #2196f3
  • website: configure SEO plugin, sitemap and home metadata (be2b5be)
  • website: migrate to vuepress-theme-hope with built-in footer, drop --legacy-peer-deps (0f9513f)
  • website: redesign homepage with custom hero, feature cards, and Font Awesome icons (a25d6dd)
  • website: show total GitHub download count on the home page (9a752eb)

Bug Fixes

  • ci: align installer log artifact path (d8de8c4)
  • ci: upload installer artifacts and improve dotnet install logging (e02e9c5)
  • docs: resolve PR review comments and fix CI build (72bd74c)
  • improve footer (b95c45f)
  • installer: clean app directory before install (e6311ef)
  • proper config for website (a894e16)
  • website: correct AdSense slot id and defer push until laid out (1d5a495)
  • website: disable theme-hope drop-in animation on page mount (6cb7712)
  • website: fix base path (ab5c4f1)
  • website: generate changelog page from CHANGELOG.md instead of symlinking (77a2884)
  • website: pin vuepress deps to compatible exact versions, add home page footer (1af1b4e)
  • website: prevent SSR hydration mismatch in HomeHero (e5685a8)
  • website: render banner position table correctly (18650e9)
  • website: use Unicode chars in footer string instead of HTML entities (219d7d7)

🛡 VirusTotal GitHub Action analysis:

SoundSwitch v7.0.0-beta.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 May 23:26

We're now supporting arm64 natively

7.0.0-beta.2 (2026-05-07)

Bug Fixes

  • instaler: fix new light installer (requires internet for .NET framework) (d0156cf), closes #2095
  • installer: address code review feedback (490b326)
  • installer: check uninstall ResultCode with proper logging (7a771a6)
  • installer: use Dependency_ArchTitle for uninstall display name suffix matching (3048506)
  • installer: wrap QuietUninstallString in quotes for safer cmd execution (5b9ef83)

🛡 VirusTotal GitHub Action analysis:

SoundSwitch v7.0.0-beta.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 May 23:38

7.0.0-beta.1 (2026-05-07)

⚠ BREAKING CHANGES

  • support arm64 architecture

Features

  • build-tools: detect .NET SDK version from csproj and migrate copilot setup to Linux (62be3ca)
  • build: add ARM64 support with framework-dependent publish and winget-managed runtime (bc048f1)
  • release: add parserOpts breakingHeaderPattern for ! breaking change notation (8a32b16)
  • support arm64 architecture (9afc160), closes #2094

Bug Fixes

  • add missing [Code] section header to winget-dotnet-runtime.iss (427a50a)
  • copilot-setup: add EnableWindowsTargeting=true to dotnet restore on Linux (8af7cce)
  • copilot-setup: replace variable-length lookbehind with sed for .NET version extraction (90de88c)
  • filter null TargetFramework values, rename winget methods to version-agnostic names (4f94862)
  • parameterize .NET version for winget, remove stale win-x64 references (3e1daaa)
  • pass DotNetMajorVersion from CI to installer, add include guard, fix repoRoot init order (31a041b)
  • pin System.Security.Cryptography.Xml 10.0.7 to resolve CVE-2026-33116 and CVE-2026-26171 (5df71f9)
  • publish: disambiguate $tag variable in Read-Host string interpolation (c86b702)
  • publish: resolve Count property error when uploading single installer (#2081) (f58f15a)
  • remove ready to run (640b5b4)
  • remove SelfContained from CLI, exclude arch-suffixed installers from fallback (d46d93b)
  • remove unsupported --scope from winget runtime install (43caf63)
  • typo on switch device hotkey labels (e16a206)
  • update CodeQL SDK to 10.0.x, remove unused ARCH env var (bf71d15)
  • use {pf} not {commonpf}, FileSearch for winget PATH, NeedRestart on 3010 (5002a75)
  • use underscore for arch suffix in auto-updater, prefer arch-specific first (4a524f7)
  • use windows-latest runner instead of windows-2025 in test-installer-build.yml (7f2061c)

Languages

  • Slovak: Added About translation using Weblate (3c41295)
  • Slovak: Added Settings translation using Weblate (1e9c83c)
  • Slovak: Added Tray Icon translation using Weblate (6fda308)
  • Slovak: Added Update Download translation using Weblate (3765663)

🛡 VirusTotal GitHub Action analysis:

🛡 VirusTotal GitHub Action analysis:

🛡 VirusTotal GitHub Action analysis: