Releases: owncloud/music
Releases · owncloud/music
v2.5.1
Changed
- Updated the Belarusian translation
#1275 @pavel-miniutka
Fixed
- MusicBrainz links from Last.fm in track details not always working
- Advanced Search common rules elements being weirdly ordered on RTL layout
- Subsonic API:
- Scrobbles counted twice with some clients (at least Supersonic)
#1274 @mattwellss - Artist IDs formatted incorrectly in the property
artistsof album results (added in v2.5.0, this broke many artist links e.g. on Feishin, Supersonic, and Airdrome)
- Scrobbles counted twice with some clients (at least Supersonic)
v2.5.0
Added
- Scrobbling to Last.fm (with opt-in from the admin and the user)
#1266 @mattwellss - Radio station details pane shows information from Last.fm for the current track when the service is configured and the station broadcasts current track using the format "artist - track"
#1249 - Context menu with "Save playlist" function for advanced search results
#1256 - Searching for radio stations with the advanced search
- Full support for the right-to-left UI layout used on languages like Hebrew and Arabic on NC 31 and later
#1269- Previously, the layout was totally broken on these languages
Changed
- On two-line layout of the controls bar (used in narrow windows), overlay the time text on the progress bar
- Optimization for the scan speed (most significant on slow DB like SQLite)
- On web UI load, check presence of obsolete files and offer to remove them from the library
- Changes to
occ music:scan- Always check the presence of obsolete tracks although
--clean-obsoletestill has to be given to remove them - Scan also any dirty files by default,
--skip-dirtyoption may be used to opt out - Option
--rescan-modifiedremoved - Possibility to opt out of the cover art updating with the option
--skip-art - Limit also album art search to the path provided with argument
--folder
- Always check the presence of obsolete tracks although
- Identify playlist-type radio streams from the Content-Type header instead of the URL, hopefully making the logic more robust
- Updated the getID3 library to the release version 1.9.24-202509040923
- Subsonic API:
- Non-dummy implementation for the endpoint
getNowPlaying - OpenSubsonic extensions:
- Add property
mediaTypeto the result typeChild - Add properties
genresandartiststo the album results - Add extension
indexBasedQueue
- Add property
- Non-dummy implementation for the endpoint
- Ampache API:
- Support argument
statsin the actionsdownloadandstream - Support argument value
type=userin the actionget_art - Support argument
sizein the actionget_art - Add property
userto all playlist results - Allow
limitvalues greater than 5000 and value "none" for unlimited result sets. Default is still 5000.
- Support argument
Fixed
- Playback stopping when clicking the title "0 results" of an empty advanced search result
- Media control seek forward/backward buttons not working on Edge
- Entire page moving when progress bar dragged on pinch-zoomed touch screen
- Some minor UI glitches
- Some radio stations not playing in the (default) relayed mode because Music tried to forward also the "hop-by-hop" HTTP headers
#1268
v2.4.1
v2.4.0
Added
- Mouse wheel can be used to adjust volume while hovering over the volume control (slow by default, faster with SHIFT)
- Volume percent is displayed in place of the volume icon while adjusting
- Button to dismiss the "files to scan" banner without taking any action (it will be shown again on page reload)
#1251 - Belarusian translation
#1254 @pavel-miniutka
Changed
- Playlist tooltip on the navigation pane now shows also the playlist name
#1236 - Prevent HTML injection from track metadata to the web UI
Fixed
- Favorite toggle in the details pane not working (since v2.3.0)
#1250 - Overly long playlist names shown only as ellipses (…) in the navigation pane
#1236 - "Unshare from self" not removing songs from the user's library (since v2.3.0)
- Sharing files on NC32 broken while Music enabled (due to unannounced API change)
#1253
v2.3.0
Added
- Support for Nextcloud 32 (tested on rc1)
- Russian translation
#1219 @mexvod - Hungarian translation
#1245 @rkrisztian - Subsonic: Support for methods
savePlayQueueandgetPlayQueue
#1241 @mattwellss
Changed
- Human-friendly formatting for bitrate and sample rate in the track details pane
- Improved performance for "dirty" file checking on huge music collections
Fixed
- Subsonic API: In methods
getAlbumInfoandgetAlbumInfo2with no info found, an empty array was returned instead of an empty object
#1233 - File hooks potentially breaking the cloud update process when Music app is updated at the same time and the cloud runs partially updated app instance
#1231 - Album cover from Last.fm failing to be loaded in the album details pane (since v2.1.0)
#1238 - Music controls pane overlapping the scrollbar with Firefox on Windows 11
- Not being able to drag the scrollbar on ownCloud with Firefox on Windows 11
v2.2.0
Added
- Support for importing WPL playlist files and play them within Files
#1153- MIME mapping for the file is needed which can be added with
occ music:register-mime-types
- MIME mapping for the file is needed which can be added with
- Support parsing lyrics from .lrc files in addition to the audio file metadata tags
#1221- The lyrics file must be found in the same folder with the audio file and have the same file name but with the extension
.lrc.
- The lyrics file must be found in the same folder with the audio file and have the same file name but with the extension
- Importing and exporting podcasts channels from/to an OPML file
#904- Using the web UI or with the
occcommandsmusic:podcast-importandmusic:podcast-export
- Using the web UI or with the
Changed
- In the Files app, use the Music app icon on the file actions menu item "Play"
- Allow manual entry of the file name when exporting a playlist or the radio stations
- Data stored to DB tables is truncated to max number of bytes instead of characters; this should avoid problems with non-ASCII characters on some DB configurations
- Command
occ music:scanshows the time consumed to analyze files and update DB. With option--debug, this is shown per file. - Improved scan performance, especially on MariaDB
- Subsonic API:
- Set CORS headers and enable pre-flight to allow web app clients to connect from any domain
- Use error code 0 (generic error) instead of 70 (requested data not found) when an unsupported API endpoint is requested
Fixed
- "New files to scan" and "Scanning" bottom panes being slightly misplaced on NC 25+
- Alphabet navigation not scrolling to quite correct location on first click in long list views like "All tracks" (since v2.0.0)
- Command
occ music:scan --rescanfailing if the DB contains any track with an invalidartist_idoralbum_id
#1228
v2.1.4
v2.1.3
Changed
- Advanced search: Enable searching albums by disk count
- Ampache API:
- Use HTML line breaks
<br />in the lyrics to match genuine Ampache behavior - Add cache headers to the cover art responses
- Advanced search supports new rule
disk_countfor typealbum
- Use HTML line breaks
- Subsonic API:
- Add cache headers to the cover art responses
#1205 - Add OpenSubsonic extension method
getPodcastEpisode
- Add cache headers to the cover art responses
- Shiva API:
- Added endpoints
/api/random/artist,/api/random/album,/api/random/track
#51 - Added endpoint
/api/tracks/{id}/lyrics
#48 - Added endpoint
/api/whatsnew - The playlists API is now mostly compatible with the Shiva specification
- Systematically use plurals in endpoint names to match the specification:
api/artists/{id}instead ofapi/artist/{id}etc.
- Added endpoints
- Proprietary REST API:
- Systematically use plurals in endpoint names for consistency
Fixed
- Unhandled error logged on corrupted/incompatible album cover images (now a warning is logged instead)
#1204 - Unable to play some podcasts in the default relayed mode
#1209 - Dashboard widget: Internet radio station without given name failing to load album art and showing the load indicator indefinitely
- Errors like 'Undefined array key "status_code"' logged when playing certain internet radio stations
- Ampache API: Endpoint
songfailing with code 500 when the song has no lyrics set (since v2.1.2)
#1208 - Subsonic API:
- Property
artistImageUrlbeing invalid on artist when authenticated usingapiKey - Method
getPlaylistfailing with code 500 if the playlist has any invalid song references
#1128
- Property
v2.1.2
Added
- Support for Nextcloud 31
#1198 - Support for PHP 8.4
Changed
- Denser layout for the navigation pane and actions menu on NC 30+, matching the platform style
- Ampache API: Parse and include lyrics in the response of the action
song(but not on any other actions returning songs)
Fixed
- Dashboard widget:
- Playback controls disappearing when the playing track changes with Aurora.js backend (used when the audio format has no native browser support)
- Clicking the previously played song didn't play it again after stopping the playback with the keyboard 'stop' media key
- Internet radio:
- Stream relaying not working on some redirecting stream URLs, depending on the headers
#1194 - Stream playback failing when the stream URL has only the domain part without any path and no trailing '/' (like http://abc.somedomain.xyz)
- Stream playback failing when the given URL redirects to a playlist file containing the actual audio URL
- HTTP redirections not followed when parsing Icy-MetaData of the channel
- Stream relaying not working on some redirecting stream URLs, depending on the headers
- Layout glitches:
- Navigation items "Search" and "Settings" positioned and highlighted incorrectly on NC30+ with Chromium based browsers
- Collapsed navigation pane and corner roundings shown wrong on narrow screens on NC 30.0.5
- Ampache API: CORS problem on the endpoint
/ampache/image.php
#1199 @rstefko - Subsonic API: In JSON responses, playlist
idwas returned as integer instead of string type
#1202