Skip to content
Permalink
Branch: master
Find file Copy path
3 contributors

Users who have contributed to this file

@MorrisJobke @paulijar @gnarula
604 lines (507 sloc) 26.9 KB
v0.9.4 2019-03-18
* support for PHP 7.3 (#687)
* minor fixes on some localizations (e.g. #679)
* fix playlist files being incorrectly listed as audio tracks (#674 by @greku)
* fix play controls being nigh invisible with the Nextcloud dark theme (#688 by @Faldon)
v0.9.3 2018-12-09
* replace deprecated call `getScrollbarWidth()` with `OC.Util.getScrollbarWidth()` (#667)
* update the getID3 library to version 1.9.16
* fix a bug on music library path changing when the previous library root is no longer present
* slightly tweak the width threshold between the "desktop" and "tablet" layouts
* declare support for Nextcloud 16
* declare support for ownCloud 10 (i.e. all 10.x versions instead of the former 10.1; oC is moving to semantic versioning)
v0.9.2 2018-09-16
* fix settings link not showing up on Firefox in mobile layout with NC14+
* fix the controls bar position when collapsible navigation pane is open in mobile layout
* fix positioning of the "Update scanning results" button on mobile layout
* fix UI sometimes getting into inconsistent state when library path changed (invalid SQL exception on back-end)
* fix performance issue on file deletion when the user has huge amount of image files (#664)
* performance/scalability: do not search cover art for *all* users after scanning library of one user
* show load indicator on settings view while library path change ongoing
* do not scan files with MIME type 'application/ogg'
v0.9.1 2018-09-09
* fix the application layout being totally messed up on Nextcloud 14-beta and later (#660)
* fix huge library not loading with some distributions of SQLite (#239)
* show also the username used on the Ampache API when generating a password (with LDAP, this may differ from the login name) (#60)
* increase the maximum allowed clock deviation on Ampache handshake from 100 to 600 seconds (#60)
* tweak the Settings view to work better on extra narrow screens
* declare compatibility with Nextcloud 15
* replace some deprecated core API calls with the more modern alternatives
* remove a couple of forgotten development-time log prints
v0.9.0 2018-08-09
* enable playing more than one track from Files: provide next/previous buttons and jump automatically to next file after reaching the end of file (#641)
* show alphabet navigation also in the "All tracks" view
* provide "All tracks" as a playlist on the Ampache API
* when playback is started by clicking a track, it now continues also after current album and artist (affect also the scope of shuffle and repeat) (#350)
* when the play scope is limited to one album/artist, show a slight highlight around the scope
* preserve the play queue history when clicking on a track to play it, unless the play scope changes
* more visible highlight on the target playlist when dragging a track to a playlist
* make the client-side caching of cover images work already on the first time the images are loaded (instead of the second)
* do not spam HTTP requests if next/previous track button is clicked repeatedly and rapidly
* add a few keyboard shortcuts: play/pause [space], previous track [left arrow], next track [right arrow]
* focus the text field automatically when clicking to create/rename a playlist
* prevent creating/renaming playlists with empty name
* small updates on translations (although they are still very much incomplete)
* fix library being erased when library path "changed" from default (empty) value to '/'
* fix track name shown only as "Loading..." when playing a public share on ownCloud 8.2
* fix play/pause icon in front of track name moving with a delay when track changed
* fix highlighting of the current view vanishing when dragging a track to a playlist
* fix a layout bug in the details pane with narrow screen on ownCloud (not reproducible on Nextcloud)
* fix a small UI jitter on playlist create/rename forms
* fix embedded music player bar being a bit too narrow when playing public shares
* support optional `artist` filter in the Shiva API endpoint `/api/albums` (#46)
* remove the previously deprecated endpoint `/api/file/{fileId}/webdav`
* lots of internal refactoring
v0.8.0 2018-07-21
* track details pane (#656)
* show a confirmation dialog before deleting a playlist
* changed icons of "Repeat" and "Rename playlist" buttons
* cache the collection.json to file instead of DB, preventing problems with large collections on certain DB configurations (#588)
* cache collection.json also on the client-side (as discussed on #588)
* fix a layout issue in albums view which could cause empty "album slots" to show between albums (introduced in v0.7.0)
* fix unable to play tracks on some untypical proxy configurations (#650)
* fix a layout issue on album titles in the mobile view
* fix the controls bar being broken on NC13 with all versions of IE and other older browsers
* fix play icon not being shown on track which was collapsed when the playback started (regression from v0.5.6)
* fix a typo in the "reset library" confirmation dialog (#655)
* fix controls bar track info not being clickable on mobile landscape layout
* follow-up fix for the Firefox scrollbar issue (#631)
v0.7.0 2018-06-17
* improved performance of the "All tracks" view, especially with large collections (#647)
* show the track and artist names extracted from metadata also when playing a public share (#616)
* remove tracks from the index on collection path change only when strictly necessary (#627)
* allow resetting the music index from the settings view (#302)
* fix the "Show all XX tracks"/"Show less" links on all versions of IE (regression from v0.5.6)
* add "About" section (along with the new logotype by @nunojesus) to the Settings view
* small UI fixes and tweaks
* use "nodebug" version of soundmanager2 lib also in Files and Share views
* prevent log warning spamming with PHP 7.2 (#642)
* support for ownCloud 10.1
* updated the getid3 library to version 1.9.15
* internal refactoring: enforced ownCloud coding standard 1.0.1 (#643) etc.
v0.6.1 2018-05-13
* fix not being able to play file types other than mp3 and flac (regression from 0.6.0)
v0.6.0 2018-05-10
* settings view moved from the "personal settings" to the Music app itself (#625 by @greku)
* improve performance of updateFolderCover on large installations (#637 by @jmdeboer-surfsara)
* disable Music app's embedded player for individual shared files on NC13+ (#630)
* remove all data of the user when user deleted
* fix navigation pane closing on mobile layout when creating new playlist (#626 by @greku)
* fix occasional unhandled exceptions on NC13+ (e.g. #636)
* fix shared file view being broken on Chrome for Android if both Music and Audio Player are enabled (#629)
* fix horizontal scroll bar appearing on NC13 with Firefox (#631)
* fix crash on first login of a new user when the default files contain any audio files (#638)
v0.5.6 2018-02-17
* front-end optimizations (#614, #615 by @Biont)
* optimize number of DB queries when building collection.json (may help on #601)
* check validity of the passed user names in the occ command line tool (#602)
* support for `--group` option in all occ commands (#613 by @greku)
* remote playlist support on the Ampache API (#611)
* support for actions `artist` and `album` on the Ampache API (used at least by Power Ampache)
* support for Nextcloud 14
* fix controls pane layout on Nextcloud 13 and 14 (#617)
v0.5.5 2017-12-10
* fix Content Security Policy error being printed to browser console when starting playback on Chrome (#498)
* fix playing files which have '%' character followed by two digits in their name by using URL encoding (#299)
* enable running the background cleanup task on request with the `occ music:cleanup` command
* fix range requests on the endpoint `/api/file/{fileId}`
* fix files music player not being used on Chromium installations with no audio codecs (regression introduced in v0.5.4)
* remove any "broken" track entries in the background cleanup task (#588)
* workaround for not being able to play mp3 file on the "shared file" page if the file has no embedded cover (#596)
* enable client-side caching of the album cover art
* add option `--remove-obsolete` to the command `occ music:scan` to remove any inaccessible previously scanned files (#567)
v0.5.4 2017-11-10
* workaround for an authentication issue on Ampache Plugin for Rhythmbox (#590)
* improved the cover image handling in the files music player (#582)
* launch the files music player only for those audio files supported in the current browser (#591)
* enable the localization of the app (many UI strings are still unlocalized, though) (#592)
* fix previously created playlists disappearing each time the app is loaded (regression introduced in v0.5.3)
* when creating collection.json, skip tracks with DB problems insted of failing the whole process (related to #588)
v0.5.3 2017-10-15
* workaround for buffer progress bug on Firefox (#587)
* downscale cover images on the server to save bandwidth (#589)
* fix track being removed from all users when unshared from a group (#581)
* fix broken navigation bar layout on recent development versions of Nextcloud 13
* slightly improve the performance of the /collection and /scanstate endpoints with large music libraries (related to #588)
* fix /collection endpoint occasionally failing with code 500 when called during scanning
* do not show the loading indicator indefinitely if getting the /collection endpoint fails for any reason
v0.5.2 2017-09-26
* possibility to start playing a playlist without opening the respective view
* clicking the playing track again now pauses the playback
* fix current view not being highlighted correctly on the sidebar menu on Nextcloud
* fix overly long track names sometimes not being shown correctly in the player bar
* properly react to moving/renaming audio or cover image file (#417)
* show Music app icon in the personal settings on Nextcloud
* other small UI tweaks
v0.5.1 2017-09-08
* fixed Music app breaking the authentication page of password protected public shares (regression in 0.5.0)
v0.5.0 2017-09-04
* added a small stand-alone music player which plays audio files in the Files and Share views
v0.4.4 2017-08-17
* fixed scanning breaking if file metadata contains invalid UTF-8 characters (#576)
* updated aurora.js and its plugins to latest versions; this fixes some (but not all) playback problems on Chromium
* update database automatically when audio file uploaded to a publicly shared folder
* Ampache and Shiva APIs: return album tracks sorted by track number
* Shiva API: track now has field 'ordinal' instead of 'number' to follow the API specification (#453)
* the release package in github is now unsigned (v0.4.3 was signed with ownCloud certificate)
v0.4.3 2017-08-01
* fixed app not loading with too large cover images (regression in 0.4.2)
* fixed metadata parsing issue: extracting album artist, track #, disc #, or year could fail on some files (regression in 0.4.2)
v0.4.2 2017-07-31
* fixed updating from versions <= 0.3.13 (#571)
* fixed loading of embedded cover images via Ampache API
* fixed compatibility with recent Nextcloud 13 development versions
* use bigint when storing file_ids to database (#569)
* improved performance of cover image loading (#570)
v0.4.1 2017-07-24
* dropped support for ownCloud 8.1
v0.4.0 2017-07-17
* support for playlists (#555)
* improved performance and scalability (#564)
* prevent database corruption on simultaneous updates (#322, #480)
* fixed handling of local shares and improved the performance of the related hooks (#566)
* made the album and artist grouping case insensitive (#316)
* support for new file formats (when browser support available): WAV, M4A, M4B
* seeking supported also for FLAC files (when browser support available)
* fixed parsing of album artist tag from FLAC files
* fixed some charset issues by updating getid3 library to version 1.9.14 (#410)
* allowed one album to cover several release years (#279, #307)
* support ISO-formatted date tags (#430)
* improved the heuristics of deducting track number and name from file name when not given in tags
* refresh the UI automatically when the scanning process is done
* show the currently playing track in the window title
* lot of internal refactoring and small UI fixes and tweaks
v0.3.13 2016-12-20
* refactored scanner.php
* improved album art extraction performance
* improved metadata extraction (use custom patched getID3, having track and album artist as fallback for each other)
* improved behaviour of scroll links
* fixed bug in AlbumMapper.findAlbumCover
* fixed album deletion
* fixed layout (new music availability, scanning, overlapping scrollbar, autoscrolling to album, album-art resizing on window resize, mobile style fixes, viewBox to app icon)
* fixed inclusion of getID3 when required #551 - thanks @apotek
* fixed usage of deprecated APIs
* fixed playback order when playing album
* fixed disc number extraction
* fixed UI glitches #522
* improved metadata display (view track artist if different from album artist)
* add support for HTTP Range requests allowing Ampache API clients to seek files #528
* improved playback by preffering SoundManager2 and falling back to Aurora.js if the former is not available
* fixed seeking during playback
* fixed file delete hook
* fixed volume control and improved its layout
* dropped support for ownCloud <= 8.0
v0.3.12 2016-07-26
* provide bitrate and mime information in the Ampache API's song endpoint
* expose Ampache token generation API
* fixed Konrad Mosoń's profile url
* add new design for empty content
* add support for disc numbers
* add support for albumartist tag
* improved album art extraction
* fixed blank page on asset.pipeline enable
* frontend optimizations
v0.3.11 2016-04-11
* fix syntax in info.xml
* fix issues when mail app is activated
v0.3.10 2016-03-09
* general fixes for ownCloud 9.0.0
* fix missing request token for WebDAV requests - #474
* fix bug for not translated strings - #473
v0.3.9 2016-03-07
* increase robustness against removed files - thanks @jerome-pouiller - #452
* update underscore
* drop stable6 supports
* fix blank page in ownCloud 9.0
* bring in backbone
* fix some layout issues
* better SQL for the cleanup code
v0.3.8 2015-10-27
* support for ogg (#416 by pellaeon)
* fix issue with not existing prepareQuery (#411 by roha4000)
* fix failures after upload to public link shares (#436, #387)
* fix for Angular variable names (#425 by DavidPrevot)
v0.3.7 2015-07-16
* fix issue with SQL statement in background job for MySQL (#372)
* run integration tests on travis
v0.3.6 2015-07-09
* works now with ownCloud 7, 8, 8.1 and master
* fix twice opened file chooser in personal settings (#344)
* move to core shipped AppFramework (ownCloud 7.0.0+) (#390)
* proper cleanup SQL statement (#347 by butonic)
* automated tests for the Ampache API (#380)
* automated tests against stable7+ versions of core and all DBs on travis (391)
v0.3.5 2015-02-16
* reset-database command
* set length of a track in the database and expose via Ampache
* fix album count in Ampache API
* expose Album cover via (inofficial) Ampache API
* ownCloud 8 compatibility
* user interaction needed to start background scan and reload the music view
v0.3.4 2014-09-04
Thanks to Volkan Geezer (@wakeup) and Yu-De (@pellaeon)
* switch to aurora.js for JavaScript decoding of music files (ability to
support more codecs) - currently just mp3 and flac - thanks to @pellaeon
* make batch rescan incremental
* make userFolder optional - get rid of wrong type of parameter error logs
* add check for natural numbers above 0 for track number
* add --debug switch to music:scan command to list memory usage of each step
* fix for not working apps/music/#/file/ID routes
* fix broken expand track list for albums
* use WebDAV for file access as it provides a better stability and functionality
# Internal
* drop unsupported calls to ownCloud private APIs
* use dependency injection for scan command
## Known issues
* mp3 seeking isn't working
v0.3.3 2014-08-12
Thanks to Dan Mac (@danmac-uk)
* Fix undefined index COUNT(*)
* add a name to the COUNT(*) statement
* should work with MySQL, PostgreSQL, MSSQL, Oracle, SQLite
* Fix Ampache URL confusion
* remove of '/server/xml.server.php'
* add note
v0.3.2 2014-08-12
* RESTful playlist API (thanks @wakeup - Volkan Gezer)
* Updated libraries (AngularJS 1.2.21, angular-gettext 1.0.0, drop jQuery)
* refactor cleanup method (reduce injected dependencies)
* move clean up task to separate helper class
* drop stable5 fixes as they are unused
* verified support for ownCloud 6
* prepare use of sidebar and mobile responsive sidebar
* migrate to ownCloud 7 core CSS
* add ID to ampache session - fixes issues with the DB mapper (#213)
* make user folder injectable into rescan method
v0.3.0 2014-08-06
# General
* disable share hook, because it delayed the sharing action a lot
* add index for cover_file_id in albums
* playstate is now represented in the URL
* change scan count from 50 to 20 - should fix #172, fix #212
* remove album cover search on remove of album cover (should speedup deletions)
# ownCloud 7 related
* adjusted design to ownCloud 7 (loading spinner, no shadow on icon)
* fixes to get it work with ownCloud 7 (especially public shares and Ampache API)
* fixes several typos and minor issues
# Internal
* migration from separate AppFramework to core provided AppFramework
* JavaScript 3rdparty library management is now handled by bower
* getID3 is update to v1.9.8, which fixes a memory leak - see #212
* change handling of routes in a proper way as preparation for playlist functionality - GSoC project by @wakeup
* improved documentation of PHP classes
* licence header cleanup (shrinked)
* respect the user ID on update (scanner)
## Known issues
* listen to shared files doesn't work - this is a issue of the ownCloud core and will hopefully be fixed in 7.0.2 and 6.0.5 - owncloud/core#10173
v0.2 2014-04-30
* handle shared files properly (also fixes mounted storage)
* albums with same name but different artists or years are now different albums by @leizh
* cover and track download moved to music app from files app
* stop scan loop if processed count is greater than total count
* close the session to enable parallel requests to be processed
* add notification for skipped tracks
* the music in the database is now restricted to the user specified path
* update Sounmanager to V2.97a.20131201
* fix mobile styles by @jbtbnl and @wakeup
* fix left alignment issues of artist name and tracks on mobile
* remove unused code
Known bugs:
* seeking in Chromium doesn't work
v0.1.9.1-rc 2014-03-26
* navigation bar on left is now thinned out for small screen sizes #185
* fix empty music app #184
* fix broken play for public shared music files #186
* fix rendering issues in IE10+ #188
* fix broken album request in Ampache API #189
v0.1.9-rc 2014-03-25
* allow public share music playback #124
* start/stop implementation, filelist is playlist, no repeat
* mobile styles for phone & tablet
* search provider for artist, album & track
* command to rescan the music files from ownCloud console.php
* Thanks to @leizh
* music:scan
* all users or a specific user
* improved performance on loading of artists (a lot less SQL statements)
* seek in progressbar
* redirect from music file in files app to music app (autoplay) on click
* album art priority (cover, albumart, front, folder, others)
* step by step scanning (50 on each step)
* display of scanning progress
* Chrome now uses HTML5 audio instead of flash fallback
* Ampache API (unstable)
* security
* user can generate passwords to use with the Ampache API
* ability to revoke those passwords
* new DB tables:
* ampache_sessions - session tokens
* ampache_users - generated passwords
* Ampache API (ADD and UPDATE parameters are unsupported yet):
* handshake
* ping
* artists
* artist_albums
* album_songs
* albums
* artist_songs (also supports offset & limit)
* songs
* song
* search_song
* delivery of music file with ampache token
* middleware to authenticate user with ampache token
* fix cover detection - double to single quotes - fixes #134
* fix integrity constraint violation for shared files - fix #127
* shorten index names for oracle (max 30 chars)
* fix SQL statements
* fix error while fileUpdated hook handling - fix #154
* Unknown artists, albums & titles now localizable
* allow and use NULL instead of fixed artist or album name
* add localized string to represent these albums and artists
* migration: convert existing 'owncloud unnknown ...' placeholders to NULL
Internal
* new URL generation inside the Javascript
* DB Mapper & Entities:
* Album added attributes: trackCount, artist (both not filled by default)
* Album added methods: getNameString (returns an translated string for unknown artists)
* AlbumMapper added methods: count, countByArtist, findAllByName
* Artist added attributes: trackCount, albumCount (both not filled by default)
* Artist added methods: getNameString (returns an translated string for unknown artists)
* ArtistMapper added methods: count, findAllByName
* Track added attributes: fileSize
* TrackMapper: count methods now return actual count and not an array with 'COUNT(*)'
* TrackMapper added methods: count, findAllByName, findAllByNameRecursive
* add limit ScanStatus SQL
* Tests:
* add L10nStub to properly mock the L10n class of ownCloud core
* push test coverage to 100%
* Build:
* add Makefile command to do PHP unit tests and create the test coverage
* exclude external PHP files from test coverage
* Core API:
* add call to register components to personal settings page
* fix typos
* merged l10n extraction to upstream - removed patchfiles
* minimalized travis-ci footprint
* CSRF token used for restangular queries
* AngularJS 1.2.14
* Underscore 1.6.0
v0.1.7-beta 2013-12-21
Merry Christmas release
* increase polling interval for whileplaying - fixes #131
* fix play icon bug in IE - SVGs are replaced by PNGs in IE - fixes #126
* FileAction for music files
* add api call to resolve track by fileid
* AngularJS route 'file/:id'
* PlayerController.playFile(id)
* load fileactions script on every page to register FileAction
* added input validation for year - fixes some crashes of the scanner
* fix OC5 issues with MDB2 and Oracle DB
* fix database restrictions for oracle (#120, #119)
* fix l10n-compile for non-latin languages - remove jslint warning
* fix [[ to {{ transition in translations
* removes second scrollbar
* fix angular scope issues and css issues
Internal
* fix CSS style - remove comma
* RestAngular 1.2.1
* fix some global variables
* fix l10n issues
* whitespace fix in SQL statement
* fix some leftovers of the OCA\AppFramework -> OCA\Music\AppFramework change
* $.placeholder() was renamed to $.imageplaceholder() in master
* Play indicator beside the track in the album view
* move MainController to top, so every children can use it's variables
* make alphabet navigation more dynamic
* add l10n for PHP
Known bugs:
* doesn't play mp3/ogg in IE8
v0.1.6-alpha 2013-10-05
* L10n support
* OGG metadata extraction - just works for local files - not for external ones refs #73
* proper deletion of database cache
* metadata extraction fix - disable 2GB filesize check in getID3
* use Flash fallback in Chrome - drawback: just MP3 playback - there is a notification if this is the case
* fix album art/placeholder race condition
* no more appframework dependency
* Flash unblock element
* alphabet navigation resizes with window height
* hide alphabet navigation if there is no music
* proper IE8 PNGs
* fulltree for artists only return tracks of the artist - #99
* scanner uses the shortest artist name if multiple artists are detected
* scrollbar fix - was overlaped by player bar #102
Known bugs:
* in IE 9 and 10 the play icons haven't the correct width/height (fixed in v0.1.7-beta)
v0.1.5-alpha 2013-09-24
* use images in album folders as album art
* first uploaded image to a folder is used as album art
* addition and deletion of covers is detected
* alphabet navigation bar to the left
* highlight available letters (of the artists)
* use flash 8 for fallback player
* fix ogg playback
* play the clicked song of an album and not the first song of the album - fixes #83
* limit metadatascan to audio files
* Adds clean up background job
* find covers for albums without cover
* remove tracks without files, albums without tracks and artists without albums and tracks
* AngularJS 1.0.8
* Various fixes and improvements - especially PostgreSQL
* various fixes, also for PostgreSQL
* cast number to int
* use correct sql statement for checking for albums
* unit test for case when album is null
* move casting to appframework entity
* remove blank lines
Known bugs:
* does not scroll perfect
* non-dynamic creating of the navigation bar
v0.1.4-alpha 2013-09-05
* show track number in track list
* fix icon glitches in Firefox
* show playing status icon (fixes #82)
* previous button (fixes #72)
* shuffle/repeat button (fixes #77)
* correct sorting order for playlist
* show loading state
* sort albums by year
* visualize loading state
* make scanner more robust and fix PHP errors
* disable execution time for rescan
* realign playerbar content and adding whitespace (ref #80)
Known bugs:
* clicking a song the first song of the album is played instead of the actual clicked song
v0.1.3-alpha 2013-09-04
* cliched icons (fixes #70)
* database is cleaned after update to this version
* first fixes for undetected metadata (extracts track number and title from filename)
* fix album without year issue (albums were duplicated)
* sort tracks by tracknumber and show them if available
v0.1.2-alpha 2013-09-02
stable5 fixes
* loading of getid3
* CSS
v0.1.1-alpha 2013-08-29
Fixes, clean-ups and logging from JS to the backend
* log API (for javascript logging to backend)
* fix empty artists (backend)
* album view fixed
* log errors in frontend to backend
* fix playback for artist
* remove minify directive
* reset played songs and current song for playlist
v0.1-alpha 2013-08-29
First release of the new music app
* useable with OC5+
* shiva API
* metadata extraction for artist, album and track
* single page frontend
* multimedia playback in all browsers trough HTML5 and flash fallback
* testing of the backend code
Known bugs:
* shuffle, repeat and previous button are out of functionality
* non-high-resolution icons in IE8
* no Ampache support
* slow for large music collections
* tracks without artist or album are not listed in the frontend (but already in the database)
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.