Skip to content

Releases: euxx/volume-grid

Release v1.2.0

01 Mar 08:46

Choose a tag to compare

Fixes

  • Fix key-press debounce race condition, volume element detection, SystemEventMonitor cleanup, device menu unnecessary rebuilds, and device switch error alert title
  • Fix SystemEventMonitor data race: global monitor callback dispatched to MainActor
  • Fix SystemEventMonitor deinit: synchronize monitor removal on main thread
  • Eliminate all MainActor.assumeIsolated: use Task { @MainActor in } for completion handlers and animation callbacks

Improvements

  • Upgrade to Swift 6 language mode with strict concurrency checking
  • Refactoring: consolidate ThreadSafeProperty, remove redundant code paths and unused abstractions, improve naming
  • Concurrency: enable warnings-as-errors, mark pure types Sendable/nonisolated, use OSAllocatedUnfairLock(initialState:) for compiler-checked locking
  • Tests: add SPM test target, skip hardware-dependent tests, clean up mocks, add dispatchPrecondition and assertForOverFulfill
  • Formatting and documentation

Release v1.1.1

27 Feb 16:56

Choose a tag to compare

Fixes

  • Fix HUD window double-release crash on screen configuration changes
  • Fix race condition in VolumeMonitor listener cleanup causing listener leaks on device switch
  • Disable implicit CALayer animations in volume blocks for instant visual updates
  • Cancel in-flight fade-out animation when showing HUD to prevent flicker
  • Sort output devices by name length (shortest first)

Improvements

  • Add @MainActor to StatusBarController for stricter concurrency safety
  • Reuse VolumeMonitor's AudioDeviceManager for device switching

Release v1.1.0

11 Dec 15:40

Choose a tag to compare

Features

  • Add ability to switch sound output devices from the menu bar icon's menu

Improvements

  • Enhance progress bar appearance with dynamic colors for light/dark modes

Fixes

  • Update volumeScalar handling in VolumeMonitor for accurate state management

You can install by brew install --cask euxx/casks/volume-grid

You may need xattr -rd com.apple.quarantine /Applications/Volume\ Grid.app

Release v1.0.0

30 Nov 13:07

Choose a tag to compare

  • 🔲 Classic 16-tile volume HUD with quarter-tile precision
  • 🎧 Shows the sound output device and numeric volume on volume HUD
  • 🖥️ Shows volume HUD on all displays
  • 🔄 Shows volume HUD when switching sound output devices
  • 🔊 Menu bar icon with subtle progress bar that changes with volume
  • 🛠️ Native, minimal, lightweight (~2MB app, ~20MB RAM)

You can install by brew install --cask euxx/casks/volume-grid

You may need xattr -rd com.apple.quarantine /Applications/Volume\ Grid.app