Releases: KRTirtho/spotube
Releases · KRTirtho/spotube
Nightly Builds (Continious)
Nightly release includes newest features but may contain bugs
It is preferred to use the stable version unless you know what you're doing
v2.6.0
Highlights
Spotube has become the first Flutter app, that has a platform specific UI or mimics Platform specific design
It was achieved using the platform_ui plugin
- 🎁 Platform Specific UI design, animations, typography and experience 🎁
- Override current platform's UI with another one's (it's crazy but fun)
- Track source change support. Change the currently playing track's source from multiple YouTube results
- Shuffle and play any playlists and albums
- Add Selected tracks to multiple playlists
- Fixed Authentication Token not updating when expired
- More optimistic UI
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)
What's Changed
- Basic support for iOS, fix missing Rust lib by @karniv00l in #259
- Fix typo by @Lucifer25x in #269
- added new categories to fix lost & found by @ZorinArch in #299
- Fix: Rename Youtube to YouTube by @RaptaG in #314
- Experimental/platform UI by @KRTirtho in #323
- feat: shuffle button in playlist and album section by @tiaxter in #340
New Contributors
- @Lucifer25x made their first contribution in #269
- @ZorinArch made their first contribution in #299
- @RaptaG made their first contribution in #314
*...
v2.5.0
Highlights
- 🔥 New Authentication flow that uses WebView and only requires Email and Password to Login in Android 🔥
- Support for Nested Routes. Now, Sidebar/BottomBar never disappears
- Play/Pause track on keyboard Spacebar, Seek position on keyboard left/right
- Scrolling is smoother than ever [thanks to fl_query and Waypoint]
- Replace or Skip downloading all already downloaded tracks
- Sort tracks in Playlist, Album and Local Tracks
- macOS correction of download path
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)
Contributions
- Add Dependabot for pub and GH Actions by @karniv00l in #213
- [Feature] Add Duration Match Algorithm by @Demizo in #191
- Fix file paths for MacOS by @karniv00l in #232
- Update spotube-release.yml by @vedantmgoyal2009 in #247
New Contributors
- @dependabot made their first contribution in #220
- @vedantmgoyal2009 made their first contribution in #247
Full Changelog: v2.4.1...v2.5.0
v2.4.1
Improvement:chart_with_upwards_trend:
- macOS audio metadata tags support (5866b0f)
- Search page horizontal swipe to scroll support for Desktop platform (d5ff927)
Bug Fixes:bug:
SpotubeMarqueeText
used inArtistCard
crashes the app (4279541)- Adaptive UI not working correctly fix by providing an overriding option (8c7adde)
- Local Tracks throwing exception when
downloadLocation
is empty (1a3556d)
Full Changelog: v2.4.0...v2.4.1
v2.4.0
New🎉
- 🔥Local Track Player with proper audio metadata support🔥
- 🔥Full playlist/album download🔥
- Repeat one track
- Configurable download location
- 🔥Download track with proper metadata or audio-tags🔥
- 🔥Skip non-music segment using SponsorBlock toggle🔥
- Pre-search next track when current track is above 70% progress
- TrackTile more options are now adaptive
- Cached window size
Reading and writing tag isn't yet supported on MacOS
Improvement📈
- 🔥Adaptive Settings options with categories🔥 (@Demizo #192)
- Partial Marquee text animation for lower GPU usage
- Adaptive Text in various part of the application
- PlaylistView, AlbumView track playbutton behavior improvement
- Sidebar long username fade (@Demizo #190)
- Placeholder for empty playlist/album/user images instead of dicebear images
- Synced lyrics animated text
- Linux: OS Media Control now updates the track metadata in
Bug Fixes🐛
- No settings icon in larger screen displays
- Mobile volume not set to max
- Desktop volume slider is set to
0
initially - Player overlay flickering at random
- Artist card overflows in smaller displays
- Shuffle button gets stuck when another playlist/album is played
Generous Contributions (PRs)
- fix a typo on the login screen by @flexagoon in #146
- README: Add instructions for Scoop by @issaclin32 in #158
- fix(docs): indentions by @meinto in #169
- [FIX] Fade Long Usernames on Sidebar by @Demizo in #190
- [Feature] Organize Settings With Headers by @Demizo in #192
New Contributors
- @flexagoon made their first contribution in #146
- @issaclin32 made their first contribution in #158
- @meinto made their first contribution in #169
- @Demizo made their first contribution in #190
Full Changelog: v2.3.0...v2.4.0
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🔥 (#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 (#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 (#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 (#138)
- Downloaded Music is 0kb sized when lyrics are downloaded alongside (#122)
What's Changed
- Update README.md by @Poussinou in #119
- Fix login feilds autocorrecting Client ID and Secret by @Voklen in #123
- Replaced
just_audio
withaudioplayers
& Refactored Playback provider by @KRTirtho in #131
New Contributors
- @Poussinou made their first contribution in #119
- @Voklen made their first contribution in #123
Full Changelog: v2.2.1...v2.3.0
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
Full Changelog: v2.2.0...v2.2.1
v2.2.0
New 🎉
- Update checker
- Share options for playlists & track
- Android Skip to Next/Previous track from notification/lockscreen (#91)
- 🔥Custom Accent Color Scheme support (Dark + Light)🔥
- 🔥Custom Background Color Scheme support (Dark + Light)🔥
- 🔥Material 3 Design Language and Flutter 3.0🔥
- User customizable Audio Quality Option
- User customizable Track Matching Algorithm Option
- Caching in Playlists, Album, Search, Playlist Categories, Artist Profile & Lyrics
- M1 Mac support via MacOS Universal Binary (untested) (#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 (#92)
- refresh token error causing re-login (culprit: internal lib spotify-dart)
- Typo in Login instructions URL
Full Changelog: v2.1.0...v2.2.0
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) (#47)
Bug fixes 🐛
- Sequential playlist playback not working with latest webkit2gtk (#46)
- Theme modification state doesn't persist (#54)
- Wrong URI path for "Login with Spotify" tutorial (#69)
- Card shadow showing in the background of TitleBar & Searchbar
New Contributors
- @SteliosPapamichail made their first contribution in #47
- @RomanJos made their first contribution in #53
Full Changelog: v2.0.0...v2.1.0
v2.0.0🥳📱
New🎉
- 💥Android Support💥 #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 #23
- Downloaded tracks can't be played as they're WebAudio (.weba) instead of MP3
- delay while changing Playlist/Single tracks
Full Changelog: v1.2.0...v2.0.0