mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-12 23:45:18 +00:00
34 KiB
34 KiB
Changelog
All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
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
- 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
- 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/KRTirtho/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/KRTirtho/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/KRTirtho/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
- 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
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/KRTirtho/spotube/issues/138)
- Downloaded Music is 0kb sized when lyrics are downloaded alongside (https://github.com/KRTirtho/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/KRTirtho/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/KRTirtho/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/KRTirtho/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/KRTirtho/spotube/pull/47)
Bug fixes
- Sequential playlist playback not working with latest webkit2gtk (https://github.com/KRTirtho/spotube/issues/46)
- Theme modification state doesn't persist (https://github.com/KRTirtho/spotube/issues/54)
- Wrong URI path for "Login with Spotify" tutorial (https://github.com/KRTirtho/spotube/issues/69)
- Card shadow showing in the background of TitleBar & Searchbar
v2.0.0
New
- Android Support https://github.com/KRTirtho/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
- 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/KRTirtho/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)
- 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/KRTirtho/spotube/pull/18)
- Mac OS's global appmenu's default APP_NAME replaced with Spotube
- location of back button on macOS (https://github.com/KRTirtho/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/KRTirtho/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
ListView
instead ofTableView
- Control Theme from settings manually
PageWindowTitleBar
now acts asappBar
Bug fixes
- Unsafe access to album art/artist/user Images with
.first
or.last
causing accessing empty List error url_launcher
's unstablecanLaunch
method 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
- 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)
- 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
Bug fixes
- 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 found
Error 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
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
- Youtube search & get handled using scrape-yt