forked from owncloud/music
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
712 lines (605 loc) · 34.1 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
v0.14.0 2020-04-21
* add 'Genres' view to the web UI
* integrate the web UI with the (Chrome) media control API (provides e.g. support for HW keys play/pause/etc and integration to the OS lock screen)
* improvements for Subsonic API:
* support genres: add methods `getGenres` and `getSongsByGenre`, and add parameter `genre` to methods `getRandomSongs` and `getAlbumList(2)`
* support defining year ranges on methods `getAlbumList(2)` and `getRandomSongs`
* add `year` and `genre` properties to all album responses, add `genre` property to all song responses
* support starring tracks, albums, and artists (#750) (stars are visible only via Subsonic)
* proper paging when fetching random album list (one album returned only once)
* optimize getting large folder contents
* fix/tweak the logic used in the method `getLyrics`
* API version set to 1.10.1
* improvements for Ampache API:
* support `limit` and `offset` parameters on more actions; this fixes the "Random Artists/Albums/Playlists" feature on the Ampache plugin in the Kodi media player
* support genres using the `tags` feature of the API: added actions `tags`, `tag_artists`, `tag_albums`, and `tag_songs` and include `tag` properties on song/album/artist responses
* drop the SoundManager2 library in favor of using HTML5 API directly
* update getID3 to development version 1.9.19-202004201144 (should help on #123)
* allow rescanning previously scanned tracks with `occ music:scan` by using the option `--rescan`
* fix unable to open details pane if getID3 can't extract any metadata tags
* fix several small bugs causing logged error notes (but no undesired behavior) at least on Nextcloud 18 + PHP 7.4
* fix a typo in the 'Settings' view (#751 by @amalvarenga)
v0.13.2 2020-03-25
* fix SW update problems caused by the disk-number-migration script introduced in v0.13.1 (#748)
v0.13.1 2020-03-22
* do not treat each disc of a multi-disc album as a separate album (#680)
* fix year tag not being extracted from M4A files (#744 by @ChrisJAllan)
* fix disc number tag not being extracted from M4A files (#746)
* update getID3 to development version 1.9.19-202003150936
* should fix cover art not showing up on M4A files (#743)
* fixes the issue which forced us previously to remove one commit from v1.9.19
* log the error if opening a file for metadata extraction fails (#123)
* do not stop the whole scanning process if opening a file throws an exception
* tweak the ordering of the fields in the track details pane
* fix embedded player not showing metadata for the unscanned files (regression introduced in v0.13.0)
v0.13.0 2020-02-16
* searching/filtering by title/album/artist/year/folder/path (#662, #367)
* the query may freely combine details from tracks and their parent entities (album/artist/folder)
* searching by album name and year works only in the Albums view
* searching by folder name/path works only in the Folders view
* quotation may be used to treat multiple words as a single entity instead of as separate substrings
* searching by title/album/artist works also within the Files app, but this is much more limited than within the Music app
* improved performance/scalability for huge music collections also in the "All tracks" view
* improved quality of cover images in the Albums view and in the Ampache/Subsonic APIs (#734)
* default size for the images is now 380px, but this can be altered with `config.php` using the key `music.cover_size`
* Subsonic: respect the `size` attribute given to method `getCoverArt`
* support for PHP 7.4 (#738)
* support for Nextcloud 19
* updated getID3 to version 1.9.19 (minus one commit which caused us problems)
* fixed scan state being shown incorrectly after resetting the music collection
* fixed a background color problem on NC18 with dark theme (#739)
* fixed a null-reference problem on the `postWrite` file hook occuring on NC16+
v0.12.1 2019-12-31
* fix broken scrolling in Albums and Folders views on Nextcloud 14+ (#733)
v0.12.0 2019-12-29
* improved performance for huge music collections (#728)
* collapse the "Scanning..." popup to the bottom of the screen when there are already tracks shown (#728)
* do not download the album cover image before scrolling to the album in question (#719, #653)
* Ampache: Sanitize the XML results so that no illegal characters are included (#723)
* Subsonic: Fix names containing ampersand (&) missing from the results (regression from v0.11.1)
* Subsonic: Fix format (f=...) argument being ignored if user credentials are incorrect or missing (#730)
* fix a potential dead-lock on Folders view deactivation
* fix part of the screen width being unused on NC14+ with extra wide screen when the details pane is open
* the repository no longer contains the bundled js and css files needed for execution
* the delivery packages no longer contain the source js and css files, only the bundles for execution
v0.11.1 2019-11-21
* improved support for Subsonic API:
* support most parts of the API v1.8 (added methods getUser, getArtists, getArtist, getSong, search3, getAvatar, getLyrics, updatePlaylist, deletePlaylist, along with a few other implemented as stubs)
* prevent navigating to folders outside the user music path (#725)
* fix notice "Only variables should be passed by reference" being logged
* fix malformed contents breaking the XML responses
* fix warning about placeholder.js being logged on NC17+ (#721)
* fix warning about array_walk callback syntax being logged on NC17+ (#726)
* internal refactoring
v0.11.0 2019-10-12
* support for Subsonic API (#718)
* truncate variable length text fields before storing them to the database (#632, #716)
* add copy-to-clipboard buttons to the Settings view next to Ampache/Subsonic addresses and passwords
* fix the dark theme detection on Nextcloud 18
v0.10.1 2019-09-08
* fix warnings being logged on PHP7.2+ when fetching albums via Ampache API (#714)
* provide string "Unknown artist/album" in Ampache API for nameless entities
* allow album name to span multiple rows in the "tablet" layout
* lazy-load getID3 library to avoid interfering with AudioPlayer occ scan (#715)
* update the getID3 library to version 1.9.17
* declare support for Nextcloud 18
v0.10.0 2019-07-23
* simple Folders view (#651)
* fix unable to load collection.json if there's any albums with invalid album_artist_id; remove these corrupt albums on background cleanup task (#710)
* fix "jump to previous" not always working while track was loading (caused as side effect of #691)
* declare support for Nextcloud 17
v0.9.5 2019-04-27
* comprehensive support for the Nextcloud dark theme
* locale-dependent ordering for artists/albums/tracks with accented alphabets (#695)
* add link '#' to the alphabet navigation for names starting with numerals (#697 by @greku)
* add link '…' to the alphabet navigation for names starting with characters sorted after Z
* improvements for alphabet navigation on short screens (like landscape mobile phone) (#699 by @greku)
* fix unable to show details if the file tags contain any invalid utf-8 characters (#694 by @greku)
* double action for the "previous" button: first click jumps to the beginning of the current track and second click to the previous track (#691)
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 deducing 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)