Skip to content

v3.0

Choose a tag to compare

@nbolar nbolar released this 17 Mar 05:01
· 70 commits to master since this release

PlayStatus SwiftUI Transition Release Notes

Headline Changes

  • Rebuilt PlayStatus on SwiftUI while preserving Sparkle update continuity for existing installs.
  • Added a full onboarding and upgrade walkthrough with replayable guidance and contextual coachmarks.
  • Expanded player customization with theme presets, artwork motion options, progress-strip choices, and smoother mini/regular transitions.
  • Improved lyrics discovery, Apple Music and Spotify reliability, and playback-control responsiveness.
  • Reduced idle energy use and trimmed hidden UI memory so the app stays lighter when Settings, onboarding, or player surfaces are closed.

Onboarding and Upgrade Experience

  • Added a dedicated walkthrough window for fresh installs and returning-user upgrade tours.
  • Let users reopen the walkthrough from the app menu or Settings, with coachmarks that explain popover controls, detached mode, search, and Settings navigation.
  • Reworked walkthrough navigation so step changes are instant, scroll position resets cleanly, interactive cards read as clickable, and light-content surfaces keep proper contrast.
  • Simplified walkthrough preview rendering with lighter static cards and cached assets so onboarding stays responsive while the live playback model continues updating in the background.
  • Fixed the walkthrough's Settings action to use SwiftUI's native settings opener, improving reliability when jumping from the tour into configuration.

Player UI, Motion, and Personalization

  • Replaced the legacy AppKit player surface with a SwiftUI popover and detached-window experience built around regular and mini presentation modes.
  • Smoothed mini-to-regular and regular-to-mini transitions with cleaner crossfades, more stable resizing, synchronized artwork timing, and less jitter.
  • Added theme presets including Artwork Adaptive, Frosted, Midnight, Warm Studio, High Contrast, and Graphite, plus album-color blend controls for non-adaptive themes.
  • Added artwork motion options such as Parallax by Pointer, Vinyl Spin, and Film Grain Drift, alongside refreshed app, settings, Spotify, and Apple Music icons.
  • Added a menu-bar progress strip and new playback-progress presentation options in the player, with improved seeking feedback.
  • Improved mini-player layout, empty-state artwork alignment, popover contrast, hover-triggered controls, and detached-mode sizing behavior.
  • Added a gentle resume-volume ramp so output volume comes back more smoothly after playback resumes.

Lyrics, Search, and Provider Improvements

  • Strengthened the LRCLIB lyrics pipeline with faster retries, parallel lookups, clearer loading progress, and more reliable fallback handling.
  • Added a mini lyrics toggle panel and tuned lyric collapse, expand, scrolling, and resize behavior for smoother transitions.
  • Added direct LRCLIB actions in the UI and provider-aware search handoff so search requests land in the correct music service.
  • Fixed Apple Music search and play flows, Spotify metadata synchronization, playback controls, and status-bar popover layout/interaction issues.
  • Improved fallback artwork lookup against iTunes search results, reducing 403-driven misses and better matching the correct artwork when native art is unavailable.

Settings and System Controls

  • Expanded the SwiftUI Settings experience with audio output device selection, output volume and mute control, persistent cache management, animated artwork controls, theme selection, detached-window sizing, and Sparkle's "Check for Updates" action.
  • Fixed settings-window activation so configuration opens more reliably from the tour and from normal app flows.
  • Added a Debug Coachmarks toggle in Settings for re-arming the onboarding tip flow during QA or troubleshooting.
  • Kept update continuity intact for installed users by preserving the existing Sparkle feed and upgrade path into the SwiftUI codebase.

Performance, Efficiency, and Compatibility

  • Reduced idle energy draw by tightening metadata, lyrics, animated-artwork, and status-bar refresh behavior.
  • Lowered hidden memory usage by unloading heavy Settings content when the window is closed, deferring walkthrough artwork prewarming until onboarding actually opens, and clearing those preview assets again when the walkthrough closes.
  • Refactored the now-playing, walkthrough, settings, and provider code into smaller feature-specific units so the SwiftUI codebase is easier to maintain while preserving behavior.
  • Minimum supported platform is now macOS 15.0.
  • Apple Music and Spotify remain supported providers, and the project license is now MIT.