Skip to content

Releases: owncloud/music

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

v1.8.0

01 Jan 17:19
Compare
Choose a tag to compare

Added

  • Basic support to play M4A files with ALAC encoding also on non-Apple browsers
    #1030
    • Based on the Aurora.js plugin ALAC.js v0.1.0
    • Limitations: no seeking, no adjusting of playback speed, possible glitches, may not work with all files
  • Basic support to play AIFF, AU, and CAF files
    #767
    • Based on the Aurora.js (no plugins required)
    • Limitations: no seeking, no adjusting of playback speed, possible glitches, may not work with all files
    • Corresponding file extensions must be mapped to MIME types audio/*, see below
  • Command occ music:register-mime-types to add MIME type mappings for those supported audio file types which
    are not mapped by default on OC and NC: .aac, .au, .aif, .aiff, .aifc, .caf

Changed

  • Show the collapsed navigation pane when a track is dragged over the navigation pane toggle
    #999
  • Updated the getID3 library to the release version 1.9.22-202207161647
  • More secure generation of the Ampache/Subsonic API keys
    • Removed the REST API endpoint /api/settings/userkey/add, leaving only /api/settings/userkey/generate
  • Wider progress bar on wide high-resolution screens also for the lite player within the Files app
  • On individual shared file page (on OC), overlay the play icon on the preview image on hover
  • Allow up to 5 redirects (up from 2) when fetching a podcast channel or internet radio station
  • Color of the progress bar follows the selected color theme on NC

Fixed

  • Small layout issues on Nextcloud 25
  • Layout issue in the two-line controls pane on IE
  • Not adjusting to dark theme when the theme comes from the browser preference (in NC25)
  • User's podcasts, radio stations, and Ampache/Subsonic API keys not erased when an user account deleted
  • Music controls not visible on publicly shared folders on NC25
    #1028
  • Wrong icon in the "New files to scan" and "No scanned files" pop-ups on NC25
  • Firefox on Ubuntu selecting the single-column layout after page load regardless of the window width
    #1029
  • Tablet and mobile layout not working correctly on NC 25.0.2
    #1036
  • Playback jumping to the next radio station when seeking beyond the end of the already buffered content

v1.7.0

31 Oct 22:05
Compare
Choose a tag to compare

Added

  • Two-line layout for the controls pane on narrow windows
    #1004 #204
  • Muting/unmuting by clicking the speaker icon
    #1013 @Root-Core
  • Many new keyboard shortcuts
    #1013 @Root-Core
    • Numpad +/-: Increase/decrease volume
    • M: Mute toggle
    • J/L: Seek backwards/forward
    • K: Play/Pause toggle
    • Shift + Comma/Period: Decrease/Increase playback speed
    • Arrow Left/Right: Seek backwards/forward (was formerly skip previous/next)
    • Ctrl + Arrow Left/Right: Skip previous/next
    • Step size of seeking and volume control is increased when shift held down
  • 'Skip previous' shown in the play/pause context menu on narrow screens where it doesn't fit in the controls pane
  • Preview of the seek position shown while hovering over the seek bar
    #1007 @Root-Core

Changed

  • Use background color definitions from the cloud core when available. Fixes a problem with the Nextcloud Breeze Dark theme introduced in v1.6.0.
    #1002
  • Subsonic: Search functions now find also songs by artist or album name and albums by artist name
    • This prevents the Substreamer client from going haywire when shuffle play for an artist requested (!)
      #1000
  • Subsonic: Method getCoverArt returns a placeholder image (instead of an error) if the album/artist in question has no cover art set
    #1000
  • Context menu on the play/pause button can be opened with right click in addition to the long press
    #1006 @Root-Core
  • Playback speed change by clicking the menu option now has step size 0.25 instead of 0.5. Right-click or long-press decreases the speed.
    #1013 @Root-Core
  • Wider progress bar on wide high-resolution screens
    #1004
  • Removed the undocumented keyboard shortcuts for toggling the layout on Albums and Folders views
  • Respect the global keyboard shortcut disable switch introduced by Nextcloud 25

Fixed

  • Small issues in the mobile and tablet layouts
  • Subsonic: API method getTopSongs ignoring the argument count
  • Subsonic: Some clients (at least Substreamer, Jamstash, Sonixd) experiencing perpetual 302 redirect loops
    #1000
  • Subsonic: getScanState in json mode returning "false" as string instead of bool caused Substreamer to poll it indefinitely
    #1000
  • Podcast title not showing on the German translation of 'Podcast channel "{{ title }}" added'
    #1005 @Root-Core
  • Alphabet navigation breaking down when the artist name starts with a Unicode character greater than U+FFFF
    #1021
  • Nextcloud 25: Web UI not working except for in a narrow window; alphabet navigation not working; layout issues
    #1017