Skip to content

Releases: heide-oficial/Voicemeeter-Windows-Volume-Modern

v1.3.0

Choose a tag to compare

@heide-oficial heide-oficial released this 08 Sep 19:44

🆕 Added

  • Simplified Chinese localization, contributed by He Junxing - STAR-10086 in PR #8, with translations for the new 1.3.0 controls and diagnostics.
  • A dedicated Diagnostics sidebar page with the current Voicemeeter session, unresolved failures, and a separate event history. Resolved failures disappear from the current-status panel while their historical events remain available.
  • Check now, a separate Check for updates automatically toggle, and the last attempted and successful check times in Settings. Automatic checks are limited to one attempt per 24 hours and retain their result between sessions. Updates still open the release page rather than installing automatically.

🗑️ Removed

  • The event-history panel from Dashboard; it is now on the Diagnostics page.
  • The redundant Unmuted label from the Dashboard audio card. Mute and unmute events remain in Diagnostics.
  • Unnecessary language-saved messages and binding-save events triggered by rebuilding the interface rather than changing a binding.

⚡ Improved

  • Dashboard cards now stack vertically. Active bindings include the channel index and assigned device, with clearer empty states.
  • The full-width sidebar collapse control is shorter, has a direction-aware rotating arrow, and respects the Windows animation preference. Settings and Support rows adapt more consistently to narrow windows.
  • Background startup prepares the visual page only when needed. Hidden-window cleanup releases localization subscriptions without forcing a garbage collection on every hide.
  • Audio monitoring uses adaptive fallback checks: quieter while idle, faster when callbacks miss changes. Diagnostics use batched local logging with seven-day / 50 MiB retention.
  • Shutdown coordinates pending operations and settings writes before releasing services. Settings writes are serialized, preserve the latest valid changes, and protect unreadable files from being overwritten.
  • Portable extraction is isolated by payload hash and coordinated between simultaneous launches. Release generation uses isolated staging and validates the final MSI; x64 installations use the 64-bit Program Files directory.
  • Updated the application documentation, supported-language list, contributor credits, and privacy disclosures, including optional GitHub checks, local logs and cache, and the bundled Ko-fi banner.

🔧 Fixed

  • Gain mapping could exceed a configured negative maximum when the 0 dB cap was enabled. Invalid, empty, non-finite, or inverted gain inputs now retain the last valid mapping instead of applying unsafe values.
  • Windows audio initialization failures and lost Voicemeeter sessions now retry automatically with increasing delays. Connected requires a ready engine and an identified edition; reconnection refreshes and reapplies saved bindings.
  • Refresh status now rechecks the audio services and targets. Changes to gain mapping and mute synchronization take effect immediately without requiring another Windows volume or mute change.
  • Default-output-only recovery is distinguished from recovery for any audio-device change. Missed default-output notifications and duplicate resume notifications are handled, while deliberate manual disconnection remains respected.
  • Device-notification processing and second-instance activation no longer perform blocking work on the notification or UI path. Simultaneous portable launches no longer compete to replace the same extracted files.
  • Voicemeeter discovery now checks registered installation locations and validates the native DLL architecture, improving detection of custom installations.
  • Dates and times now follow the Windows user's regional formats, including custom date patterns and separate short/long 12-hour or 24-hour clock settings, independently of the application's language.
  • Missing accessible control labels, stale localized state, and unnecessary binding updates during language changes were corrected. The connected session and Voicemeeter edition are shown together in Diagnostics.

Full changelog: v1.2.1...v1.3.0

v1.2.1

Choose a tag to compare

@heide-oficial heide-oficial released this 22 Aug 17:41

🆕 Added

v1.2.0

Choose a tag to compare

@heide-oficial heide-oficial released this 15 Aug 01:43

