# 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.