spotube/CHANGELOG.md
2023-03-07 22:18:15 +06:00

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

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

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

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

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

v1.1.0

New

  • MacOS support https://github.com/KRTirtho/spotube/pull/7
  • Download currently playing track to /home/<user>/Downloads/Spotube (Linux, MacOS) or C:\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 of TableView
  • Control Theme from settings manually
  • PageWindowTitleBar now acts as appBar

Bug fixes

  • Unsafe access to album art/artist/user Images with .first or .last causing accessing empty List error
  • url_launcher's unstable canLaunch 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