Skip to content

Releases: owncloud/music

v2.0.1

08 Sep 16:16
Compare
Choose a tag to compare

Added

  • French translation
    #1157 @flozz
  • Support for Nextcloud 30

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

23 Jun 19:26
Compare
Choose a tag to compare

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

Changed

  • Drop support for PHP versions older 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 (unlike stream)
    • The song property url refers to the stream URL instead of download URL

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

21 Apr 20:12
Compare
Choose a tag to compare

Added

  • Advanced search view
    #1141
  • Support for Nextcloud 29
    #1132
  • Ampache API:
    • Option to change the session timeout with the config.php key music.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
  • Subsonic API:
    • Support for the method getOpenSubsonicExtensions

Changed

  • Ampache API:
    • Advanced search operators matches regex and does not match regex supported also on SQLite (this is important to properly support Ample)
    • Advanced search operators sounds like and does not sound like supported also on SQLite, and on PgSQL if module fuzzystrmatch is installed
    • Advanced search rules album_genre and artist_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 property has_art
    • Implicitly record the track as played with the actions download and stream

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 and playlist_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 and song_count never finding artists whose respective count is 0
    • Incorrect root node name on the actions user_preference and user_preferences
  • 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

v1.10.0

27 Jan 18:31
Compare
Choose a tag to compare

Added

  • Support for Nextcloud 28
    #1116
  • Support for PHP 8.3
  • Ampache API:
    • Support for argument random in the method playlist_songs
    • Method bookmark
    • Support for argument include in all methods returning bookmarks
  • Subsonic API:
    • Property playCount to song responses
    • OpenSubsonic API extensions:
      • Properties openSubsonic, type, and serverVersion to all responses
      • Allow getting the whole library with an empty query argument in search3 method
  • 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 arguments operator and type optional
    • On method bookmark_create, the argument client defaults to null instead of "AmpacheAPI"
  • Subsonic API: Methods search2 and search3 support '*' as a wildcard
  • Consider also the tag names unsynced_lyrics and unsyncedlyrics 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
  • 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

08 Oct 20:16
Compare
Choose a tag to compare

Fixed

  • Application update not working on some versions of Nextcloud with SQLite (introduced in v1.9.0)

v1.9.0

08 Oct 15:12
Compare
Choose a tag to compare

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, type highest to the method getAlbumList
    • Empty implementation for the method getNowPlaying
      #1079 @NattyNarwhal
  • 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 and user_preferences with mock-up content
      • advanced_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 method get_indexes
    • Support for the parameter album_artist in the method artists
    • Support for the type playlist in the method stats
    • Support for the type playlist in the methods download and stream
    • Support for the type playlist in the method flag
    • Support for the parameter top50 in the method artist_songs
    • Support for the filter highest in the method stats
    • Support for the parameter include in the methods album, albums, artist, and artists
    • Fields time, albumcount, songcount, prefix, and basename to the artist type results
    • Fields time, diskcount, songcount, prefix, and basename to the album type results
    • Fields disk, format, stream_format, stream_bitrate, stream_mime, and playlisttrack to song type results
    • Fields time, size, bitrate, stream_bitrate, rating, and preciserating to podcast_episode type results
    • Fields rating and preciserating to podcast type results
    • Fields flag, rating and preciserating to playlist type results
    • Null-valued fields language, lyrics, mode, rate, replaygain_album_gain, replaygain_album_peak, replaygain_track_gain, replaygain_track_peak, r128_album_gain, and r128_track_gain to song type results
    • In JSON-mode only, field artists to song and album type results
    • All the fields of handshake response on the response of ping within a valid session

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
    • 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 and preciserating now show the user-given rating instead of constant 0 on all applicable result objects
  • 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

  • Subsonic API:
    • Unhandled exception when attempting to delete a non-existent bookmark
      #1071
    • Method getPlaylist failing if the playlist contains any invalid track references (since v1.8.0)
      #1087
  • Scanning breaking if any out-of-bounds numeric value gets scanned from any audio file
    #1073
  • File and folder selection dialogs not working on NC 27.1.0 and 27.1.1 (workaround for a NC bug which should get fixed in NC 27.1.2)
    #1091

v1.8.4

06 Jun 19:18
Compare
Choose a tag to compare

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

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 the scrobble 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

08 Apr 18:27
Compare
Choose a tag to compare

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

01 Apr 20:11
Compare
Choose a tag to compare

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 with type=alphabeticalByArtist not working on PostgreSQL
    #1046

v1.8.1

08 Jan 19:24
Compare
Choose a tag to compare

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