Changelog
Release history for WolfWave
Changelog
All notable changes to WolfWave are documented here.
v2.0.0 — Unreleased
Added
- Song Requests — viewers request songs via
!sr <song>in Twitch chat; plays through Music.app with no focus-steal on the streamer's screen !queue/!myqueue— show the full queue or a viewer's own requests in chat!skip/!next— mod-only skip current request!clearqueue— mod-only wipe the queue (with confirmation)!hold/!resume— mod-only hold mode; requests buffer without auto-playing so the streamer can curate before releasing- Hold controls — Hold/Resume button in Queue settings view and menu bar toggle
- Music.app closed buffering — requests save when Music.app is closed, flush on relaunch
- Fallback playlist — plays a configured Apple Music playlist when the queue empties
- Song Request Queue UI — now-playing card, position badges, per-requester labels, and action controls
- Apple Music onboarding step — MusicKit authorization during first-launch wizard
- Per-user limits, subscriber-only mode, command aliases, and enable/disable toggles per command
Changed
- Music playback via AppleScript + focus preservation — Music.app never steals focus from OBS or streaming tools
- MusicKit used exclusively for search/resolve, not playback
v1.2.0 — April 4, 2026
Added
- Docs landing page — redesigned as a dark, streamer-focused marketing page
- Theme-aware favicon — automatically switches between light and dark mode
- Shared UI components — reusable settings components for a more consistent look
Changed
- Music architecture — refactored to a pluggable source system, laying groundwork for future music sources beyond Apple Music
- AppDelegate decomposed — split into focused extensions for maintainability
- Logger — streamlined format with local time and emoji prefixes
- Widget settings — compact 2-per-row layout, auto-sizing dropdowns
- Settings UI — unified headers and test buttons across Discord & Twitch sections
Fixed
- Settings window not appearing when opened from menu bar in menu-bar-only mode
- 4 Xcode build warnings (actor isolation and unreachable code)
- Widget favicon broken reference
v1.1.0 — March 31, 2026
Added
- 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)
- Launch at Login — new toggle in Settings → App Visibility. Uses SMAppService, appears in System Settings → General → Login Items
- Custom DMG background — installer window has a polished dark background with WolfWave brand colors
- Homebrew auto-update — GitHub Actions now automatically opens a pull request on the Homebrew tap on new releases
Fixed
- iTunes Search API URL encoding — track/artist names with &, +, or = no longer break artwork lookups
- Launch at Login toggle now reverts if SMAppService registration fails
v1.0.2 — March 31, 2026
Fixed
- App icon missing in CI-built releases
- Sparkle updater unable to detect new versions (build number now incremented per release)
- Sparkle initialization race condition fixed
v1.0.1 — March 30, 2026
Changed
- Dropped Intel (x86_64) support — Apple Silicon only
- Raised minimum macOS version to 26.0 (Tahoe)
- Logger: replaced NSLock with serial DispatchQueue for thread-safe file I/O
- TwitchChatService/DiscordRPCService: documented thread safety patterns
- KeychainService: added error logging for all Keychain operations
- AppConstants: cached GitHub repo resolution
- Migrated TwitchViewModel and OnboardingViewModel to @Observable macro
- WhatsNewView: dynamic version string, native button style, v1.0.1 feature highlights
- Narrowed entitlements file exception path
- Added Twitch user ID redaction to log output
- 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 to fix layoutSubtreeIfNeeded warning
- Removed duplicate "up to date" alert (Sparkle handles it natively)
- Added VoiceOver accessibility labels across all settings and onboarding views
v1.0.0 — March 30, 2026
Added
- Native macOS menu bar app for Apple Music integration
- Real-time now-playing detection via ScriptingBridge
- Twitch chat bot with !song, !currentsong, !nowplaying, !lastsong, !last, !prevsong commands
- Discord Rich Presence with dynamic album art
- OBS stream widget via built-in WebSocket server
- Automatic updates via Sparkle (DMG) or Homebrew
- First-launch onboarding wizard
- macOS Keychain credential storage
- Bot command cooldowns and broadcaster bypass
- Settings UI with NavigationSplitView sidebar
- Diagnostic log export
For the full changelog, see CHANGELOG.md on GitHub.