Files
shark/CHANGELOG.md

2.8 KiB

Changelog

[0.1.0] - 2025-10-05

🎉 First Alpha Release

This is the very first usable build of Shark! - a retro Windows 98-styled music player and downloader. It's rough around the edges and likely contains uncaught bugs, but the core functionality is working.

Features

Local Library Management

  • SQLite-backed library cache with automatic scanning
  • Album views with cover art
  • Track listing and playback

Music Player

  • Now playing panel with playback controls
  • Volume control with triangle slider
  • Queue tracks from context menus
  • Can show synced lyrics when the window is enlarged
  • Can be hidden or shown

Deezer Integration

  • Browse and download user favorites (tracks, albums, playlists)
  • Search for tracks, albums, and artists
  • Playlist caching with SQLite
  • Alternative format fallback for unavailable lossless content

Download Queue

  • Track and playlist downloads progress
  • Automatic audio decryption
  • Metadata tagging (ID3 for MP3, FLAC tags)
  • Cover art embedding
  • Existence checks to avoid re-downloading

Lyrics

  • Automatic lyrics fetching during downloads
  • LRCLIB integration for manual lyric fetching
  • Scan library for missing lyrics

UI/UX

  • Windows 98 (ish) dark theme throughout
  • Custom window decorations for OS parity
  • Bottom status bar for notifications
  • Onboarding prompts for folder selection
  • Double-click interactions

Known Limitations

  • This is an early version - expect bugs and rough edges
  • Limited error handling in some edge cases
  • UI polish needed in various areas
  • Some features may not work as expected
  • Breaking changes likely in future releases
  • Lack of loading state means pages initially show no data
  • No dynamic routes for artists (yet)

Known Bugs

  • Context menus show inappropriate options sometimes
  • Now Playing section causes layout jitter on nav
  • Now Playing section causes title bar vertical shift
  • Batch lyrics downloading is less reliable than individual
  • Track scrubbing causes lyrics desync
  • Stopping (not pausing) a track and starting the same one resumes progress
  • Album year is not populated in Library table
  • Not all tables clip text overflow in certain columns
  • Album fetching edge cases (Doja Cat and K/DA)
  • Download interruptions don't always clean up temp files
  • LRCLIB service page indexes temp folder

Technical Details

  • Built with Tauri 2 + SvelteKit 2 + Svelte 5
  • Rust backend for audio processing and decryption
  • SQLite for caching and library management
  • File-based storage (FLAC/MP3 + metadata)
  • Playlists are stored as .m3u8 files with relative paths to tracks

Notes

This release represents 5 days of development and ~80 commits. The app is functional enough for basic use but still has plenty of rough edges. Use at your own risk and expect possible breaking changes as development continues.