🆕 Added

  • Added Brazilian Portuguese localization and JSON-based language files to simplify community translations.
  • Added an in-app language selector with live interface updates.
  • Added an update status card that checks the latest GitHub release and opens its download page when a newer version is available.
  • Added the Support me page with options for Ko-fi donations, starring the GitHub repository, and submitting video showcases.
  • Added an option to hide the Support me page from the sidebar.
  • Added automated coverage for volume recovery and edition-aware Voicemeeter channel names.

🗑️ Removed

  • Removed the standalone About page from the sidebar and moved its project information and repository actions to Settings.
  • Removed hard-coded interface strings in favor of external language files.
  • Removed unnecessary Core Audio endpoint recreation during fallback refreshes as part of the fix for issue #1, based on the targeted approach proposed in PR #2.

⚡Improved

  • Improved bindings with edition-aware names such as A1, B1, VAIO, AUX, and VAIO 3, incorporating PR #5 with revisions.
  • Improved binding details to show stable Strip/Bus indexes and assigned devices. Meaningful custom Voicemeeter labels now replace the default role name.
  • Improved taskbar and notification-area icon clarity with multi-resolution, DPI-aware assets, resolving issue #6.
  • Centralized version metadata so the interface, packages, portable build, and installer consistently report v1.2.0.

🔧 Fixed

  • Fixed steadily increasing memory usage from repeated Core Audio endpoint reconstruction, resolving issue #1 through the revised implementation of PR #2. PR #3 proposed a separate native background host for issue #1. It was reviewed but not adopted because the endpoint-refresh fix from PR #2 resolved the underlying memory growth without introducing a second runtime architecture.
  • Fixed unexpected Windows volume changes to 100% after Voicemeeter engine restarts, device recovery, resume, or startup by incorporating PR #4 with revisions.
  • Fixed recovery behavior so the last safe volume is restored instead of transient endpoint values being reapplied.

Full changelog: v1.1.1...v1.2.0

v1.1.1

Choose a tag to compare

@heide-oficial heide-oficial released this 13 Jul 02:41
  • Fixed Start with Windows when using the portable launcher: startup arguments are now forwarded to the extracted WinUI app, so --background starts minimized in the tray.
  • Improved background launch handling in the WinUI app so startup launches do not restore an existing hidden window.
  • Fixed MSI upgrade behavior by allowing same-version upgrades, preventing duplicate side-by-side installs when reinstalling the same release.
  • Kept app, portable launcher, package manifest, native manifest and MSI metadata at version 1.1.1.

v1.1.0

Choose a tag to compare

@heide-oficial heide-oficial released this 10 Jul 18:39
  • Added a persistent Interface layout setting with Compact and Expanded modes.
  • Updated the About/version metadata, package manifest, installer, and portable launcher to v1.1.0.
  • Improved Voicemeeter startup reliability: the app no longer reports Connected / Unknown and waits for a real Voicemeeter edition before entering the connected state.
  • Rebuilt the selected binding target cache after loading real Voicemeeter strips and buses, so startup sync works without toggling bindings manually.
  • Added continuous Voicemeeter reconnect/recovery instead of stopping after fixed startup attempts.
  • Synced current Windows volume and mute immediately after Voicemeeter connection and when enabling a binding.
  • Serialized Voicemeeter Remote API calls to avoid concurrent gain/mute command races.
  • Added Windows resume recovery, endpoint refresh, startup --background registration, and single-instance redirect waiting.
  • Made Core Audio endpoint startup tolerant of temporarily missing default render devices.
  • Added fallback polling, remembered-volume persistence, restart-on-launch wiring, tray restoration after Explorer restart, and persistent diagnostic logs.
  • Fixed portable cache invalidation so a newly generated portable EXE extracts its updated payload even when the app version folder already exists.
  • Hid the legacy audiodg crackle-fix toggle because it had no active implementation in the modern app.

v1.0.0

Choose a tag to compare

@heide-oficial heide-oficial released this 03 Jul 17:34

Initial release.