Skip to content

Release 0.4.1

Latest

Choose a tag to compare

@github-actions github-actions released this 02 Jan 18:06
· 2 commits to main since this release

Release v0.4.1

📝 Changelog

Minor Changes

  • Added playlist browsing and add-to-playlist functionality
    • Added "Playlists" option to right-click context menu for browsing user playlists
    • Created PlaylistView to browse playlists and play tracks from them
    • Added "+" button to LayoutB for adding the current song to any playlist
    • Implemented AddToPlaylistModal component for quick playlist selection
    • Added Spotify API functions for fetching playlists and adding tracks
  • Integrated TOON format for AI DJ tool responses to reduce LLM token usage
    • Added @toon-format/toon dependency for Token-Oriented Object Notation encoding
    • Updated all Spotify tool responses to use TOON format for track and artist data
    • Track data now uses compact format: n=name, a=artists, u=uri
    • Artist data now uses compact format: n=name, g=genres, p=popularity, id=artistId
    • Updated AI DJ system prompt to explain TOON format parsing
    • Expected token savings of 30-50% on structured data responses
  • Added Discord Rich Presence integration
    • Shows currently playing track on Discord profile
    • Toggle in Settings → Connections to enable/disable
    • Displays: Track name, Artist, "Listening to MiniFy"
    • Automatically updates when track changes or playback pauses
    • "View on GitHub" button linking to the MiniFy repository
    • AI Queue indicator: Shows "Artist • AI Queue" when AI Queue is active
    • Enabled by default
  • Enhanced AI DJ with automatic user context and privacy transparency
    • AI DJ now automatically sends user context with each message for better recommendations:
      • Display name, current time, currently playing track
      • Recent tracks (last 15), top artists with genres
    • Added privacy notice in Settings → Privacy explaining what data is sent to LLM providers
    • AI Queue info box now updates in real-time showing correct "Next" track and remaining count
    • Queue monitoring interval reduced from 5s to 3s for faster updates
  • Added AI Queue feature for endless automated playlists
    • New AI Queue mode that generates continuous playlists based on listening history
    • Analyzes last 30 played tracks and top artists using TOON format (saves ~40% tokens)
    • Automatically queues 5 tracks at a time with smart prefetching
    • Caches user preferences for 10 minutes to minimize API calls
    • Red border indicator when AI Queue is active (shows token usage)
    • Toggle in Settings > AI DJ to disable the border warning
    • Queue button in AI DJ view to start/stop the feature
    • Uses compact TOON data format for efficient LLM communication
  • Performance optimizations and Volume control feature
    • New Volume control accessible via right-click menu
      • Slider for precise volume adjustment (debounced for smooth operation)
      • Preset buttons for quick volume levels (Mute, 25%, 50%, 75%, 100%)
      • Shows current playback device name
    • PlaylistView: Implemented lazy loading - loads 30 tracks initially, loads more on scroll
    • Added lazy loading for album art images (loading="lazy")
    • SpotifyClient optimizations:
      • Token caching to avoid repeated Tauri invocations
      • Request deduplication for concurrent identical GET requests
      • Fire-and-forget pattern for player controls (play, pause, next, prev)
      • Debounced seek to avoid API flooding during scrubbing
    • AI Queue auto-stops when user manually starts a different song
    • TOON format verified across all AI-related code for token efficiency

Patch Changes

  • Code cleanup and improvements
    • Replaced dynamic imports with static imports in aiQueueService for better performance
    • Added error handling for AI suggestion JSON parsing with descriptive error messages
    • Fixed stale closure issue in PlaylistView loadMoreTracks callback
    • Removed unused SplashScreen component and related CSS animations
    • Removed unused ContextMenu component
    • Fixed linter warnings in keyboard shortcuts switch statement
  • Added keyboard shortcuts for quick navigation
    • Ctrl+S: Open Search
    • Ctrl+P: Open Playlists
    • Ctrl+E: Open Settings
    • Ctrl+M: Open Volume Control
    • Ctrl+D: Open AI DJ (when configured)
    • Escape: Return to player view
      Shortcuts are displayed in the right-click context menu.

📦 Commits since v0.4.0

  • feat: add discord_rpc_enabled setting to readSettings function (6acc54a)
  • refactor: improve AI queue and playlist handling (bdfac29)
  • feat: integrate AI Queue and Discord RPC features (f4b2319)
  • chore: update development URLs in env.example (76356be)
  • chore: update README to include Discord link (e0f5be1)
  • chore: refine Dockerfile for MiniFy Docs build process (bb7e04d)
  • chore: update Dockerfile for improved asset handling (94bc15a)
  • chore: update Dockerfile and .dockerignore for improved build process (d3c490d)
  • chore: delete changesets after release v0.4.0 (b5856ee)

This release was generated automatically using GitHub Actions.