spotube/CHANGELOG.md
Kingkor Roy Tirtho 3aca7372af
chore: Release v3.7.0 (#1552)
* chore: fix analyzer issues

* fix(updater): dead link (#1408)

* docs: broken link in README.md (fixes #1310) (#1311)

* docs: remove appimage link in readme #1082 (#1171)

* Updating Readme according to #1082

Updating Readme according to #1082

* Added explanation

The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.

* Update use_update_checker.dart

---------

Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com>
Co-authored-by: Karim <37943746+ksaadDE@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>

* fix(linux): tray icon not showing #541

upgrade old packages

* fix(search): load more button not working #1417

* fix: spotify friends and user profile icon (mobile) showing when not authenticated #1410

* chore: add docker and m1 based linux arm build

* cd: fix sed failing us

* cd: use docker cask

* fix: windows SSL Certificate error breaking login #905 (#1474)

* fix: certificate error by using custom ssl certificate

* Cd/docker linux ar (#1468)

* cd: use docker buildx

* cd: use linux host for linux arm instead of macos m1

m1 doesn't support nested virtualization. (Apple truly sucks)

* cd: don't specify arch in Dockerfile

* cd: use custom Dockerfile from ubuntu instead of flutter image

* cd: add setup java for android

* cd: add flutter distributor pre-built docker image for arm

* cd: save me from this cursed arm build

* cd: ??

* cd: ??

* cd: use docker build

* fix: windows SSL Exception for Signing in

* refactor: extract update checker as a basic function instead of a hook

* cd: fix windows build error due to nightly version format

* cd: fix github versioning scheme

* chore:  remove assets/ca entry in pubspec.yaml

* fix(macos): Logs directory not created by default #1353

* refactor: Dart based Github Workflow CLI (#1490)

* feat: add build dart script for windows

* feat: add android build support

* feat: add linux build support

* feat: add macos build support

* feat: add ios build support

* feat: add deps install command and workflow file

* cd: what?

* cd: what?

* cd: what?

* cd: update workflow inputs

* cd: replace release binary

* cd: run flutter pub get

* cd: use dpkg zstd instead of xz, windows disable innoInstall, fix channel enum.name and reset pubspec after changing build no for nightly

* cd: fix tar copy path

* cd: fix copy linux command

* cd: fix windows inno depend and fix android aab path

* cd: idk

* cd: linux why???

* cd: windows choco copy failed

* cd: use dart tar archive for creating tar file

* cd: fix linux file copy error

* cd: use tar command directly

* feat: add linux_arm platform

* cd: add linux_arm platform

* cd: don't know what?

* feat: notification about nightly channel update

* chore: fix some errors parsing nightly version info

* refactor: move dart scripts as commands under CLI

* chore: add translated message command to command list

* feat(translations): add Basque translation (#1493)

* added Basque translation

* chore: fix country codes and language native name

---------

Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>

* feat(translations): add georgian language (#1450)

* feat: add georgian language

* feat: translate more georgian words

* feat(translations): add Finnish translations (#1449)

* docs: broken link in README.md (fixes #1310) (#1311)

* docs: remove appimage link in readme #1082 (#1171)

* Updating Readme according to #1082

Updating Readme according to #1082

* Added explanation

The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.

* added finnish translation

* chore: fix arb syntax errors and language in l10n entries

---------

Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com>
Co-authored-by: Karim <37943746+ksaadDE@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
Co-authored-by: Onni Nevala <nevalaonni@gmail.com>

* feat(translations): add Indonesian translation (#1426)

* docs: broken link in README.md (fixes #1310) (#1311)

* docs: remove appimage link in readme #1082 (#1171)

* Updating Readme according to #1082

Updating Readme according to #1082

* Added explanation

The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.

* Add Indonesia translation

---------

Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com>
Co-authored-by: Karim <37943746+ksaadDE@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>

* feat(translations): Improve tr locales (#1419)

* docs: broken link in README.md (fixes #1310) (#1311)

* docs: remove appimage link in readme #1082 (#1171)

* Updating Readme according to #1082

Updating Readme according to #1082

* Added explanation

The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.

* Improve tr locales

---------

Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com>
Co-authored-by: Karim <37943746+ksaadDE@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>

* feat(player): add volume slider floating label showing percentage (#1445)

* docs: broken link in README.md (fixes #1310) (#1311)

* docs: remove appimage link in readme #1082 (#1171)

* Updating Readme according to #1082

Updating Readme according to #1082

* Added explanation

The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.

* add volume level tooltip in volume_slider

---------

Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com>
Co-authored-by: Karim <37943746+ksaadDE@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>

* fix: fallback to LRCLIB when lyrics line less than 6 lines #1461

* feat: Local music library (#1479)

* feat: add one additional library folder

This folder just doesn't get downloaded to.
I think I'm going to rework it so that it can be multiple folders,
but I'm going to commit my progress so far anyway.

Signed-off-by: Blake Leonard <me@blakes.dev>

* chore: update dependencies so that it builds

I'm not sure if this breaks CI or something, but I couldn't build
it locally to test my changes, so I made these changes and it
builds again.

Signed-off-by: Blake Leonard <me@blakes.dev>

* feat: index multiple folders of local music

If you used a previous commit from this branch, this is a breaking
change, because it changes the type of a configuration field. but
since this is still in development, it should be fine.

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: manage local library in local tracks tab

This also refactors the list to use slivers instead. That's the
easiest way to have multiple scrolling lists here...

The console keeps getting spammed with some intermediate layout
error but I can't hold it long enough to figure out what's causing
it.

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: use folder add/remove icons in library

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: remove redundant settings page

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: rename "Local Tracks" to just "Local"

Not sure if this would be the recommended way to do it...

Signed-off-by: Blake Leonard <me@blakes.dev>

* fix: console spam about useless Expanded

Signed-off-by: Blake Leonard <me@blakes.dev>

* chore: remove completed TODO

Signed-off-by: Blake Leonard <me@blakes.dev>

* chore: use new Platform constants; regenerate plugins

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: put local libraries on separate pages

Signed-off-by: Blake Leonard <me@blakes.dev>

---------

Signed-off-by: Blake Leonard <me@blakes.dev>

* fix: local track not showing up in queue

* feat: local library folder cards

* feat: personalized stats based on local music history (#1522)

* feat: add playback history provider

* feat: implement recently played section

* refactor: use route names

* feat: add stats summary and top tracks/artists/albums

* feat: add top date based filtering

* feat: add stream money calculation

* refactor: place search in mobile navbar and settings in home appbar

* feat: add individual minutes and streams page

* feat(stats): add individual minutes and streams page

* chore: default period to 1 month

* feat: add text to explain user how hypothetical fees are calculated

* chore: ensure usage of route names instead of direct paths

* cd: add cache key

* cd: remove media_kit_event_loop from git

* fix: some text are garbled in different parts of the app #1463 #1505

* refactor: use replace http with dio and use it as the default

* cd: use dio in cli as well

* chore: fix home feed not showing up

* chore: downloaded tracks folder not opening

* feat: play initially available tracks of playlist/album immediately and fetch rest in background #670

* feat: upgrade to Flutter 3.22.0

* refactor: migrate deprecated warnings

* fix(playback): skipping tracks with unplayable sources instead of falling back #1492

* chore: migrate android gradle to declarative config syntax

* chore: disable impeller for now

* fix(windows): installer tries to install in current directory

* chore: upgrade deps and appbar bg fix

* chore: podspec update

* chore: bump version and generate changelogs

---------

Signed-off-by: Blake Leonard <me@blakes.dev>
Co-authored-by: Kshamendra <github@ghoulcloud.slmail.me>
Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com>
Co-authored-by: Karim <37943746+ksaadDE@users.noreply.github.com>
Co-authored-by: Josu Igoa <josuigoa@ni.eus>
Co-authored-by: Omari Sopromadze <omari.sopromadze@gmail.com>
Co-authored-by: ctih <78687256+ctih1@users.noreply.github.com>
Co-authored-by: Onni Nevala <nevalaonni@gmail.com>
Co-authored-by: Yusril Rapsanjani <yusriltakeuchi@gmail.com>
Co-authored-by: W͏ I͏ N͏ Z͏ O͏ R͏ T͏ <75412448+mikropsoft@users.noreply.github.com>
Co-authored-by: Akash Pattnaik <akashjio66666@gmail.com>
Co-authored-by: Blake Leonard <blake@1024256.xyz>
2024-06-03 13:45:04 +06:00

95 KiB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

3.7.0 (2024-06-03)

Features

Bug Fixes

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

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
  • 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