Merge branch 'master' into dev

This commit is contained in:
Kingkor Roy Tirtho 2026-10-26 15:23:11 +06:00
commit 9bb80ebb47
2 changed files with 89 additions and 2 deletions

37
.vscode/settings.json vendored
View File

@ -1,4 +1,37 @@
{ {
"gradle.autoDetect": "off", "gradle.autoDetect": "off",
"java.gradle.buildServer.enabled": "off" "java.gradle.buildServer.enabled": "off",
"cmake.configureOnOpen": false,
"cSpell.words": [
"acousticness",
"ambiguate",
"Amoled",
"Buildless",
"configurators",
"danceability",
"fuzzywuzzy",
"gapless",
"instrumentalness",
"isrc",
"Mpris",
"RGBO",
"riverpod",
"Scrobblenaut",
"shadcn",
"skeletonizer",
"songlink",
"speechiness",
"Spotube",
"titlebar",
"winget"
],
"editor.formatOnSave": true,
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.patterns": {
"pubspec.yaml": "pubspec.lock,analysis_options.yaml,.packages,.flutter-plugins,.flutter-plugins-dependencies,flutter_launcher_icons*.yaml,flutter_native_splash*.yaml",
"README.md": "LICENSE,CODE_OF_CONDUCT.md,CONTRIBUTING.md,SECURITY.md,CONTRIBUTION.md,CHANGELOG.md,PRIVACY_POLICY.md",
"*.dart": "${capture}.g.dart,${capture}.freezed.dart"
},
"dart.flutterSdkPath": ".fvm/versions/3.35.2",
"makefile.configureOnOpen": false
} }

View File

