Skip to content

Releases: ModioStudio/MiniFy

Release 0.4.1

02 Jan 18:06

Choose a tag to compare

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.

Release 0.4.0

01 Jan 22:48

Choose a tag to compare

Release v0.4.0

📝 Changelog

Minor Changes

  • Added AI DJ feature with multi-provider support
    • Integrated Vercel AI SDK (OpenAI, Anthropic, Google AI, Groq)
    • AI DJ chatbot accessible via right-click context menu
    • Natural language music control and recommendations
  • Added comprehensive Spotify tools for AI DJ
    • Search and play tracks via natural language
    • View recently played and top tracks/artists
    • Analyze music taste (energy, mood, tempo, danceability)
    • Get smart recommendations based on listening history
  • Added active status for Music and AI providers
    • Display AI model names in provider cards
    • Renamed "Music Services" to "Music Provider"
    • Added "Active" toggle for providers
    • Active providers show highlighted border
  • Moved AI API keys to secure system keyring
    • Keys stored in OS credential manager (not plain text)
    • Windows: Credential Manager, macOS: Keychain, Linux: Secret Service
    • Added Rust commands for secure key management
    • Updated clear-auth script to remove AI keys from keyring

Patch Changes

  • Expanded documentation with comprehensive technical details
    • Added detailed OAuth PKCE authentication flow documentation with diagrams
    • Enhanced security documentation explaining keyring storage and credential management
    • Expanded AI DJ documentation with architecture, tools, and data flow diagrams
    • Updated architecture documentation with comprehensive system diagrams
    • Improved desktop overview with feature matrix and application flow
    • Enhanced installation and quick-start guides with troubleshooting sections
    • Updated contributing guide with workflow diagrams and code style guidelines
    • Added detailed settings and custom themes documentation
    • Improved consistency across all documentation articles

📦 Commits since v0.3.0

  • fix: handle missing API key in getActiveProviderWithKey function (1a9cbc4)
  • chore: update README and enhance theme documentation (283f135)
  • chore: update environment configuration and enhance documentation (b6574cd)
  • chore: enhance AI integration and update documentation (53b0047)
  • chore: delete changesets after release v0.3.0 (254dcb6)

This release was generated automatically using GitHub Actions.

Release 0.3.0

01 Jan 15:55
a16afe4

Choose a tag to compare

Release v0.3.0

📝 Changelog

Minor Changes

  • Added "Choose Music Provider" screen with Spotify, Apple Music, YouTube Music options
  • Implemented secure PKCE OAuth flow with local callback server
  • Auto-opens browser for Spotify login, no manual token copy needed
  • Added state validation and XSS protection for OAuth callbacks
  • New "Connections" tab under Theme Studio showing connected music services
  • Spotify connect/disconnect functionality with status indicator
  • Apple Music and YouTube Music placeholders (coming soon)

Patch Changes

  • Added pnpm desktop:clear to reset auth data for testing
  • Supports Windows (cmdkey), macOS (security CLI), Linux (secret-tool)
  • Improved error handling with platform-specific messages
  • Semi-transparent backdrop on Boot screen matching Settings style
  • Moved SplashScreen animations to global CSS
  • Converted SplashScreen to named export

📦 Commits since v0.2.3

  • chore: add @changesets/cli to devDependencies in package.json (0f772b6)
  • chore: refine authentication handling and improve splash screen experience (32b3b10)
  • chore: enhance desktop authentication and splash screen animations (bf2b8e2)
  • chore: update package.json and desktop scripts for authentication and theme enhancements (6136b1e)

This release was generated automatically using GitHub Actions.

Release 0.2.3

31 Dec 00:03

Choose a tag to compare

Release v0.2.3

📦 Commits since v0.2.2

  • chore: update public key injection to use plugins configuration (3ca49ba)
  • chore: remove outdated Tauri key files and update public key injection path (c94609d)
  • chore: delete changesets after release v0.2.2 (64c7c9d)

This release was generated automatically using GitHub Actions.

Release 0.2.2

30 Dec 23:48

Choose a tag to compare

Release v0.2.2

📝 Changelog

Minor Changes

Added new Workflows

Patch Changes

  • Updated release workflow to include .sig files for all platforms
  • Signature files enable secure auto-updates verification

📦 Commits since v0.2.1

  • chore: automate deletion of consumed changesets in release workflow (fedc5a9)
  • chore: enhance release workflow to include artifact signatures (efa1c64)

This release was generated automatically using GitHub Actions.

Release 0.2.1

30 Dec 23:36

Choose a tag to compare

Release v0.2.1

📝 Changelog

Minor Changes

Added new Workflows

📦 Commits since v0.2.0

  • chore: update tauri build command to include script execution (b9ba0e8)
  • chore: update macOS build configuration in release workflow (2938f79)
  • chore: update package.json and pnpm-lock.yaml for changeset integration (5fcbb27)

This release was generated automatically using GitHub Actions.

MiniFy v0.2.0

30 Dec 22:41

Choose a tag to compare

Automated release for MiniFy v0.2.0

MiniFy v0.1.0

28 Oct 22:53

Choose a tag to compare

Automated release for MiniFy v0.1.0