Added
- Dashboard widget for Nextcloud
#1172 - Ampache API:
- Support for API key authentication
- Support for action
playlist_hash
- Subsonic API:
- OpenSubsonic extension
apiKeyAuthentication, including support for argapiKeyand the new methodtokenInfo
- OpenSubsonic extension
Changed
- Renamed config.php key
music.allowed_radio_srcasmusic.allowed_stream_src. Its default value is now an empty array[]. - Internet radio and podcast streams are now relayed via the user's cloud instance by default. To opt out, set the config.php keys
music.relay_radio_streamandmusic.relay_podcast_streamasfalseand add required sources tomusic.allowed_stream_src.
#1035 - Documentation of the admin configuration options moved from the Settings view to the Wiki page
- Troubleshooting for Internet radio moved to the Wiki page
- Allow translating all the strings in the embedded Files player and the new Dashboard widget. Provide Finnish translations for these.
- Optimized loading of folder tree also for cases where the library root is the home folder and there is a huge externally mounted audio folder
- Prompt user to rescan modified tracks on app load if that has not happened automatically (e.g. for shared files modified by another user)
#706 - Ampache API:
- Action
get_indexessupports alsotype=song_artist - Actions
playlistsandplaylistsupport argumentinclude - Added fields
artandhas_artto thepodcast_episodeandlive_streamresult types - Added fields
username,max_song,max_album,max_artist,max_video,max_podcast,max_podcast_episodeto the responses ofhandshakeandping - Added fields
md5,has_access,has_collaborate, andlast_updateto theplaylistresults - For radio stations without user-supplied name, use the stream URL as a name
- Set CORS headers and enable pre-flight to allow Ample or other web app clients to connect from any domain
#1181 - Action
get_bookmarkreturns an empty response instead of error if the object ID is valid but there are no bookmarks on the object - Action
get_bookmarksupports argumentall(affects response format only, we still don't support more than one bookmark per song/episode)
- Action
- Subsonic API:
- Allow method
getOpenSubsonicExtensionswithout any user authentication - When browsing by folder,
getMusicDirectorysorts songs by file name instead of song title
#1182 - Added field
pathto all song responses
- Allow method
Fixed
- Song progress shown incorrectly in the media session integration of Chrome when playing (exotic file types) with the fallback Aurora.js player
- Track disappearing from playlists when moved to another folder within the library folder
#1173 - Scan sometimes breaking on MariaDB with "Serialization failure: 1213 Deadlock" when the cleanup task gets run on the background
#918 - In Files app, sidebar not showing playlist file contents if the list has any external URLs with no caption
- Uploaded image not used immediately as album cover when using SQLite (background job fixed this, though)
- Ampache API:
- Action
playlist_songsreturning internal error 500 if the playlist contains any broken track references - Action
downloadstill implicitly recording song as played even though that was supposed to change in v2.0.0 - Playlist content editing not working with the action
playlist_edit - Actions
playlist_addandplaylist_add_songnot working when using SQLite
- Action