Releases: owncloud/music
Releases Β· owncloud/music
v2.0.1
Added
Changed
- Subsonic API: For radio stations without user-supplied name, use the stream URL as a name
Fixed
- Favorite toggle button not working on artists with no image available
- Cover art image not used automatically upon the image file upload in some cases when PostgreSQL used
#1164
v2.0.0
Added
- Additional tabs "Albums" and "Tracks" to the artist details pane
- Additional tabs "Tracks" and "Artists" to the album details pane
- Favorite toggle to the details pane of the tracks, albums, artists, playlists, and podcasts
- New filter "Favorite" for the smart list
- OpenSubsonic extensions to the Subsonic API:
- Method
getLyricsBySongId
- Property
sortName
to all artist, album, and song responses - Property
played
to all song responses
- Method
Changed
- Drop support for PHP versions older than 7.4 (i.e. PHP 7.1 - 7.3)
- Drop support for ownCloud versions older than 10.5 (i.e. OC 10.0 - 10.4)
- Drop support for Nextcloud versions older than 20 (i.e. NC 13 - 19)
- New design including cover art on all list-like views
- Ampache and Subsonic APIs: Check the username in case-insensitive manner
#1147 - Ampache API:
- The action
download
doesn't implicitly record the track as played (unlikestream
) - The song property
url
refers to thestream
URL instead ofdownload
URL
- The action
Fixed
- Playlist sorting not working if the list contains any broken track references
- Nextcloud.log being flooded with the debug-level message "/appinfo/app.php is deprecated" on NC20+
#1043
v1.11.0
Added
- Advanced search view
#1141 - Support for Nextcloud 29
#1132 - Ampache API:
- Option to change the session timeout with the
config.php
keymusic.ampache_session_expiry_time
#1134 - Support for the actions
search
,user
,user_playlists
,user_smartlists
,playlist_add
,index
,scrobble
- Support for the advanced search rule
bitrate
on songs
- Option to change the session timeout with the
- Subsonic API:
- Support for the method
getOpenSubsonicExtensions
- Support for the method
Changed
- Ampache API:
- Advanced search operators
matches regex
anddoes not match regex
supported also on SQLite (this is important to properly support Ample) - Advanced search operators
sounds like
anddoes not sound like
supported also on SQLite, and on PgSQL if modulefuzzystrmatch
is installed - Advanced search rules
album_genre
andartist_genre
supported also on PgSQL - Authentication tag can be delivered also using the bearer token header (required to support Ample v3)
#1140 - All results with property
art
have also the propertyhas_art
- Implicitly record the track as played with the actions
download
andstream
- Advanced search operators
Fixed
- Playlist file not playing within Files in case the first track of the list is in unsupported format
- Some Finnish translations being replaced with English (since v1.9.0)
- Error "Cannot set response code - headers already sent" logged on each played song on PHP 8.3
#1133 - Files player: Menu icon for "Import list to Music" not adjusted correctly for the dark theme
- Standard NC viewer opened instead of embedded Music player when opening file from Dashboard on NC28+
#1126 - Music app page loading randomly failing on Chrome
#1137 - Ampache API:
- API not working on ownCloud 10.14.0 (HTTP error 500 on all Ampache API calls)
#1138 - Advanced search rule
playlist_name
not being case insensitive like the other string rules - Advanced search rules
playlist
andplaylist_name
not working with SQLite - Advanced search operator
does not sound like
not working - Advanced search numeric rules (e.g.
year
,played_times
,album_count
) not working properly on SQLite - Advanced search rules
album_count
andsong_count
never finding artists whose respective count is 0 - Incorrect root node name on the actions
user_preference
anduser_preferences
- API not working on ownCloud 10.14.0 (HTTP error 500 on all Ampache API calls)
- Subsonic API:
- Method
getAlbumInfo2
response having incorrect root element name
#1125 @perillamint - On NC28+, every XML API call logged an error 'Undefined array key "" at /var/www/html/lib/private/AppFramework/Http.php#128'.
#1142
- Method
v1.10.0
Added
- Support for Nextcloud 28
#1116 - Support for PHP 8.3
- Ampache API:
- Support for argument
random
in the methodplaylist_songs
- Method
bookmark
- Support for argument
include
in all methods returning bookmarks
- Support for argument
- Subsonic API:
- Property
playCount
to song responses - OpenSubsonic API extensions:
- Properties
openSubsonic
,type
, andserverVersion
to all responses - Allow getting the whole library with an empty
query
argument insearch3
method
- Properties
- Property
- MusicBrainz link from Last.fm to the artist/album/track details pane, when available
- Filters "Recently added" and "Not recently added" for the smart playlist
#1098 - Optional "strict" mode for the history filters of the smart playlist
#1099 - Hint about the keyboard shortcuts in the Settings view and in tooltips
#1086
Changed
- Ampache API:
- Make
advanced_search
argumentsoperator
andtype
optional - On method
bookmark_create
, the argumentclient
defaults to null instead of "AmpacheAPI"
- Make
- Subsonic API: Methods
search2
andsearch3
support '*' as a wildcard - Consider also the tag names
unsynced_lyrics
andunsyncedlyrics
when parsing lyrics
#1111 @RobertZenz - Updated the getID3 library to the development version 1.9.23-202312292105
- Fixes the issue of garbage bytes being extracted from some RIFF tags
#1115
- Fixes the issue of garbage bytes being extracted from some RIFF tags
- Search within the Music app now works with an own input field in the navigation pane instead of the unified search input
Fixed
- Songs with scanned integer property value (like track number) larger than 2147483647 causing error on PostgreSQL
#1106 - Lite player in Files attempting to play also audio files with MIME types unsupported on the current browser
- Subsonic API: Use integer-type IDs in
getMusicFolders
to comply with the API specification
#1108 - Playlist details showing length as "NaN:NaN" in case the playlist contains any invalid track references
v1.9.1
v1.9.0
Known issues
- This version had an app update problem on some versions of Nextcloud with SQLite, and was quickly replaced by v1.9.1.
Added
- Smart playlist feature, allowing list creation by user-supplied criteria
#619
#1061 @rstefko - Dragging tracks/albums/etc on the "+ New Playlist" item creates a new playlist containing those items
- Files playlist tab: Tooltip showing the file path or stream URL
- Subsonic API:
- Rating support: method
setRating
, rating properties in all applicable result entities, typehighest
to the methodgetAlbumList
- Empty implementation for the method
getNowPlaying
#1079 @NattyNarwhal
- Rating support: method
- Ampache API:
#1078- New methods:
rate
get_similar
genres
,genre
,genre_artists
,genre_albums
,genre_songs
bookmarks
,get_bookmark
,bookmark_create
,bookmark_edit
,bookmark_delete
live_streams
,live_stream
,live_stream_create
,live_stream_edit
,live_stream_delete
list
browse
user_preference
anduser_preferences
with mock-up contentadvanced_search
with partial support, not all search rules supported and some operators work only with MySQL/MariaDB
- Support for the type
album_artist
in the methodget_indexes
- Support for the parameter
album_artist
in the methodartists
- Support for the type
playlist
in the methodstats
- Support for the type
playlist
in the methodsdownload
andstream
- Support for the type
playlist
in the methodflag
- Support for the parameter
top50
in the methodartist_songs
- Support for the filter
highest
in the methodstats
- Support for the parameter
include
in the methodsalbum
,albums
,artist
, andartists
- Fields
time
,albumcount
,songcount
,prefix
, andbasename
to theartist
type results - Fields
time
,diskcount
,songcount
,prefix
, andbasename
to thealbum
type results - Fields
disk
,format
,stream_format
,stream_bitrate
,stream_mime
, andplaylisttrack
tosong
type results - Fields
time
,size
,bitrate
,stream_bitrate
,rating
, andpreciserating
topodcast_episode
type results - Fields
rating
andpreciserating
topodcast
type results - Fields
flag
,rating
andpreciserating
toplaylist
type results - Null-valued fields
language
,lyrics
,mode
,rate
,replaygain_album_gain
,replaygain_album_peak
,replaygain_track_gain
,replaygain_track_peak
,r128_album_gain
, andr128_track_gain
tosong
type results - In JSON-mode only, field
artists
tosong
andalbum
type results - All the fields of
handshake
response on the response ofping
within a valid session
- New methods:
Changed
- Ampache API:
#1078
#909- Follow the APIv5 conventions if version 5.x.x requested by the client on
handshake
- Follow the APIv6 conventions if version 6.0.0 or higher requested by the client on
handshake
- Follow the APIv6 conventions if the client doesn't specify any version
- this may be overridden using the config.php key
music.ampache_api_default_ver
- this may be overridden using the config.php key
- Follow the APIv4 conventions with backward compatibility for APIv3 if version 3.x.x or 4.x.x requested by the client on
handshake
- these are the same conventions which previous versions of Music always used
- The URLs returned in the
art
tag of the entities are now cache-friendly, i.e. don't depend on the session - Terminate all related sessions immediately when API key deleted; previously, this happened upon session timeout
- Fields
rating
andpreciserating
now show the user-given rating instead of constant 0 on all applicable result objects
- Follow the APIv5 conventions if version 5.x.x requested by the client on
- Own UI settings storage for each OC/NC instance running on the same server (same HTTP origin). Previously, all instances of the origin shared the settings.
- As a side-effect, any UI settings (like volume, view modes) from the previous version get discarded upon the SW update
- Also, volume settings in the Share and Files embedded players are now distinct from the volume in the main app
- Small optimization on the size of the
collection.json
loaded by the web front-end - Order the playlists by name in the navigation pane, navigate automatically to the created or renamed playlist
#1083 - Any invalid playlist entries are now visible on the web UI to enable easy removal
#1087
Fixed
v1.8.4
Added
- Support for Nextcloud 27 (tested on RC3)
Changed
- Allow UTF-8 encoding also on playlists with the extension .m3u (in addition to .m3u8)
- The file is interpreted as ISO-8859-1 only if not valid UTF-8 or if so specified by the #EXTENC tag
#1047
- The file is interpreted as ISO-8859-1 only if not valid UTF-8 or if so specified by the #EXTENC tag
Fixed
- Folder icons not being theme-colored on Nextcloud 25+
- Navigation pane divider lines being invisible with some themes on Nextcloud 25+
- Subsonic: Incorrect interpretation of the optional
time
argument on thescrobble
method
#1066 - "Show in Files" link in the track details popping up an empty player bar on Nextcloud (at least since NC23)
v1.8.3
Fixed
- On ownCloud, flooding the log with errors "Cannot declare class because the name is already in use" (since v1.8.2)
#1060 @prsnbrg - Nextcloud 25 and later not running the Music background tasks: podcast channel updates, database cleanup
#1044 - M4A-ALAC files sometimes starting to play simultaneously while the previous file is still playing
v1.8.2
Added
Changed
- Respect the "Ignored articles" setting also when sorting a playlist by artist
#1048 - In addition to 'http' and 'https', allow podcast streams from the URL schemes 'feed', 'podcast', 'pcast', 'podcasts', 'itms-pcast', 'itms-pcasts', 'itms-podcast', and 'itms-podcasts'
153901
Fixed
- Subsonic:
getAlbumList
withtype=alphabeticalByArtist
not working on PostgreSQL
#1046
v1.8.1
Changed
- Keyboard shortcuts for seeking and volume adjustment step in smaller increments when ALT key is held down
#1039 - The REST API for Ampache/Subsonic key management made more consistent with the other REST APIs
Fixed
- Ampache/Subsonic key creation not working from the web UI on Nextcloud versions < 25 and on ownCloud 10.0 (regression in v1.8.0)
#1038