Skip to content

Releases: MrDemonWolf/wolfwave

WolfWave v1.2.0

05 Apr 01:58
4bfa87f

Choose a tag to compare

What's New in v1.2.0

Added

  • Docs landing page — redesigned as a dark, streamer-focused marketing page with brand identity
  • Theme-aware favicon — docs site SVG favicon automatically switches between light and dark variants based on system appearance
  • Shared UI components — extracted reusable ConnectionTestButton, SectionHeaderWithStatus, InfoRow, and ConfigRequiredBanner for consistent settings UI across sections

Changed

  • Music playback architecture — refactored to a pluggable source system (PlaybackSourceManager + PlaybackSource protocol), laying the groundwork for future music source support beyond Apple Music
  • AppDelegate decomposed — split monolithic delegate into focused extensions (+MenuBar, +Services, +Windows) for maintainability
  • Logger format — streamlined to local time (HH:mm:ss.SSS) with emoji prefixes for faster scanning in Xcode console
  • Widget appearance settings — reorganized into a compact 2-per-row layout; dropdown pickers now auto-size to content
  • Discord & Twitch settings — unified section headers and connection test buttons using shared components
  • Code quality — added MARK sections and DocC comments across 12+ files for better Xcode navigation

Fixed

  • Settings window not appearing on screen when opened from the menu bar while in menu-bar-only mode
  • @MainActor isolation for Twitch bot callbacks
  • 4 Xcode build warnings (actor isolation and unreachable code)
  • Widget favicon broken reference path

Full Changelog: v1.1.0...v1.2.0

WolfWave v1.1.0

01 Apr 04:09
a9f64d0

Choose a tag to compare

What's New in v1.1.0

Discord Buttons

Rich Presence now shows two clickable buttons: Open in Apple Music (direct track link) and song.link (opens on Spotify, YouTube Music, Tidal, and more). Buttons appear whenever a track link resolves, even if artwork isn't available.

Launch at Login

New toggle in Settings → App Visibility. Uses SMAppService so it shows up in System Settings → General → Login Items. Enabling it automatically switches "Dock Only" mode to "Dock and Menu Bar" so the app is always reachable.

Custom DMG Background

The installer window now has a polished dark background with WolfWave brand colors and a drag-to-Applications arrow.

Homebrew Auto-Update

A GitHub Actions workflow now automatically opens a pull request on the Homebrew tap whenever a new release is published — no manual cask bumps needed.


Fixed

  • iTunes Search API URL encoding — track/artist names containing &, +, or = no longer break artwork and link lookups
  • Launch at Login toggle now reverts if SMAppService registration fails

Install

Homebrew (recommended):

brew tap mrdemonwolf/den
brew install --cask wolfwave

DMG: Download WolfWave-1.1.0.dmg from Assets below, open it, and drag WolfWave into Applications.

Updating via Homebrew: brew upgrade --cask wolfwave

WolfWave v1.0.2

31 Mar 02:45
2c03d13

Choose a tag to compare

Bug fix release addressing app icon, Sparkle updater, and initialization issues.

Fixed

  • App icon missing in CI builds — Added pre-built .icns fallback for CI runners using Xcode 16 (which can't compile Xcode 26's .icon format)
  • Sparkle updater not detecting new versions — Build number (CURRENT_PROJECT_VERSION) now increments with each release so the appcast version comparator works correctly
  • Sparkle initialization race — Restored synchronous Sparkle setup instead of deferred async block that could race with app lifecycle

Install

Download WolfWave-1.0.2.dmg below, open it, and drag WolfWave to Applications.

Or install via Homebrew:

brew install --cask mrdemonwolf/den/wolfwave

WolfWave v1.0.1

31 Mar 00:37
cd1bdb1

Choose a tag to compare

Production readiness release — code review fixes, modern Swift patterns, and accessibility.

Highlights

  • Apple Silicon Only — Dropped Intel (x86_64) support
  • macOS 26 (Tahoe) — Minimum OS version raised from 15.0
  • Security Hardened — Tighter entitlements, credential lock protection, Twitch user ID log redaction
  • Full Accessibility — VoiceOver labels, hints, and values across all settings and onboarding views

Changed

  • Logger: replaced NSLock with serial DispatchQueue for thread-safe file I/O
  • TwitchChatService: added credentialsLock for all credential and callback properties
  • DiscordRPCService: fixed deinit race condition, added callbackLock for closures
  • KeychainService: added error logging for all Keychain operations
  • Migrated TwitchViewModel and OnboardingViewModel to @Observable macro
  • AppConstants: cached GitHub repo resolution (no longer recomputes on every access)
  • WhatsNewView: dynamic version string, native button style, v1.0.1 feature highlights
  • Narrowed entitlements file exception path for Discord IPC
  • NotificationCenter observers properly cleaned up on app termination
  • Windows (Settings, Onboarding, What's New) properly released on close
  • Deferred Sparkle/onboarding init past initial layout (fixes layoutSubtreeIfNeeded warning)
  • Removed duplicate "up to date" alert (Sparkle handles it natively)
  • WebSocket welcome message now reads version from bundle metadata
  • showWhatsNew() now properly activates app in menu-only mode
  • Added accessibilityIdentifier to key UI elements for UI test stability

Install

Download WolfWave-1.0.1.dmg below, open it, and drag WolfWave to Applications.

Or install via Homebrew:

brew install --cask mrdemonwolf/den/wolfwave

WolfWave v1.0.0

30 Mar 17:36
7843db4

Choose a tag to compare

WolfWave is a native macOS menu bar app that bridges Apple Music with Twitch, Discord, and stream overlays.

Highlights

  • Apple Music Detection -- Real-time now-playing via ScriptingBridge with fallback polling
  • Twitch Chat Bot -- !song, !currentsong, !nowplaying, !lastsong, !last, !prevsong commands with configurable cooldowns
  • Discord Rich Presence -- "Listening to Apple Music" status with dynamic album artwork
  • OBS Stream Widget -- Built-in WebSocket server for browser source overlays
  • Automatic Updates -- Sparkle-powered updates for DMG installs; Homebrew Cask users update via brew upgrade --cask wolfwave

Features

  • First-launch onboarding wizard (Welcome, Twitch, Discord, OBS Widget)
  • Twitch OAuth Device Code authentication
  • Bot command cooldowns (global + per-user, broadcaster bypass)
  • Channel validation via Twitch Helix API
  • macOS Keychain credential storage (no plain-text tokens)
  • Settings UI with sidebar navigation (Music Monitor, App Visibility, Twitch, Discord, OBS Widget, Advanced)
  • App visibility modes: menu bar only, dock only, or both
  • Diagnostic log export and full reset in Advanced settings
  • Discord auto-reconnect with exponential backoff
  • Twitch auto-reconnect with network path monitoring

Install

Download WolfWave-1.0.0.dmg below, open it, and drag WolfWave to Applications.

Or install via Homebrew:

brew install --cask wolfwave