@ -23,6 +23,8 @@
- **playback**: Add dab music source - **playback**: Add dab music source
- **playback**: Add uncompressed flac playback support - **playback**: Add uncompressed flac playback support
- Add plugin audio source models and api service - Add plugin audio source models and api service
- **plugins**: Filter plugins by abilities in plugins page and show abilities as
badge
- **plugins**: Filter plugins by abilities in plugins page and show abilities as - **plugins**: Filter plugins by abilities in plugins page and show abilities as
badge badge
- Add setting default audio source support - Add setting default audio source support
@ -54,6 +56,8 @@
- **metadata-plugin**: Add pagination support, feed and playlist CRUD endpoints - **metadata-plugin**: Add pagination support, feed and playlist CRUD endpoints
- **metadata-plugin**: Add local storage api - **metadata-plugin**: Add local storage api
- Add webview, totp and setInterval apis for plugins - Add webview, totp and setInterval apis for plugins
- Enhance local storage and webview APIs with improved error handling and
resource management
- Enhance local storage and webview APIs with improved error handling and - Enhance local storage and webview APIs with improved error handling and
resource management resource management
- **metadata_plugin**: Add logout method - **metadata_plugin**: Add logout method
@ -92,6 +96,8 @@
- Local track not working and images of local not showing up - Local track not working and images of local not showing up
- Local playback not working for tracks with special # (hashtag) characters - Local playback not working for tracks with special # (hashtag) characters
- Inaccessible streaming url causing rapid skips - Inaccessible streaming url causing rapid skips
- **yt**: Fallback to different search result if all streaming url is
inaccessible
- **yt**: Fallback to different search result if all streaming url is - **yt**: Fallback to different search result if all streaming url is
inaccessible inaccessible
- **playback**: Skip network requests if cached file already exists - **playback**: Skip network requests if cached file already exists
@ -124,6 +130,10 @@
- **android**: navigation overlaying in app navigation - **android**: navigation overlaying in app navigation
- add to playlist not working in smaller screen devices - add to playlist not working in smaller screen devices
- language picker search broken - language picker search broken
- **generate_playlist**: create playlist not adding tracks nor navigating to
playlist page
- **desktop**: double titlebar in local library folders and massive space in
overlay player
- **generate_playlist**: create playlist not adding tracks nor navigating to - **generate_playlist**: create playlist not adding tracks nor navigating to
playlist page playlist page
- **desktop**: double titlebar in local library folders and massive space in - **desktop**: double titlebar in local library folders and massive space in
@ -154,6 +164,8 @@
- youtube source taking too long to buffer - youtube source taking too long to buffer
- youtube tracks keeps skipping despite being matched correctly - youtube tracks keeps skipping despite being matched correctly
- follow artist not working #2057 - follow artist not working #2057
- youtube_explode_dart failing for many videos due to youtube ios client visitor
data change
- youtube_explode_dart failing for many videos due to youtube ios client visitor - youtube_explode_dart failing for many videos due to youtube ios client visitor
data change data change
- piped api not working - piped api not working
@ -180,6 +192,10 @@
#2039 #2039
- **mobile**: ensure audio session is activated when playback is resumed after - **mobile**: ensure audio session is activated when playback is resumed after
interruption #2092 interruption #2092
- selecting an Alternative Track Source removes the current song from the queue
#2039
- **mobile**: ensure audio session is activated when playback is resumed after
interruption #2092
### Features ### Features
@ -215,11 +231,15 @@
- **translations**: correct some basque incorrect translations (#1815) - **translations**: correct some basque incorrect translations (#1815)
- **lyrics**: LRCLIB lyrics should be usable without logging in #1803 - **lyrics**: LRCLIB lyrics should be usable without logging in #1803
- playlist displaying descriptions unescaped html #1784 - playlist displaying descriptions unescaped html #1784
- **android**: pressing back while the player is open doesn't take to previous
page
- **android**: pressing back while the player is open doesn't take to previous - **android**: pressing back while the player is open doesn't take to previous
page page
- handle dublicated items in playback queue correctly #1852 - handle dublicated items in playback queue correctly #1852
- **desktop**: scrollbar overlapping with more options of tracks and playlists - **desktop**: scrollbar overlapping with more options of tracks and playlists
- **discord**: stop discord rpc from try update presence when not connected - **discord**: stop discord rpc from try update presence when not connected
- **stats**: minutes page shows plays and streams page shows minutes which
should be the opposite #1880
- **stats**: minutes page shows plays and streams page shows minutes which - **stats**: minutes page shows plays and streams page shows minutes which
should be the opposite #1880 should be the opposite #1880
- **android**: clears queue upon swiping away notification - **android**: clears queue upon swiping away notification
@ -1655,9 +1675,13 @@
### New ### New
- Playback Cache Support. So unfinished playlist and tracks remains cached &
starts automatically when application is launched again
- Playback Cache Support. So unfinished playlist and tracks remains cached & - Playback Cache Support. So unfinished playlist and tracks remains cached &
starts automatically when application is launched again starts automatically when application is launched again
- Login Screen guided tutorial about how to obtain Client ID & Client Secret - Login Screen guided tutorial about how to obtain Client ID & Client Secret
- Signed Android Application so now longer need to uninstall the old version for
installing the new one
- Signed Android Application so now longer need to uninstall the old version for - Signed Android Application so now longer need to uninstall the old version for
installing the new one installing the new one
- OS Media controls for Linux. Keyboard media keys now work in Linux - OS Media controls for Linux. Keyboard media keys now work in Linux
@ -1677,6 +1701,10 @@
### Improved ### Improved
- Loading screens & animations. Now uses Skeleton Loading - Loading screens & animations. Now uses Skeleton Loading
- Playlist & Album Pages now show Album Art & extra metadata as Header with
vibrant gradient background in a Sliver
- Playback is now more consistent & the API is simpler. Also its the single
source of truth for AudioPlayback instead of the AudioServiceHandler
- Playlist & Album Pages now show Album Art & extra metadata as Header with - Playlist & Album Pages now show Album Art & extra metadata as Header with
vibrant gradient background in a Sliver vibrant gradient background in a Sliver
- Playback is now more consistent & the API is simpler. Also its the single - Playback is now more consistent & the API is simpler. Also its the single
@ -1686,6 +1714,10 @@
in Desktop edition in Desktop edition
- Track match Cache support for previously played tracks. This dramatically - Track match Cache support for previously played tracks. This dramatically
reduces track change latency & load on the YouTube search engine too reduces track change latency & load on the YouTube search engine too
- Home Genre playlists can be scrolled horizontally by dragging with mouse even
in Desktop edition
- Track match Cache support for previously played tracks. This dramatically
reduces track change latency & load on the YouTube search engine too
### Bug Fixes ### Bug Fixes
@ -1790,6 +1822,8 @@
- Search - now scrolls & paginates for Playlists & Albums - Search - now scrolls & paginates for Playlists & Albums
- Authentication - allows guest accounts making authentication optional - Authentication - allows guest accounts making authentication optional
- Lyrics - can be fetched without requiring GeniusAccessToken. This makes
geniusAccessToken optional
- Lyrics - can be fetched without requiring GeniusAccessToken. This makes - Lyrics - can be fetched without requiring GeniusAccessToken. This makes
geniusAccessToken optional geniusAccessToken optional
- UI snappiness & faster load times - UI snappiness & faster load times
@ -1806,6 +1840,8 @@
### New ### New
- Global custom reconfigurable _hotkey_ support for playback controls
(play-pause/next/previous)
- Global custom reconfigurable _hotkey_ support for playback controls - Global custom reconfigurable _hotkey_ support for playback controls
(play-pause/next/previous) (play-pause/next/previous)
- Credit section in the Settings page with important links - Credit section in the Settings page with important links
@ -1853,6 +1889,10 @@
### Bug fixes ### 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
- Unsafe access to album art/artist/user Images with `.first` or `.last` causing - Unsafe access to album art/artist/user Images with `.first` or `.last` causing
accessing empty List error accessing empty List error
- `url_launcher`'s unstable `canLaunch` method blocks OAuth login in certain - `url_launcher`'s unstable `canLaunch` method blocks OAuth login in certain
@ -1876,6 +1916,8 @@
- Complete re-write in Flutter/Dart (799e13c) - Complete re-write in Flutter/Dart (799e13c)
- mpv & youtube-dl runtime dependencies dropped (07b1891) - mpv & youtube-dl runtime dependencies dropped (07b1891)
- just_audio (libwinmedia + libwebkit2gtk-4.0-dev) + youtube_explode based
playback & streaming
- just_audio (libwinmedia + libwebkit2gtk-4.0-dev) + youtube_explode based - just_audio (libwinmedia + libwebkit2gtk-4.0-dev) + youtube_explode based
playback & streaming playback & streaming
- lyrics are provided by genius.com (requires access_token) (d647d5e) - lyrics are provided by genius.com (requires access_token) (d647d5e)
@ -1893,6 +1935,8 @@
### New ### New
- Automated installer for Windows (now doesn't require manual mpv-player
install)
- Automated installer for Windows (now doesn't require manual mpv-player - Automated installer for Windows (now doesn't require manual mpv-player
install) install)
- Playback caching - Playback caching
@ -1902,11 +1946,15 @@
### Improved ### Improved
- Inapp Shortcuts.Now it doesn't interfere while typing in a input box in Search
page
- Inapp Shortcuts.Now it doesn't interfere while typing in a input box in Search - Inapp Shortcuts.Now it doesn't interfere while typing in a input box in Search
page page
### Bug fixes ### Bug fixes
- Cached image didn't get deleted after exiting certain cache limit fix. Cache
gets recreated after exiting the limit
- Cached image didn't get deleted after exiting certain cache limit fix. Cache - Cached image didn't get deleted after exiting certain cache limit fix. Cache
gets recreated after exiting the limit gets recreated after exiting the limit
@ -1925,12 +1973,16 @@
### Bug Fixes ### 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)
- `access_token not found` Error after OAuth Login with Spotify credentials - `access_token not found` Error after OAuth Login with Spotify credentials
(used to need a restart of the app to load the access_token) (used to need a restart of the app to load the access_token)
- Volume level wasn't cached even after changing volume - Volume level wasn't cached even after changing volume
# v0.0.1 # v0.0.1
Spotube v0.0.1 - initial release of the open source software for playing Spotify
music using Youtube public API
Spotube v0.0.1 - initial release of the open source software for playing Spotify Spotube v0.0.1 - initial release of the open source software for playing Spotify
music using Youtube public API music using Youtube public API
@ -1939,6 +1991,8 @@ music using Youtube public API
- Local playback handling - Local playback handling
- Playback Queue - Playback Queue
- Save to Liked Tracks/Playlists - Save to Liked Tracks/Playlists
- Bypass API rate limitation on basic usage using personal developer Apps for
spotify API
- Bypass API rate limitation on basic usage using personal developer Apps for - Bypass API rate limitation on basic usage using personal developer Apps for
spotify API spotify API
- Youtube search & get handled using scrape-yt - Youtube search & get handled using scrape-yt