mirror of
https://github.com/KRTirtho/spotube.git
synced 2026-11-04 10:13:59 +00:00
126 KiB
126 KiB
Changelog
[Unreleased]
Fixes
- server/StreamProxy: Prevent GoogleVideo CDN HTTP 403 Forbidden by injecting
Referer: https://www.youtube.com/and browserUser-Agentheaders ongooglevideo.comandyoutube.comproxy requests, preserving stream range headers (Range,If-Range) and filtering hop-by-hop headers. - newpipe/RealNewPipeAudioAPI: Fix YouTube video ID extraction when
track.externalUricontains YouTube URLs (v=,youtu.be,/embed/,/shorts/) instead of passing raw Spotify track IDs to video info lookups. - newpipe/RealNewPipeAudioAPI: Improve track matching and scoring for Topic channels, VEVO uploads, and official variants with relaxed duration bins, and fall back to top relevance search result when confidence scoring yields no candidates
\ge 0.3. - newpipe/NewPipeService: Implement native YouTube radio mix extractor (
RD{videoId}) across commonMain, androidJvmMain, and iosMain platforms. - audioplayer/DeviceAudioPlayerQueue: Add native YouTube radio mix fallback for endless playback queue continuation when metadata recommendations fail or are unauthenticated.
6.0.0-beta.0 (2026-10-26)
Features
- Migration to Compose Multiplatform
- Add ChipTab component and refactor SearchScreen to use it
- Add AutocompleteTextField component and integrate it into SearchScreen
- Enhance AutocompleteTextField with focus management and dropdown behavior
- Enhance AppSidebar with improved button interactions and visual feedback
- Implement endless playback recommendations in DeviceAudioPlayerQueue
- Add GhostIconButton component and enhance button interactions in TrackList
- Replace IconButton with GhostIconButton in AppExpandedPlayer and AppLargePlayer for improved visual consistency
- Replace IconButton with GhostIconButton in PlayerQueueContent and PlayableCard for visual consistency
- Enhance UI components with LocalBaseUITheme for consistent styling and improved interactions
- Enhance button styles and interactions in Buttons and Theme components for improved UI consistency
- Simplify highlight implementation in UI components for improved readability and maintainability
- Add genre selection and tabs to HomeScreen for improved content navigation
- Implement artist overview screen with loading, error handling, and pagination for albums, related artists, and featured playlists
- Add genre and featured browsing capabilities to MediaBrowseHelper
- Implement playlist creation and editing functionality with UI components
- Add 'Add to Playlist' functionality with UI components and dialogs
- Add Toggle component and update UI to use it in place of Switch
- Implement settings section cards for updates, desktop, language, caching, and plugins
- Update icons in settings sections to use Iconsax library for improved UI consistency
- Replace FeatherIcons with Iconsax in PluginCard and PluginPermissionsDialog for improved UI consistency
- Refactor PluginPermissionsDialog to use custom UI components for improved consistency and readability
- Enhance UI with shared element transitions and improve state management in album and playlist screens
- Integrate Uniffi for audio metadata reading and writing with Lofty library
- Replace FeatherIcons with Iconsax in window controls and update sidebar with better design
- Implement haze effect and UI enhancements in AppLargePlayer and AppShell
- Enhance haze effect integration in AppShell and AppSidebar for improved UI experience
- Add adaptive dialog bottom sheet component and enhance plugin installation UI
- Enhance AdaptiveDialogBottomSheet with dismiss icon and improve plugin screen layout
- Implement CollectionView component and refactor Album, Playlist, SavedTracks screens for improved UI consistency
- Add current time management in AudioPlayer for improved playback control
- Simplify playback control logic in AudioPlayer by removing redundant state checks
- Introduce AudioPlayerInterface and refactor AudioPlayer implementations for better abstraction
- Update skipToNext and skipToPrevious methods in AudioPlayer for improved media item management
- Refactor LyricsViewModel to use AudioPlayerInterface for improved abstraction
- Add Discord Rich Presence integration for enhanced media playback visibility
- Implement System Tray integration for window management and media controls
- Add hover effect to menu items in System Tray for improved user experience
- Add SSH debug session setup on failure for improved troubleshooting
- Implement blacklist functionality for tracks and artists with UI updates
- systemtray: Self-manage tray lifecycle via Koin DI
- plugin_interfaces: Update Maven publishing configuration and add GitHub Actions workflow
- plugin_discovery: Implement GitHub plugin discovery and add logo support in UI
- plugin_discovery: Implement GitHub plugin discovery and add logo support and information dialog in UI
- plugin_install: Add plugin installation dialog and release fetching functionality
- Update dependencies and configure compose hot reload settings
- Improve NewPipe video rank matching
- Integrate Nucleus framework for enhanced window management and webview support
- Implement system tray functionality with Compose Native Tray integration
- mediacontrol: Implement SystemMediaControlService for OS media integration
- devices: Add device discovery and remote control features
- deeplinks: Implement deep link handling for jam sessions
- remote-control: Implement remote playback functionality and UI components
- remote-control: Enhance queue management and player state synchronization
- remote-control: Enhance remote playback functionality with new commands and UI integration
- webrtc: Update ICE server configuration and enhance logging for peer connection events
- jam-session: Add connection state management and update UI feedback for session status
- jam-session: Enhance jam session functionality with improved playback synchronization and error handling
- remote-control: Refactor service registration and cleanup logic for improved reliability
- jam-session: Integrate MQTT broker configuration and enhance jam session settings
- jam-session: Implement track addition to jam session and enhance UI feedback for jam state
- jam-session: Enhance guest functionality with track addition and participant moderation options
- release: Add support for Linux ARM64 builds and artifact uploads
- player-options: Add PlayerOptionsViewModel and enhance player UI with options menu
- player-options: Enhance options menu with localized strings and icons
- jam-settings: Implement JamSettings screen and view model for broker configuration
- Refactor track source management to support plugin-specific caching and retrieval
- Implement shuffle play functionality for albums, playlists, and saved tracks
- navigation: Refactor sidebar and bottombar navigation structure with new tab and group models
- search: Enhance LazyRow with drag scrolling functionality
- autocomplete: Simplify focus management and remove unused key event handling
- update: Implement update checker with dialog for available updates
- update: Refactor update checking mechanism and implement new dialog for app and plugin updates
- scrobble: Implement ScrobbleManager to handle track scrobbling and integrate with audio player
- welcome: Implement onboarding flow with multiple pages and donation options
- previews: Add comprehensive previews for UI components including sliders, toggles, checkboxes, and text fields
- settings: Add 'About' section and improve header visibility in settings sections
- surface: Implement Frutiger-Aero themed surfaces with glass and acrylic styles
- ui: Replace Scaffold with BaseScaffold for consistent surface theming across screens
- ui: New custom surface integration on all components
- onboarding: Enhance welcome screen with structured guide steps and improved layout
- player: Add content descriptions for play, pause, and add to queue actions
- support: Implement support reminder dialog and donation options
- player: Refactor artist display and improve search field labels
- search: Enhance search functionality with recent search suggestions and improved UI components
- sidebar: Adjust spacing in sidebar and setting cards for improved layout
- jam: Implement group jam functionality with UI components and state management
- library: Enhance library UI with new tab titles, filtering options, and improved state management
- library: Add Library screen list mode beside grid mode, Local Track, Download screen, Local Library folders dialog visual improvement
- ui: Integrate LocalTextStyle for dynamic tinting in player controls and UI components
- navigation: Add custom navigation transition specifications for push and pop actions
- i18n: Replace hardcoded strings with localized resources across multiple components
- plugin: Implement MetadataPluginGuard to manage plugin dependencies and user prompts
- ui: Replace IndeterminateProgress with new loading components and enhance dialog structures
- ui: Update MillenniumModalBottomSheet with compact padding and spacing adjustments
- plugin: Add login prompt for metadata plugin access and implement authentication view model
- user-agents: Implement dynamic user agent fetching and caching mechanism
- lyrics: Implement SyncedLyricsList component and enhance LyricsViewModel for better state management
- server: Implement port fallback mechanism for playback proxy server
- window: Implement window state persistence and restoration
- Enhance Android build configuration with stable/nightly flavors and update launcher icons
- graalvm: Enable GraalVM native image support and update packaging configurations
- local-tracks: Implement LocalFolder screen and view model for folder navigation
- navigation: Implement fade-through and stack transition animations for navigation
- remote: Redesign remote control and devices screens, fix connection issues
- Download diagnostics, live connect status, remote settings on devices screen
- Enhance loading states for various UI components and update dependencies
- packaging: Flathub, AUR, WinGet and Chocolatey publishing
- plugin: Implement automatic plugin updates and enhance JSON parsing
Bug Fixes
- newpipe: Fallback to muxed streams if no audio stream is available
- Dismiss search dropdown and keyboard on submission
- Custom image helper null exception
- plugin: Reload Zipline service on same-version replace
- Convert buildCurrentMediaItemList to a suspend function for coroutine support
- Enhance Discord RPC connection management with cooldown and error handling
- Cached track audio not being invalidated causing alternative track source to not being played
- Play next not working
- Update pendingNextIndex when playing a track from the playlist
- webview: Linux webview crashing the app
- Add mavenLocal() to plugin and dependency resolution management
- plugin: Handle service closure exception during authentication check
- sidebar: Add spacer to AppSidebar for improved layout
- remote-control: Update connection handling and improve logging for remote control events
- Add window insets to top bar and bottom navigation bar, queue sheet
- stream-proxy: Stream upstream audio instead of buffering the whole track
- newpipe: Fall back through multiple searches when ISRC search misses
- audio-api: Enhance fallback mechanism for text search results in YouTube
- audio-player: Android shuffle wasnt working
- stream-proxy: Improve logging for cache timeout and handle disconnection scenarios
- macos: Add GraalVM runtime dependency and initialize GraalVm in main function
- android: Create intermediate directories for Rust targets to prevent runtime errors
- android: Update sharing functionality to use chooser intent with new task flag
- android: Simplify service start logic for PlaybackService to avoid crashes on background playback
- android: Update playback state management to ensure guests follow host's play state
- android: App stuck on splash screen from main-thread string loading
- downloads: Respect download format/quality and never save manifests or video
- ios: Run Zipline on an 8 MiB stack thread
- server: Don't crash when the proxy port is still in use
- ios: Stream formats AVPlayer can play
- gradle: Restore VFS watch setting and clean up properties
- build: Restore version catalog lost in dev merge
- ios: Make the login WebView identify as Mobile Safari
- Update website URLs from spotube.org to spotube.cc
5.1.2 (2026-06-05)
Bug Fixes
- newpipe: Fallback to muxed streams if no audio stream is available
- Dismiss search dropdown and keyboard on submission
- Custom image helper null exception
5.1.1 (2026-02-24)
Bug Fixes
- Upgrade NewPipeExtractor to latest version fixing playback issue
- Lyrics not working
5.1.0 (2025-11-14)
Features
- Show plugin source and set the only plugin as default if no plugin is there
- playback: Add dab music source
- playback: Add uncompressed flac playback support
- Add plugin audio source models and api service
- plugins: Filter plugins by abilities in plugins page and show abilities as badge
- plugins: Filter plugins by abilities in plugins page and show abilities as badge
- Add setting default audio source support
- Move away from track source query and preferences audio quality and codec
- Add NewPipe support for desktop platforms
- Add default plugin loading capability
- queue: Add multi-select and bulk actions to queue (#2839)
- android: Add 16KB page size support
Bug Fixes
- Change plugin download directory to application support
- playback: Play next not working
- Downloaded tracks are not tagged with metadata
- Download not working in different devices and slow
- playback: Use stream instead of chunked serving of audio bytes
5.0.0 (2025-09-08)
Features
- Add ISRC track search for YouTube (#2594)
- Add new icons #2676 by @alexio-dev (#2678)
- Add connect confirmation dialog
- Add metadata api service and models
- metadata-plugin: Add pagination support, feed and playlist CRUD endpoints
- metadata-plugin: Add local storage api
- Add webview, totp and setInterval apis for plugins
- Enhance local storage and webview APIs with improved error handling and resource management
- Enhance local storage and webview APIs with improved error handling and resource management
- metadata_plugin: Add logout method
- Update plugin configuration with more fields
- Implement metadata plugins based on hetu
- Update models to match hetu_spotube_plugin signature
- Add user endpoint calls in metadata and paginated async notifiers
- Add playlist endpoint and providers
- Add albums metadata endpoint and provider
- Add artist and album providers
- Add track endpoint for metadata service
- Remove green corp names formally
- metadata: Add plugin form
- Add support for entity specific search
- Enhance image handling
- Add support for automatic plugin repository from github and codeberg
- Use isolate for youtube_explode engine
- Add repository and plugin API version fields to metadata plugins
- Update new pipe version
- metadata: Add plugin update checker and dialog for available updates
- Optimize track options and related artists
- Add plugin scrobbling support and support button
- Add ErrorBox and NoDefaultMetadataPlugin components
Bug Fixes
- Calling /track/:streamId endpoint causes active sourced track to be anything
- mobile: Dialogs in bottom sheet are not opening
- Default accent color is orange but it shows blue in settings
- Artist images are not loading up
- CVE: Remote path traversal through websocket when devices are on same network
- Endless playback not working
- android: NewPipe invalid search content filters
- Make YoutubeExplode engine faster
- Create and delete playlist not working
- Local track not working and images of local not showing up
- Local playback not working for tracks with special # (hashtag) characters
- Inaccessible streaming url causing rapid skips
- yt: Fallback to different search result if all streaming url is inaccessible
- yt: Fallback to different search result if all streaming url is inaccessible
- playback: Skip network requests if cached file already exists
- Yt-dlp playback not working and add partial support for HLS streaming
- Windows webview2 environment permission issue
- playback: Play not fetching full playlist if playlist is too long
- track_options: Tapping on option doesn't close the menu
- playback: Alternative track sources switch not working
- ui: Lyrics white text in white background and small player buttons
Translation
- Add Traditional Chinese translation (#2762)
- Fix Japanese translations (#2732)
- Correction of the dutch language (#1306)
4.0.2 (2025-03-16)
Bug Fixes
- invalid access token exception #2525
4.0.1 (2025-03-15)
Bug Fixes
- android: navigation overlaying in app navigation
- add to playlist not working in smaller screen devices
- language picker search broken
- generate_playlist: create playlist not adding tracks nor navigating to playlist page
- desktop: double titlebar in local library folders and massive space in overlay player
- generate_playlist: create playlist not adding tracks nor navigating to playlist page
- desktop: double titlebar in local library folders and massive space in overlay player
- lastfm form broken in other locales #2447
- spotify login broken due to new totp requirement #2494
- spotify authentication 429 errors
Features
- local_library: add support for x-flac, opus and x-wav
- translation: add tagalog language support #2504
- translation: add tamil translation for spotube #2501
4.0.0 (2025-03-07)
Changes
Bug Fixes
- SafeArea for global bottom items not working
- SafeArea not working for bottom floating widgets
- youtube video unplayable issue and use more ytClients
- ios: downloads not working due to permission errors (#2180)
- remove automaticallyImplyLeading from root tabs
- android: back button not working and safe area issues
- duplicates in recent section
- youtube source taking too long to buffer
- youtube tracks keeps skipping despite being matched correctly
- follow artist not working #2057
- youtube_explode_dart failing for many videos due to youtube ios client visitor data change
- youtube_explode_dart failing for many videos due to youtube ios client visitor data change
- piped api not working
Features
- android: home widget support (#2148)
- rewrite entire app in shadcn-ui replacing material eww
- grid/list customizable playbutton view
- flag to hide spotify generated images with patterns
- show placeholder images where there is no item or on empty page
- pause playback when no internet connection
- implement yt-dlp for desktop and NewPipeExtractor for Android (#2316)
- custom piped & invidious instance support
3.9.0 (2024-12-08)
Changes
Bug Fixes
- UI glitch when loading more user artists and albums
- selecting an Alternative Track Source removes the current song from the queue #2039
- mobile: ensure audio session is activated when playback is resumed after interruption #2092
- selecting an Alternative Track Source removes the current song from the queue #2039
- mobile: ensure audio session is activated when playback is resumed after interruption #2092
Features
- add invidious audio source and fix auto skipping tracks (#2005)
- track caching and cached track export support (#2117)
3.8.3 (2024-10-09)
Changes
Bug Fixes
- update youtube_explode_dart to 2.2.3 to fix no playback (#1980)
Features
- macos: enable same window webview support
3.8.2 (2024-09-30)
Changes
Bug Fixes
- endless song loading issue and no playback #1925
3.8.1 (2024-09-15)
Changes
Bug Fixes
- translations: correct some basque incorrect translations (#1815)
- lyrics: LRCLIB lyrics should be usable without logging in #1803
- playlist displaying descriptions unescaped html #1784
- android: pressing back while the player is open doesn't take to previous page
- android: pressing back while the player is open doesn't take to previous page
- handle dublicated items in playback queue correctly #1852
- desktop: scrollbar overlapping with more options of tracks and playlists
- discord: stop discord rpc from try update presence when not connected
- stats: minutes page shows plays and streams page shows minutes which should be the opposite #1880
- stats: minutes page shows plays and streams page shows minutes which should be the opposite #1880
- android: clears queue upon swiping away notification
- player: shuffle button state resets after closing page #1657
- getting started page login page exception #1800
- mobile: queue doesn't persist
- local tracks takes time to load
- start radio not working #1629
Features
- desktop: show error dialog if webview is not found on login #1871
- manually detect and define touch behavior #1763
3.8.0 (2024-06-06)
Features
- translations: make state page's hard coded strings translatable (#1719)
- discord: add listening activity type
- discord: album art, playing time and play pause support (#1765)
- linux: Use XDG_STATE_HOME to storage logs (#1675)
- discord rpc for macOS, windows-arm64 and linux-arm64 (#1713)
- desktop: implement webview based login
- stats: add lazy loading support
Bug Fixes
- translations: fix Russian translations (#1696)
- ios: permission exception
- linux: tray icon wrong name for flatpak
- windows: app crashes when no internet
- windows: local tracks plays but disabled playback controls
- go to track album shows up for local tracks
- local track metadata timeout
- windows: window stretching #1553
- android: app getting killed from background
- linux: OS Media control not working for Flatpak #1627
- incorrect datatype used for MPRIS position property #1521
- Too many artists for a track causing overflows
- playlist share button does not work #1639
- unescape html escape values #1300
- lyrics page doesn't scroll to top after song ends #885
- changed source doesn't get saved and uses the wrong once again
- null exception in album page navigated from /home
- popup menu item opacity
- linux: change app id in flatpak environment
3.7.1 (2024-06-06)
Bug Fixes
- alternative sources not showing up for SongLink matched results (37d002d)
- android: Media Controls not working above Android 14 #1561 (3394c1b)
- browse anonymously button takes to wrong route (73c5b30)
- desktop: titlebar drag to move not working (5f280a1)
- desktop: window is not centered (47f98b9)
- ios: download not working #1575 (6591ec0)
- linux: application window not visible after launch (8fc44ed)
- local track not showing up in queue (d82261c)
- use weak match for Jiosaavn fallback to improve matching (6cb2986)
- windows: media controls not showing up #1542 (d7d864f)
- windows: revert Flutter version to 3.19.6 to avoid distortion #1553 (982cf0b)
3.7.0 (2024-06-03)
Features
- local library folder cards (fc5bfa0)
- Local music library (#1479) (22caa81)
- personalized stats based on local music history (#1522) (82307bc)
- play initially available tracks of playlist/album immediately and fetch rest in background #670 (02acbd9)
- player: add volume slider floating label showing percentage (#1445) (8fad225), closes #1310 #1311 #1082 #1171 #1082 #1082
- translations: add Basque translation (#1493) (dbc1c45)
- translations: add Finnish translations (#1449) (edc997e), closes #1310 #1311 #1082 #1171 #1082 #1082
- translations: add georgian language (#1450) (1e7f0e1)
- translations: add Indonesian translation (#1426) (0280654), closes #1310 #1311 #1082 #1171 #1082 #1082
- translations: Improve tr locales (#1419) (bf45681), closes #1310 #1311 #1082 #1171 #1082 #1082
- upgrade to Flutter 3.22.0 (71341ec)
Bug Fixes
- fallback to LRCLIB when lyrics line less than 6 lines #1461 (9aea354)
- linux: tray icon not showing #541 (7ac7917)
- local track not showing up in queue (d82261c)
- macos: Logs directory not created by default #1353 (4ca8939)
- playback: skipping tracks with unplayable sources instead of falling back #1492 (c607a33)
- search: load more button not working #1417 (7e07c2e)
- some text are garbled in different parts of the app #1463 #1505 (d2683c5)
- spotify friends and user profile icon (mobile) showing when not authenticated #1410 (9bccbc9)
- updater: dead link (#1408) (6907f9c), closes #1310 #1311 #1082 #1171 #1082 #1082
- windows SSL Certificate error breaking login #905 (#1474) (937a706), closes #1468
- windows: installer tries to install in current directory (c3c9fc5)
3.6.0 (2024-04-15)
Features
- add Spotify homepage personalized recommendations (#1402) (9e25c74)
- add user profile page (39e97ee)
- android: Filter Device To Force High Frame Rate (#880) (6e41b10)
- improved caching based on riverpod (#1343) (6673e5a)
- LAN connect a.k.a control remote Spotube playback and local output device selection (#1355) (68374ef)
- lyrics: add LRCLIB lyrics provider as fallback (5afe823)
- search history support #1236 (82b1cfa)
- translations: Add Czech translation (#1401) (5a6b800)
- translations: add Thai Language (#1319) (b70f250), closes #1310 #1311
Bug Fixes
- instance of Artist bug #1362 (c8dd802)
- playback: sponsor block skips and stutters in same position (0d080b7)
3.5.0 (2024-03-08)
Features
- add endless playback support #285 (9dfd49c)
- add getting started page (96a2a1f)
- Add iOS background play support (#1166) (095587e)
- add songlink based track matching for youtube and open song link button (9095a8c)
- playlist: show confirmation before deleting user playlist #1222 (9f92440)
- Sort by Duration (#1238) (6f8271f)
- start radio support (4defeef)
- translations: add Korean translation (#1275) (fdea930)
- translations: Added Vietnamese (#1135) (019ba86)
- windows: Install Visual C++ 2015-2022 Redistributable if missing when installing (ba69496)
Bug Fixes
- album images are small in certain places (ca76a39)
- album, artist page not loading #1282 (a9a1d4c)
- android: audio issue when screen is off and broadcast audio session id (#1221 & #1247) (17105a6), closes KRTirtho/spotube#571
- android: only ask battery optimization once #1252 (e516afb)
- android: pressing back button in any other tab other than home exits the app (c3289a0)
- android: system back button in player page exits the app (3294f65)
- cleanTitle removing feat and ft from words instead of whole words (8612345)
- friends list not scrollable with mouse drag (ab08c82)
- no draggable scrollbar in playlist/album page #1158 (6f71e52)
- non-banger songs breaking the queue if sources not found (90f7c53)
- track loading when not found in Youtube (e964f61)
- translations: Update app_nl.arb (#1168) (8167963)
3.4.1 (2024-01-27)
Features
- add create playlist button in add playlist dialog (2168a64)
- add spotify friends activity (#1130) (7983932)
- deep-link: add track opening page (988a975)
- haptic feedback on long press and reordering actions (6242200)
- improve youtube/piped matching by suffixing "- Topic" (8184555)
- translations: add Nepali (नेपाली) translations (#1111) (c3ebf56), closes #1074 #1100
Bug Fixes
- alternative searched sources doesn't play #1059 (a8e9b82)
- alternative source doesn't persist on next restart #840 (62fde50)
- android: download failing for permission issues #1015 (5509cae)
- artist page error #1018 (8cd650b)
- audio resumes after a phone call even if it was paused before #926 (fd1899f)
- better error message for failing to find lyrics #1085 (e58e18d)
- Black window flash when starting the app (#1003) (02e44fc)
- linux: crash after login (0dfd401)
- macos: backbutton and window button overlap and unused empty space on home (b9417ca)
- macos: download folder unchangeable (9d74cf5)
- macos: Respect Minimize to tray option (#1001) (69559ba)
- macos: system tray shows name and sidebar weird gap #1083 (27057ea)
- releases section is empty when user doesn't follow any artists #1104 (682e88e)
- search page vertical scrollbar moves on horizontal scroll #1017 (c203ac6)
- songs doesn't play when sources with preferred audio codec is empty (#976) (ba4e11a)
- track index not showing after 200 (a752cf4)
- track pad horizontal scrolling not working (59e0e6b)
3.4.0 (2023-12-30)
Features
- Add Go to Album option in track option #917 (b0beeca)
- translations: add Italian language translations (#818) (e4eb0e2), closes #676 #676
- compact genre view in home page (82ed5e9)
- Deep link support (#950) (4050f55)
- improve loading animations (b92583d)
- toggle for discord rpc (24a2294)
- translations: add Dutch Language (#969) (3ad7ba6)
Bug Fixes
- add safe area in home (9ee6067)
- amoled mode and color scheme can't be changed (840e014)
- doesn't minimize to tray when system title bar close button is used #866 (bb8f250)
- genre border issues (2fb16e6)
- Incorrect "Artist" label/heading on Search Results Page #920 (f86d544)
- metadata not getting added for YouTube tracks #916 and Wrong duration of downloaded tracks #912 (a7b9398)
- Playlist refresh not working #915 (5f1df5a)
- track view header title overflow and player view drag glitch (b04d884)
- wrong artist name sent while scrobbling #958 (dcbe729)
3.3.0 (2023-11-27)
Features
- Add JioSaavn as audio source (#881) (14069cd)
- android: better quick scroll/drag to scroll implementation (2e2c44f)
- artist: modularize page and add wikipedia section (2a69886)
- discord RPC integration #98 (88b8785)
- mini_player: show/hide lyrics #851 (dcbb156)
- paginated playlist and album page (28a5d6b)
- translations: add Turkish translations (0c22469)
Bug Fixes
- "Add () to Playlist" option not showing in favorited playlists #904 (96021e1)
- 0:00 media duration in queue after application restart #782 (83c0b49)
- Add to Playlist Dialog memory leak #817 (fed36ec)
- album_card: show loading state during adding track to queue/play (5633367)
- alternative track source safearea overflow #876 (7b72a90)
- android invalid download location Download not starting or not explaining error #720 (d056dbf)
- changed settings are not persisting after force stop #821 (e29a38d)
- check for unsynced lyrics and error handling for timed lyrics query (1d77556)
- genres: lag while scrolling (dc980b0)
- infinite list disappearing for a moment everytime new page is fetched (1334a62)
- last track of queue keeps repeating #718 (58e5698)
- Navigating to settings, redirects to home page #812 (da04f06)
- new releases section flickering on scroll glitch (ee94b7c)
- playbutton_card: annoying animation (574406d)
- scrobbling not working for first track or single track (0a6b54d)
- settings page scrollbar position (ee82290)
- shuffle doesn't move active track to top (4956bf3)
- spotube doesn't exit properly, hangs in infinite loop #768 (353ca79)
- trim login field padding (286ef83)
- use CustomScrollView for personalized page (7d05c40)
- user_playlists layout, track tile index, (487c2ed)
- windows: media control not working #641 (7818574)
3.2.0 (2023-10-16)
Features
- ability to select/copy lyrics #802 (0eb9ee8)
- add Amoled theme #724 (5c5dbf6)
- add audio normalization #164 (da10ab2)
- add restore default settings button (94c3866)
- configurable audio normalization switch (c325911)
- customizable stream/download file formats (#757) (e54762b)
- improve and unify the logging framework (#738) (c7432bb)
- LastFM scrobbling support (#761) (f5bd907)
- loading indicator for genre and personalized pages (ffe8d9c)
- manual offline detection (854ab89)
- show error dialog on failed to login (101c325)
- sliding up player support (083319f)
- swipe to open player view (#765) (9aee056)
- thicken the scrollbars & make 'em interactive for mobile (#764) (84a4bcd)
- translations: add Arabic Translations (#740) (38493f9)
- translations: add Farsi Translations (#760) (fe42cfe)
Bug Fixes
- add libmpv1 for ubuntu-based systems (#739) (5115e04)
- add xdg-user-dirs as deps (f3e331e)
- android : file_selector getDirectoryPath returns unusable content urls #720 (b3cf639)
- android: audio doesn't resume on interruption end (15d466a)
- android: system navigator back doesn't close player (20d7092)
- get rid of overflow errors & status bar dark color (5bb8231)
- keyboard shortcuts changing route but not update sidebar (2d93441)
- last track repeats (ed6ca00)
- minor glitches (e5d0aaf)
- not fetching all followed artists (#759) (c09a572)
- use audio_service_mpris plugin (e29cc25)
- valid non-ASCII characters get removed from downloaded file name #745 (a7e102f)
3.1.2 (2023-09-15)
Features
- player_queue: filtering track support (d4f99ec)
- right click to open track option (1540999)
- search loading animation (b9d5c70)
- show loading indicator on play track (d12ea48)
Bug Fixes
- add missing dependency in debian package (#704) (c987ea7)
- hour not showing for tracks longer than 60 minutes (#648) (de335f4)
- liked tracks card play not working (d3e1cef)
- limit cover image upload to allowed 256kb size (1c50612)
- playlist grey page (#707) (0df8d9c)
- rewind breaks track progress bar (#695) (e321743)
- Windows memory leak due refetchOnStale user-liked-tracks (#705) (142dc49)
3.1.1 (2023-08-28)
Features
- ability to toggle system title bar & custom title bar (#185) (8d46029)
- jump to specific time on lyric click (#590) (a14fb9e)
- paginated user albums (d239d64)
- translations: add Russian translation (#661) (e9a0911), closes #625
- translations: added Portuguese (Brazil) translation (#634) (76f30a0)
Bug Fixes
- always fetching SponsorBlock if no segments found & download failing (6ced0a0)
- debian bookworm invalid dependencies (633415d)
- disable android auto for playstore version :"( (0f0d240)
- infinite route push glitch (e90eceb)
- jump to track going to wrong track (190df17)
- last track of queue never plays & repeat playlist never works (c3c09f5)
- lyrics page text contrast (179d536)
- replace connectivity_plus with internet_connection_checker (f23e871)
- sanitize song title for file name (#644) (1a7ea0c)
- sorting by date crashes app (#551) (48e90a4)
- window size remains same after exiting mini player (#618) (fb36003)
3.1.0 (2023-08-18)
Features
- add android auto media session control support (0f5748a)
- better track matching on youtube API (904a0d3)
- blazingly™ fast download manager (#619) (38dc4be)
- paginated user playlists (e7c6813)
- show error dialog on piped API 500 error (c69f81e)
- translation: add catalan translations (#621) (c94e5ba)
- translations: add polish translation (#631) (f90e9be)
- web compatibility (cf7b849)
Bug Fixes
- always showing play in playlist/album views (8521cc5)
- android: android 13 local tracks not showing up (e3f4344)
- default to youtube API by default (5a8a1e4)
- generate playlist page max width (4adf695)
- tracks doesn't change when ended (aa4ac86)
- windows media controls not working (ae5edd1)
3.0.1 (2023-08-04)
Features
- Force High Refresh Rate on some Android devices (#607) (6dff099)
- translations: add spanish translations (#585) (042d7a4)
- translations: add Simplified Chinese translation. (#556) (26dbd52)
Bug Fixes
- alternative track source textfield safe area (b8c6d7e)
- avoid sponsor block for first few seconds to not break the stream (d8cf2ae)
- cache segments casting error (dfd60bd)
- duration is always zero in PlayerView (4885dca)
- flags not showing up and html in descriptions (5a563ef)
- linux: crash when no secret service provider found (#608) (888a4b1)
- login dialog stays after login, mention sp_gaid in tutorial (b492840)
- album_sync: negative index exception in update palette (#561) (0089d47)
- remove adaptive widgets (#520) (e4cbdd3)
- shuffle not working (#562) (dc76634)
- track not skipping to next even when source is available (0b7affd)
3.0.0 (2023-07-02)
Features
- adaptive controllers (c8b7de0)
- adaptive popup and bottom sheet list widget (ddc1c5f)
- add generated to playlist(s) (c91d8c8)
- add german locale (ba3f428)
- add piped search mode (17a25a5)
- add sleep timer support (4a75f3d)
- adjust lyric page blurriness and player playbutton (54d5907)
- album art dominant color as accent color (#447) (31b9249)
- android: add splash screen (c232fcc)
- android: disable battery optimization for better playback (fe5b429)
- artist card redesign (92a418c)
- Better download manager with download progress (6752adc)
- better language picker, adaptive select tile and settings section contrast (6430a25)
- cache encryption for sensitive data (b110d83)
- color scheme picker dialog vertical list view instead of wrap (bb60b01)
- compact and adaptive playbutton card design (eeb8cab)
- compact button tabbar (67380f6)
- create a basic installer script (1763a36)
- curved navigation bar (776edf8)
- custom error toast (96f04c1)
- custom playlist generator (f4b0d13)
- desktop mini player support (471812d)
- desktop: close button for minimize notification (1688f99)
- desktop: show minimized to system tray notification (296f96c)
- disable/enable smtc on demand (7fa50e5)
- download button on each track (925fa86)
- enable caching of queue (ec11af5)
- heart button animation (8432dc6)
- improved track item API and UI (617aa89)
- installer: get latest version from Github API (957c085)
- local_tracks: delete local track (#484) (52835b2)
- locale category/genre title (88137f0)
- locale: add bengali translations for search page (a1cdbad)
- locale: localize search, library, lyrics, artist with both Bengali and English (11fe9ec)
- locale: player, playlist view, track tile bengali and english translations (c55133d)
- localize settings, about, login, player queue with Bengali and English translations (a5c36bb)
- logs page in settings (b78e7f5)
- macos title bar spacing and lyrics page margin separate (a0b3771)
- make snackbar floating (9dbb817)
- merge floating player with nav bar and nav bar translucent bg (a90261e)
- mini_player: remove window shadow (6259014)
- mini_player: show/hide UI on hover toggle (2e8b647)
- new sidebar widget and translucent bottom player (4ba1e70)
- newly released albums of user followed artist (33cb794)
- optimize image load + genre page and reduce page size of loaded categories (7131efa)
- persistent volume percentage (3724bd5)
- personal playlist recommendations (ae820a2)
- piped instance picker on settings (bed0d3b)
- platform specific title bar buttons (6267720)
- playback: integrate android, ios, macos with JustAudio (d487fe5)
- playback: use assets_audio_player to fix macos double duration problems and android high loading latency (1fff0f1)
- player details dialog and separate location of lyrics button in player page (ce38233)
- player: add playlist related methods to audio player (f1080e1)
- player: animated gradient background (49b5d0e)
- player: custom playlist implementation for media_kit to replace unpredictable playlist of mpv (eaf65b6)
- player: proper coloring of elements (b2c4ea1)
- player: replace bg blur with gradient, proper fg color and align title and artist name (159f03e)
- playlist create support for generated playlist (91c72f9)
- playlist generation all parameters support (9877d5f)
- playlist,album page: play and shuffle take full width on smaller screens, add new xs breakpoint (dce1b88)
- queue: add track(s) for playing next (#460) (cac8ea6)
- queue: reorder tracks support (441b43b)
- re-designed playlist/album page (0cedc7a)
- re-introduce youtube API along with piped (b54ee96)
- reactive volume slider and slicker bottom bar with lowered height (9d14517)
- remove SponsorBlock in favor of YT Music and remove pocketbase backend track support (fb780da)
- repeat button all 3 mode and disable player controls when track is fetching (1418378)
- replace YouTube API with piped API (1ecc36d)
- responsive playlist generate page and scrollable multi autocomplete (d57aad5)
- search alternative track source (dfea195)
- setup localization (l10n) and language switcher, add sidebar and navbar locale (f12d812)
- show album release year (#387) and fix layout of artist's album (6a6ddf6)
- show country code piped instance list (60328a6)
- show loading when track metadata is being fetched, android, ios, macos enable shuffling (bf59570)
- sort tracks by newest and oldest dates (b4713e3)
- supabase integration (8bcce92)
- system tray support (#31) (06a0437)
- track populate sibling support (3aeb026)
- translation: add hindi and french translations using ChatGPT (6d836bd)
- translation: add Japanase locale (4b52a71)
- use system color scheme (862c4b8)
- volume slider in player page (7abe2c1)
- windows OS media control panel support (f0b426a)
Bug Fixes
- add to playlist dialog not showing playlist name (8944581)
- album sync not working (74906f3)
- alternative track source not playing new source (a9b5a71)
- android: use multi assetAudioPlayer instance fix patch and disable Pre-download and play by default in Android too (cdb3268)
- artist: follower count shows as float when < 1000 (#482) (fd1846e)
- bottom navbar first item icon color not changing on primary color change (6eb4244)
- cached currently playing track infinite loading (9401718)
- cached queue tracks expired stream (ed29ab5)
- collection currently playing state persist on restart (1c89e3e)
- color not syncing and add new screenshot (6205501)
- content going below bottom player or nav bar (1bdce9f)
- disable background_downloader due to android build failures (7d23bee)
- disable play when loading track and buffering event (30c933c)
- error log (e3d8239)
- excessive repaints caused by Player progress bar (09b24cf)
- failed download no error icon (1266a3f)
- home: bottom player transparency (20c424c)
- language changer not working (7b7b1f2)
- less frequent position updates (0a49b56)
- linux mpris not showing up and overall media notification service (1abcad1)
- local tracks getting fetched on first load (73c012c)
- local tracks not working when there's a invalid music file in the folder (5855820)
- lyrics page blur in player and cut off text when line too big (6b4584e)
- macos build by removing media_kit native event loop (62fc773)
- macos build error, mobile player duration and playing state and background disposal of player (be91e33)
- macos,ios: use regular shared prefs (1b5bfec)
- memoize child of animated widget and make player bg animation faster (fcb5c8f)
- mini player not working in release mode (28ff321)
- mkPlayer: remove method and wrong active index on modifying playlist (3bafa7b)
- mobile audio notification not working (8f9303b)
- multiple instance of theme (4ec0424)
- navigation to settings not working (ce10aa1)
- no progress update when track changed (6ae8964)
- null exception on proxy playlist and audio player (a455a89)
- overflowing clickable artists links (4077fac)
- personalized playlists not loading (caa3408)
- playback not moving to next track after a track ends (27e8acb)
- player: gradient bg not taking full height (62ad86e)
- player: playback element placement (5e47faa)
- player: queue button not showing when not logged in (6c2d655)
- player: volume slider, prefetching of media_kit and stuttering on sponsorblock skip (1f32554)
- playlist generate slider shape (2b35c04)
- pop sheet list not scrollable (cca5625)
- re-enable add to queue and play next support, favorite button query exceptions (e529c79)
- re-enable download manager (ea45c4f)
- remove unnecessary broadcast stream conversions (bf04962)
- remove useBreakpoints as it clogs up memory with unnecessary state updates (e1c0f5c)
- replace download multiple pops and add translations (4a21249)
- screen breakpoints and persist lyrics delay across screens (df79638)
- sidebar task counter badge and bottom player play button progress color (af278d8)
- status bar color of playlist/album page (65fa3cb)
- system color scheme not persisting on restart when system color scheme changed (e04515d)
- track collection view status bar not transparent (9251121)
- track doesn't play after change (17e5ab6)
- track stops at last second (f554f6d)
- track_collection_view: keyboard focus on scroll and no space for search results in playlist/album (7a8bd92)
- track_table_view table headers (d88d287)
- track_tile active and blacklist color, playbutton card action positioning (3f5a1b9)
- use id based source getters instead of index (a074463)
2.7.1 (2023-04-10)
Bug Fixes
- fallback for lyrics when anonymous (f160ec7)
- android: audio notification stuck in play state (448c9b3)
- macos: crashing on startup (c46b428)
- spotify query hooks overriding default query params (ec9a02e)
2.7.0 (2023-03-07)
Features
- add or remove track, playlist or album to queue support (b8f3493)
- basic command line argument support (025c1ae)
- black list artist or track (947c143)
- bring pre download on desktop, disable pre download for long videos (1d82bb0)
- category/genre filter (1dfec05)
- centralized icon collection with new icon set and nav bar labels hidden (e7acb9e)
- compact search bar for genres and user_local_tracks page (c343ccc)
- compatibility with fl-query nextPage method change (7617439)
- configure pocketbase, generate dart types, update playback to use server instead of hive cache (ad90c11)
- failsafe pocketbase requests, removal of unneeded preferences options & vertical playbutton actions (d68d150)
- home: personalized section (9080441)
- individual shuffle and repeat/loop button of player (f79223c)
- lyrics: use official spotify API for fetching lyrics and add zoom controls (10d0660)
- mobile: pull to refresh support in all refreshable list views (9f959ce)
- new logo and compact search in playlist/album in mobile (dc96cb3)
- search/filter tracks inside playlist or album (a06cd0d)
- show snackbar on adding playlist or tracks to queue (6bc1d32)
- theme: use material3 monet for colors and remove background color preference (60ede5f)
- use catcher to handle exceptions (84d94b0)
- use typed assets instead of hard coded paths (59561ab)
- user local tracks searchbar (e7f3f4e)
- user-library: filtering support for user albums and user artists (0b58155)
- user-library: search for user playlists (af4d56f)
Bug Fixes
- about: license text hidden in the bottom of smaller screen devices (e158dd0)
- about: wrong link of License (a4a7f1a)
- genre and sidebar user logo not loading (710f172)
- lyrics modal sheet out of safe area so use 80% of screen height instead of full (3db28f4)
- lyrics not changing on track change (c809d2d)
- lyrics not refetching when tracked changed while being in another page and sidebar user avatar not showing on startup (bd12675)
- macOS logo placement (c6a5d5f)
- mobile track collection search bar position and page_window_title_bar exception on mobile platforms (d0aaa97)
- play_overlay: show progress indicator on song loading (7803a48)
- playback: not skipping track's sponsorblock segments (60a5847)
- playbutton card play state not changing (ee46d09)
- playbutton_card: play and add to queue needs 2 clicks work (bdd7098)
- playbutton_card: play and non play state correction (b327ffb)
- playbutton_card: title text overflow (39ee0a9)
- playbutton: playing state is not updating when playlist is actually playing (9bad8c9)
- player_queue: large clear button and macos exception (0e43504)
- playlist_queue: load method not preserving the active track before filtering blacklisted tracks (42b3e11)
- pre downloading not working properly, audio service circular deps and sibling not loading for backend track (3ccb525)
- search track play button isn't working (0751f5e)
- search: grey screen, only tracks update on new search string, playlists,albums,artists show up before hitting return/submit (a774817)
- search: has to submit twice for search results (f5dc76a)
- titlebar maximize+restore button not working and less responsive title bar buttons (8a6ba3b)
- track_collection_view: hide search bar when sliver is collapsed (3d6d244)
- track_tile: cannot see track index above 99 (78b3273)
- track_tile: track action popup not showing on narrow screens (0c54f2d)
- ui: scaffold exception in fluent_ui (8ce2192)
- use chosen market for new release (c6bf9b6)
2.6.0 (2022-12-09)
Features
- add selected tracks to playlists, optimistic playlist remove track (3386dac)
- added shuffle button in playlist and album section (1fad95f)
- android-playback: option to download track bytes and play instead of Streaming (dcc8ba5)
- change default platform option and platform specific back button (36c5e02)
- dialog logo for macos, settings more width for country picker (5e96913)
- initial platform_ui integration (9eee573)
- libadwaita theming, track tile and PlayButtonCard play button icon fix (e795e23)
- lyrics: tabs for both synced and static lyrics #182 (6b6907a)
- new refined about page, update checker only check for same update channel (4cadfa9)
- pause track when seeking forward/back and keep audio session alive when paused/interrupted (bc8a04e)
- platform bottom navigation bar add (ff14469)
- platform slider and progress indicator integration (46b00ba)
- platform title bar buttons add (54048cb)
- playback: change current track youtube source panel and tooltips for player icon buttons (4b21cc8)
- Player and Playbutton theme respect to platform (512446d)
- player queue and sibling tracks platform decoration (39a7794)
- PlayerView: shortcut button for opening lyrics #273 (1d4847a)
- rename files to snake_case and reorganize folder structure (7c25e1c)
- replace all types of buttons with platform buttons (69739b4)
- rpm packaging support (067e9ac)
- search: infinite scroll for tracks, artists, playlists and albums (e6761a6)
- set platform to default platform on start up (472da6b)
- shuffle keep playing track at top, linux title bar drag no working (1223cf2)
- sidebar download count and proper progress color in playbutton (a10bc5b)
- static shimmer for track tile, playbutton card and track tile (3ed8b0f)
- tablet mode navigation bar & windows semi transparent bg, (3282370)
- title_bar: platform specific title bar (e659e3c)
- titlebar complete compatibility, platform specific login, library tabbar in titlebar (b3c27d1)
- use platform checkbox (2211505)
- window blur effect add (b0db5e7)
Bug Fixes
- ArtistCard: linux shadow (c186881)
- auth: refresh access token timer not working (b3ac5ca)
- bottom navigation bar settings tile not active when selected (43557e4)
- dialog logo in android, lyrics visible timer adjust button (3c6803b)
- heart button showing when not logged in, wrong login redirect (4dc26af)
- horizontal infinite lists doesn't fill the screen (69995be)
- ios dialog action buttons, local tracks crashing app, shimmer color and android wrong status bar color (90c1200)
- login: not working in android in Brazil or Ukraine regions (0b79a11)
- macos: black text in dark mode (fb9c0e4)
- macos: white text color in dark mode, text field white background (e086b52)
- mobile: SafeArea bugs and back button color (a8330ef)
- null exception in themes (9465d92)
- platform_ui local path (00d0d38)
- player view artist link when local playlist is playing, lyric delay adjust button alignment (ee5c417)
- remove windows background (6942964)
- search field ios dark icon , lyrics tabbar ios background color (be56ad4)
- settings Title alignment and play button card ripple effect in other platforms (3b6bf27)
- shuffle play logic (65cad07)
- small minwidth of window in desktop, linux wrong light theme accent color, search field transparent background (5b0e22c)
- tooltips of menu and adaptive pop up menu (261aaf1)
- update download dialog blocking the UI (3925f74)
- user playlists not updating after creating/deleting, artist follow not updating after follow/unfollow (6cc2a18)
- windows: windows global title bar (bd18f19)
2.5.0 (2022-10-13)
Features
- animated transition of root PageWindowTitleBar (ff35e06)
- auth: new authentication flow using cookies and webview in android (756b910)
- downloader: replace /skip all choice for downloaded tracks (88d7ce5)
- implemented go_route shell/nested route (3e498a4)
- keyboard shortcuts: play/pause on space, seek position on left/right (2734454)
- keyboard-shortcuts: home sidebar tab navigation and close app (8f258e7)
- smoother list using fl_query and waypoint (c77b0e1)
- sort tracks in playlist, album and local tracks (cb4bd25)
- use of smaller sized images in
TrackTile(0ca97b4) - volume slider mouse scroll and preference for Rotating Album Art #255 (edb6f3c)
Bug Fixes
- android: file_picker and permission_handler failure for sdk < 33 (139d4dc)
- cached local track is fetched from network (abf4a57)
- categories not showing for oauth exception (4df917e)
- desktop: maximized window size is stored and window maximized state doesn't persist (91d5d10)
- local audio doesn't get refreshed after getting permission (618c6da)
- no appropriate output when playlist is empty #201 (dbb81de)
- PlayerOverlay not hiding when not playing and unneeded bottom space in TrackTableView (0ebac05)
- web: not building due to metadata_god ffi (1191bf2)
2.4.1 (2022-09-13)
Features
- add macos audio metadata tags support (5866b0f)
- remove macos bounds for reading and writing audio metadata (16064f6)
- search: horizontal swipe scroll support for Desktop platform (d5ff927)
Bug Fixes
- artist-page: SpotubeMarqueeText used in ArtistCard crashes the app (4279541)
- layout: Fix adaptive UI not working correctly by providing a overriding option (8c7adde)
- local-track: throwing exception when downloadLocation is empty (1a3556d)
2.4.0 (2022-09-09)
Features
- Ability to change download location added (816707c)
- add download multi tracks support for mobile platform (0476bf7)
- add download queue for desktop & initial playlist download support (08f913e)
- add download tab on library (8d77b69)
- add web support although nothing works just as expected (2818ed5)
- broken: Broken Warning! Initial Local Audio Player (c3bf511)
- download: track table view multi select improvement, tap to play track support, existing track replace confirmation dialog and bulk download confirmation dialog (e217553)
- local-tracks: complete support for local tracks (e206f16)
- mpris: MPRIS metadata are now updated in realtime (d9addcd)
- playback: add repeat track support #166 (cae9993)
- synced-lyrics: animated active text size (531fae6)
- ui: adaptive TrackTile actions & Setting ListTile (615d5ce)
Bug Fixes
- adaptive-list-tile: dialog content not updating when content has changed (a1d4230)
- album & playlist card, player view and album view play button logic (55852bd)
- docs: indentions (4a291d5)
- downloader: downloaded track is corrupted for tagging (2ab1fba)
- downloader: flutter downloader exception on desktop platform and too much width of TrackTile index no. (d668760)
- dropped flutter_downloader deps due to slow download speed and UserDownloads not showing for anonymous (307a8e2)
- flutter_downloader manifest configuration breaking android support (f3a0f78)
- login screen not using safearea and no dialog bg-color found on light mode in AdaptivePopupMenuButton (92bc611)
- performance: always running marquee text causes high GPU usage #175 and UserArtist overflow on smaller displays (a23ce61)
- playback: shuffle button sometimes gets stuck and stops working #183 (4240433)
- player-overlay: flickering when a track is changed or navigated to another page (e48b67c)
- sidebar: user image url (747efc6)
- synced-lyrics: active lyrics contrast ratio (aba1ba9)
- tabbar overflow in small screen, artist card too small title and synced lyrics contrast increased (585de8c)
v2.3.0
New
- Playback Cache Support. So unfinished playlist and tracks remains cached & starts automatically when application is launched again
- Playback Cache Support. So unfinished playlist and tracks remains cached & starts automatically when application is launched again
- Login Screen guided tutorial about how to obtain Client ID & Client Secret
- Signed Android Application so now longer need to uninstall the old version for installing the new one
- Signed Android Application so now longer need to uninstall the old version for installing the new one
- OS Media controls for Linux. Keyboard media keys now work in Linux
- New better, consistent & predictable Audio engine with proper event firing support (https://github.com/team-spotube/spotube/pull/131)
- Custom Lyrics delay time. Can be used to delay negative amount of time too
- Playback Queue View support. Currently playing tracks or playlist can be viewed or changed from it or for doing other actions too (https://github.com/team-spotube/spotube/issues/126)
- Android SeekBar support in Notification Panel & Lock Screen
- New Blur background design adapted to multiple components including Floating Player, Player View & Lyrics Tab
- New HighContrast Color Scheme addition which reduces battery consumption on OLED or AMOLED display devices (https://github.com/team-spotube/spotube/issues/137)
Improved
- Loading screens & animations. Now uses Skeleton Loading
- Playlist & Album Pages now show Album Art & extra metadata as Header with vibrant gradient background in a Sliver
- Playback is now more consistent & the API is simpler. Also its the single source of truth for AudioPlayback instead of the AudioServiceHandler
- Playlist & Album Pages now show Album Art & extra metadata as Header with vibrant gradient background in a Sliver
- Playback is now more consistent & the API is simpler. Also its the single source of truth for AudioPlayback instead of the AudioServiceHandler
- Android Statusbar background color is now adaptive & less glitchy
- Home Genre playlists can be scrolled horizontally by dragging with mouse even in Desktop edition
- Track match Cache support for previously played tracks. This dramatically reduces track change latency & load on the YouTube search engine too
- Home Genre playlists can be scrolled horizontally by dragging with mouse even in Desktop edition
- Track match Cache support for previously played tracks. This dramatically reduces track change latency & load on the YouTube search engine too
Bug Fixes
- API rate limits inside TrackTile for multiple Follow queries at once
- Player doesn't stop when Application is exits or closed
- First Track of Playlist doesn't load sometimes
- Download Button doesn't show done symbol when track is already saved (https://github.com/team-spotube/spotube/issues/138)
- Downloaded Music is 0kb sized when lyrics are downloaded alongside (https://github.com/team-spotube/spotube/issues/122)
v2.2.1
Improved
- Page transitions defaulted to material you design
Bug fixes
- Mini Player flickering on random state updates
- Track More Options not showing when not logged in
- Wrong link to Client ID & Client Secret tutorial in Login page
- Changing preferences in Settings resets the entire Playback
v2.2.0
New
- Update checker
- Share options for playlists & track
- Android Skip to Next/Previous track from notification/lockscreen (https://github.com/team-spotube/spotube/issues/91)
- Custom Accent Color Scheme support (Dark + Light)
- Custom Background Color Scheme support (Dark + Light)
- User customizable Audio Quality Option
- User customizable Track Matching Algorithm Option
- Material 3 Design Language and Flutter 3.0
- Caching in Playlists, Album, Search, Playlist Categories, Artist Profile & Lyrics
- M1 Mac support via MacOS Universal Binary (untested) (https://github.com/team-spotube/spotube/pull/87)
Improved
- Authentication is now persistent (no more re-login)
- Settings Page. Shows application details in About Dialog
- Playlist Create Dialog Scrollable
Bug fixes
- private playlists of current user aren't shown fix (https://github.com/team-spotube/spotube/issues/92)
- refresh token error causing re-login (culprit: internal lib spotify-dart)
- Typo in Login instructions URL
v2.1.0
New
- Synced Lyrics (with fallback genius lyrics)
- Playlist create/delete
- Add/Remove tracks to own playlists
- Custom YouTube track search term template
- Downloading lyrics along with a track (can be toggled)
- Customize Marketplace location
Improved
- Spotify track to youtube track algorithm
- Genius lyrics matching algorithm
- Download track. Checks if already exists & replaces on user command
- Wide screen responsiveness & adaptation
- Bigger Title display (replaced word-break with Marquee Text for better visibility) (https://github.com/team-spotube/spotube/pull/47)
Bug fixes
- Sequential playlist playback not working with latest webkit2gtk (https://github.com/team-spotube/spotube/issues/46)
- Theme modification state doesn't persist (https://github.com/team-spotube/spotube/issues/54)
- Wrong URI path for "Login with Spotify" tutorial (https://github.com/team-spotube/spotube/issues/69)
- Card shadow showing in the background of TitleBar & Searchbar
v2.0.0
New
- Android Support https://github.com/team-spotube/spotube/issues/24
- Responsive UI (Mobile, Tablet)
- Anonymous/Guest Account
- Mini floating player
- Full page PlayerView for smaller devices
- Horizontal CategoryCard Scroll & pagination for quicker access to Playlists
- Bottom bar for smaller devices
- Collapsed Sidebar for medium sized devices
- Persists Volume level
- Android NavigationPanel controls (OS media controls of Android)
Improved
- Search - now scrolls & paginates for Playlists & Albums
- Authentication - allows guest accounts making authentication optional
- Lyrics - can be fetched without requiring GeniusAccessToken. This makes geniusAccessToken optional
- Lyrics - can be fetched without requiring GeniusAccessToken. This makes geniusAccessToken optional
- UI snappiness & faster load times
- Simpler logic, faster calculations & better caching (flutter_hooks)
- shared state management - uses riverpod & hooks combination
Bug fixes
- Can't play any song in macos https://github.com/team-spotube/spotube/issues/23
- Downloaded tracks can't be played as they're WebAudio (.weba) instead of MP3
- delay while changing Playlist/Single tracks
v1.2.0
New
- Global custom reconfigurable hotkey support for playback controls (play-pause/next/previous)
- Global custom reconfigurable hotkey support for playback controls (play-pause/next/previous)
- Credit section in the Settings page with important links
Improved
- Macos support
- Genius (Lyrics Provider) access_token can be saved in the Login page too
- Better theme for dropdown-buttons
Bug fixes
- broken authentication IPC on Mac OS (https://github.com/team-spotube/spotube/pull/18)
- Mac OS's global appmenu's default APP_NAME replaced with Spotube
- location of back button on macOS (https://github.com/team-spotube/spotube/pull/21)
- windows titlebar buttons appears on Mac OS
- genius access_token not loading on initial app start
v1.1.0
New
- MacOS support https://github.com/team-spotube/spotube/pull/7
- Download currently playing track to
/home/<user>/Downloads/Spotube(Linux, MacOS) orC:\Users\<user>\Downloads\Spotube(Windows) - Play playlist from any song (index) instead of only the first track
- AlbumCard for showing album's metadata
- AlbumView aka show album tracks
- Play an album
- ArtistCard for showing artist metadata on the fly
- ArtistProfile for showing complete details of the artist
- Play artist's top tracks
- View Artist's "Fans also like" section
- Search page
- Play tracks from search result
- Click to open artist-profile/album everywhere in the application
Improved
- UserLibrary album & artist tab
- PlaylistView simplified layout with
ListViewinstead ofTableView - Control Theme from settings manually
PageWindowTitleBarnow acts asappBar
Bug fixes
- Unsafe access to album art/artist/user Images with
.firstor.lastcausing accessing empty List error url_launcher's unstablecanLaunchmethod blocks OAuth login in certain *nix OSs- Unsafe access to album art/artist/user Images with
.firstor.lastcausing accessing empty List error url_launcher's unstablecanLaunchmethod blocks OAuth login in certain *nix OSs- Refresh token gets revoked & doesn't get renewed automatically
v1.0.1
Improved
- Placeholder avatar for User section powered by dicebear.com
Bug fixes
- No fallback/placeholder image causing undefined behavior (#2)
- Unsafe access to empty List with List.first/List.last
v1.0.0
New
- Complete re-write in Flutter/Dart (
799e13c) - mpv & youtube-dl runtime dependencies dropped (
07b1891) - just_audio (libwinmedia + libwebkit2gtk-4.0-dev) + youtube_explode based playback & streaming
- just_audio (libwinmedia + libwebkit2gtk-4.0-dev) + youtube_explode based playback & streaming
- lyrics are provided by genius.com (requires access_token) (
d647d5e) - inno_setup based windows/win32 GUI installer (
dbf8a34)
Improved
- Lower RAM & CPU usage. 2x less RAM usage & 20% less CPU usage
- Faster playback & smooth track change with proper shuffling support
- Automatic Dark mode support (system)
- 54% smaller bundle size (after compression)
- Available through package managers in Linux (Debian, Arch, Flatpak & AppImage)
v0.0.3
New
- Automated installer for Windows (now doesn't require manual mpv-player install)
- Automated installer for Windows (now doesn't require manual mpv-player install)
- Playback caching
- Retry button for ManualLyricDialog
- Support for downloading track
- Redirect to youtube video by clicking on the title of the track
Improved
- Inapp Shortcuts.Now it doesn't interfere while typing in a input box in Search page
- Inapp Shortcuts.Now it doesn't interfere while typing in a input box in Search page
Bug fixes
- Cached image didn't get deleted after exiting certain cache limit fix. Cache gets recreated after exiting the limit
- Cached image didn't get deleted after exiting certain cache limit fix. Cache gets recreated after exiting the limit
v0.0.2
New
- Lyric Seek
- Support for images in playlist cards
- Infinite Query/Pagination support for Home & Genre pages
- Settings for configuring local configuration
Improved
- Home Page Layout. Fixes the jiggering of Playlist Links on hover
Bug Fixes
access_token not foundError after OAuth Login with Spotify credentials (used to need a restart of the app to load the access_token)access_token not foundError after OAuth Login with Spotify credentials (used to need a restart of the app to load the access_token)- Volume level wasn't cached even after changing volume
v0.0.1
Spotube v0.0.1 - initial release of the open source software for playing Spotify music using Youtube public API Spotube v0.0.1 - initial release of the open source software for playing Spotify music using Youtube public API
New
- Local playback handling
- Playback Queue
- Save to Liked Tracks/Playlists
- Bypass API rate limitation on basic usage using personal developer Apps for spotify API
- Bypass API rate limitation on basic usage using personal developer Apps for spotify API
- Youtube search & get handled using scrape-yt