Skip to content

Releases: pszypowicz/MicGuard

v0.15.0

25 Mar 08:27

Choose a tag to compare

Open Settings window in foreground via floating NSWindow

SettingsLink from MenuBarExtra does not activate the app under
cooperative activation (LSUIElement apps). Use the same custom
NSWindow pattern as AboutView with window.level = .floating.

v0.14.0

24 Mar 21:05

Choose a tag to compare

Replace DistributedNotificationCenter IPC with XPC (XPCListener/XPCSe…

v0.13.0

24 Mar 17:48

Choose a tag to compare

Fix docs to match actual sketchybar integration and CLI behavior

Rewrite integrations.md code blocks to match the working dotfiles:
jq-based payload parsing, popup device picker, proper show_off()
cleanup, correct click handler. Fix cli.md set command to mention
manual mode switch.

v0.12.0

19 Mar 21:32

Choose a tag to compare

Remove unused import and deduplicate version formatting

v0.11.0

19 Mar 15:46

Choose a tag to compare

Fix mute toggle not silencing mic and not posting status

Two bugs fixed:

1. toggleMute used native kAudioDevicePropertyMute which sets a flag but
   doesn't actually silence all devices (e.g. MacBook Pro Microphone).
   Now always mutes by setting volume to 0, which reliably silences the
   mic. Native mute flag is set as a supplementary signal.

2. The mute CoreAudio listener was never registered because
   AudioObjectHasProperty returns false for wildcard elements. Now checks
   with elementMain but registers listener on elementWildcard (same
   pattern as the volume listener).

Also fixes CLI version showing 0.0.0-dev when invoked via symlink by
resolving the real executable path to find the enclosing .app bundle.

Adds debugging docs for mute issues and stale process after brew upgrade.

v0.10.0

19 Mar 15:26

Choose a tag to compare

Replace deprecated URL.appendingPathComponent and .path APIs

Use appending(path:)/appending(component:) and .path(percentEncoded:)
which replace the deprecated variants from macOS 13+.

v0.9.0

19 Mar 10:44

Choose a tag to compare

Switch to native menu style, add About window, and namespace notifica…

v0.8.0

19 Mar 09:11

Choose a tag to compare

Extract Config module, fix listener leak, harden UI and signal handling

- Extract config read/write into dedicated Config.swift with proper file permissions (0o700/0o600)
- Move device list CoreAudio listener from PopoverView to AudioMonitor to prevent listener accumulation on each popover open
- Fix Monitoring toggle double-fire by making it display-only (matching Login toggle pattern)
- Replace unsafe signal() with DispatchSource for async-signal-safe SIGTERM/SIGINT handling
- Use NSColor.labelColor instead of hardcoded black for dark mode support in menu bar icon
- Fix empty SF Symbol warning by using opacity instead of empty string
- Enable hardened runtime in codesign (--options runtime)
- Add app icon to README

v0.7.0

19 Mar 08:20

Choose a tag to compare

Replace notification-based config sync with file watcher and unify st…

v0.6.1

19 Mar 07:01

Choose a tag to compare

Fix login item status bugs

Stop force-re-registering as a login item on every launch, respecting
the user's choice in System Settings. Refresh the Launch at Login toggle
on popover appear so it reflects current system state.