forked from owntone/owntone-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
556 lines (510 loc) · 20.7 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
ChangeLog for OwnTone
---------------------
version 28.10
- fix: playlist scanner ignoring lines starting with non-ascii chars
- fix: last seconds of a track sometimes being skipped
- fix: Apple Music password-based auth
- fix: missing file scan when modified multiple times within a second
- fix: Roku M1001 crash
- fix: speakers changing IP addresses (error "Got RR type A size 16")
- fix: playlist rename not registered
- fix: problems with DAAP and old dates ("Integer value too large")
- fix: compability with ffmpeg 7 (fixes build error)
- web UI: many smaller improvements, e.g. sort by release date
- web UI: traditional Chinese translation
- new: ALAC transcoding for RSP/DAAP streaming
- new: ability to save id3 metadata
- config: change "trusted_networks" to have new value "lan" as default
- config: new option to announce a MPD httpd plugin (stream from server)
- config: set ipv6 to disabled by default due to unknown Airplay issue
- config: deprecate "cache_path", replaced by "cache_dir"
- dependency: libxml2 instead of mxml
version 28.9
- web UI improvements:
display lyrics metadata
toggle Spotify on/off in some views
many minor improvements
- use compressed ALAC for Airplay for bandwidth + fixes esp32 issue
- don't merge Spotify albums with local albums
- handle playlist with Unicode BOM
- json API add tracks to queue returns info on added tracks
- replace syscall with gettid, syscall deprecated on MacOS
- fix issue where m3u genre doesn't override despite m3u_override = true
- fix possible crash from use-after-free
- fix FreeBSD possible crash
- fix crash when keys of incorrect length are used for legacy pairing
version 28.8
- fix MacOS bind error: "Protocol wrong type for socket"
- fix BSD build error (no SYS_gettid)
- fix ALAC missing end tag causing ffmpeg decoder warnings
- fix crash if Spotify AP resolver is unavailable
- fix duplicates if file within library is replaced
- fix fatal error due to mutex being zeroed
version 28.7
- fix compability with ffmpeg 6
- web UI improvements:
easier volume sliders
incorrect display of genre
Chinese translation
fix removing RSS podcasts
sort by rating for composer, genre and artist tracks
(and much more)
- changes to artwork search orders (easier static artwork for pipes)
- major refactor of the http server improving mp3 streaming
- support for m3u8 playlist files
- allow mixed ipv4/ipv6 mdns
- fix issue with device name capitalization (TuneAero issue)
- drop support for libevent < 2.1.4
version 28.6
- German translation of web UI
- web UI: fix error messages not displaying
- fix low resolution Spotify artwork
- fix incorrect display of date released pre 1970
- fix for Denon speakers when pausing
- support password authentication for Airplay 2
- support for user config ffmpeg audio filters
version 28.5
- French translation of web UI
- improved web UI loading of images
- add support for Airplay 2 password based auth
- fix some Airplay speakers turning on by themselves
- fix parsing of CRLF and NOT in smart playlists and allow larger sizes
- fix possible crash after Avahi restart
- fix for Remote - play item from 'up next' when stopped
- use configured bind_address to set mdns network interface
version 28.4
- fix broken Spotify after libspotify sunset
- remove antlr3 dependency, use bison/flex instead
- improve search by supporting diacritics and Unicode case folding
- add support for new output: Roku/Soundbridge RCP
- switch to MkDocs for documentation
- smart playlists fixups and new "this week" param
- fix 'add next' when in queue shuffle mode
- web UI improvements:
migration to Vue 3 and Vite
honor "radio_playlists" config setting
display of search results for composers and playlists
add album / track count to genre and composer pages
fix incorrect sorting of album/artist searches
minor UI fixes
- fix for Spotify config option album_override
- improved Spotify scan performance
- generic browse endpoints for the json api
- fix slow shutdown with some libwebsocket versions
version 28.3
- web UI improvements, e.g.:
composer views
partial scan (e.g. only update RSS feeds)
fix http stream button not clickable in mobile view
fix Spotify playlists not showing
handling of not playable Spotify tracks
handling of podcast play counts
- support for Spotify podcasts
- updates for ffmpeg 5
- better Spotify logout
- user "usermark" field for user flagging of various track states
- fix for 0-byte files crashing ffmpeg
- fix metadata pipe deadlock and artwork memleak-on-error
- better handling of Spotify disconnects
- fix rare Airplay pairing error
- many minor error handling fixes
version 28.2
- add Spotify integration that doesn't depend on libspotify
- partial support for AirPlay events (Homepod buttons)
- web UI upgraded, now 1.1.0:
show "comment" field in track details
drop double login to Spotify when not using libspotify
- easier install by letting 'make install' add user and service files
- preserve existing conf file when running 'make install'
- support for "comment" field when making smart playlists
- fix support for dacp device-volume
- fix issue where source file sort tags where ignored
- fix for Roku (RSP) artist display issue
- fix bug when 'bind_address' option is used
- fix for CVE-2021-38383
- fix some minor time-of-check time-of-use bugs
version 28.1
- fix incompability in 28.0 with Debian Buster's libwebsockets 2.0
version 28.0
- rename forked-daapd to OwnTone + new logo
- fix web UI slow updates due to websockets 3.x changes
- support for ALAC sort tags
- support for remote pls/m3u with https streams
- add /api/queue?id=now_playing json API shortcut
- fix possible crash on Pulseaudio error callback
- fix possible segfault-on-exit
- fix websockets not working on FreeBSD
- refactor how the server binds to sockets (use dual stack ipv4/6)
- configurable interface/address binding
version 27.4
- fix web server path traversal vulnerability
version 27.3
- support for AirPlay 2 speakers, incl. compressed ALAC
- web UI upgraded, now v0.8.5:
new design/layout
optimize "Recently added"
Spotify search dialogue improvements
drop separate admin web page, now integrated in main web
podcast deletion
make Radio a top level item
show release dates
new sorting options
prevent browser caching of playlists
additional settings
- improved Chromecast streaming (retransmisson, adaptive etc.)
- JSON api support for updating metadata of queue items
- JSON api new fields, e.g. time_added, time_played and seek
- fix for some Chromecasts disconnecting
- new algorithm for more natural ALSA volume adjustments
- new nickname option for AirPlay and Chromecast
- mpd fixes (nextsong, multiple commands)
- charset flexibility when getting ICY metadata from streams
- adaptive probing of radio streams
- libplist and libsodium now required
- fixes for library update events
- fixes to speaker selection and unintentional volume changes
- fix some minor memleaks
- support shairport-sync metadata pipe flush event
- misc logging fixup
version 27.2
- web UI upgraded to v0.7.2:
show cover artwork in album pages and lazy loading of artwork
show playlist folders
use sass/scss for css files
add "Radio" tab to the music section
add settings for artwork sources
add pop up dialog for Remote pairing requests
support adding/removing podcast subscriptions
support marking all new podcast episodes/all episodes as played
support searching by smart pl queries
skip buttons for audiobooks and podcasts
show localized times/dates
generate colored placeholder image if cover artwork is missing
show "cast" icon for Chromecast outputs
styling changes of the navbars and moving the volume controls
- new speaker selection logic (persist user choice even after failure)
- speaker autoselect no longer enabled by default
- removed old admin page, not necessary any more
- fix/workaround for Apple TV's and HomePods that disconnect
- support for RSS feeds
- support for nested smart playlists (playlist folders)
- support for online artwork sources e.g. Discogs, Coverartarchive
- support for radio StreamUrl's that point to json with metadata
- fix incorrect artwork shown for unknown album/artists
- fix issue parsing shairport-sync progress metadata
- fix missing Spofity logout option
- fix for embedded artwork not working with ffmpeg 4.3+
- some smart PL improvements, e.g. support for more tags
- config option for Airplay timing/control ports (eases firewalling)
- quicker loading of radio streams (smaller probing)
- workaround for mxml 2.10 significant memleak
- some fixes for Roku (RSP)
- drop libspotify for artwork, doesn't work any more
- documentation improvements
version 27.1
- web UI upgraded to v0.6.0: settings page, display more Spotify data
- support for volumeup, volumedown and mutetoggle DACP commands
- support for multiple ALSA devices
- suppress repeated logging of same message to avoid log file bloat
- fix opening too many files due to looping with shairport-sync
- fix for genres with single quotes in name
- fix for incorrect update of time_added metadata
- fix some small memleaks and missing cleanup
version 27.0
- no fixed resampling to 44100/16, play source quality if possible
- Chromecast: quick start, better quality (48000/16 Opus encoded)
- performance enhancements: Remote and iTunes will load quicker
- alsa sync with variable sample rate, avoiding audible "clicks"
- web UI upgraded to v0.5.6, e.g. play non-library tracks, saving queue
- fix for Pebble mpd client (and possibly others)
- fix issue with some HLS radio stations
- support for https streams
- fix for artwork showing dithered
- ICY metadata in forked-daapd's mp3 stream
- support for Spotify collaborative playlists
- support for Shairport artwork via pipe
- configurable mp3 streaming quality
- json api improvements, e.g. for toggling speakers
- json api/web ui: Relative seeking
- support for some http seeking
- fix for macOS Catalina’s Apple Music
version 26.5
- json api/web ui: file view
- web ui: artwork support
- web ui: "Add next" and genre tab
- Airplay connection test improvements
- support for https streams in m3u's
- use Spotify web api for artwork instead of libspotify
- option to make Airplay devices permanent or excluded
- support for tracks and disc items in smart playlists
- db refactor, fix issues with play count, time played etc
- json api: more options available when adding items to the queue
- json api: player/toggle
- mpd version 0.20 support + support for "listfiles" command
- fix double http auth decline issue
version 26.4:
- automatic rating
- fix issue in 26.3 causing invalid time_skipped values in the db
- improved fallback to ipv4 if ipv6 fails
- fix issue returning too many queue items to clients
- fix missing prompt for library password
version 26.3:
- fix AirPlay 2 devices (e.g. Sonos Beam and Airport Express)
- fix mdns problems with ATV4 and ipv6
- fix possible segfault if null user-agent
- new metadata: Skip Count and Times Skipped (incl iTunes XML mapping)
- iTunes XML mapping of Play Count and Play Date
- fix for crashes when client provides no User-Agent
- logging improvements
version 26.2:
- fix for db indexes not being used on fresh installs
version 26.1:
- player web interface
- support for Airplay speaker control commands
- add non-library items (e.g. radio stations) to the queue
- fix for keeping connection alive towards some devices e.g. old ApEx's
- extension of the JSON API
- under-the-hood improvements of Spotify integration
- fix for Android "Remote for iTunes"
- fix ffmpeg segfault when jpeg encoding
- performance improvements + misc
version 26.0:
- added web interface
- added JSON API
- new mpd commands (e.g. sticker, urlhandlers, playlistfind)
- support for adding non-library urls to the playback queue
- support for id3 grouping tags
- support for filesystems with ACL's
- use Spotify web api to load all playlists
- improved client authentication options
- only rescan playlists if changed -> faster startup
- fix bug related to dacp/daap client revision number handling
- fix bugs related to import of iTunes XML playlists
- restore ATV4/tvOS11 support by removing requirement for timing_port
- fixes for Hyperfine Remote
- improve database performance
- make sure daemons listen on both ipv4 and ipv6 (for BSD)
- ffmpeg/transcoding refactored for new ffmpeg API
- and more...
version 25.0:
- improved playback resilience
- substitute packet skipping (producing audio "clicks") with start/stop
- support for MacOSX with macports and Bonjour mDNS
- Airplay device verification for Apple TV 4 w/tvOS 10.2 (uses libsodium)
- support for Spotify web api (saved tracks/albums + Discover Weekly)
- automatic playback of pipes + support for Shairport metadata pipes
- added pipe audio output (fifo)
- persistent queues (queue remains across server restart)
- support for browser based clients
- mpd sendmessage: set individual speaker volume, remote pairing
- mpd add http://path-to-radiostream (i.e. add non-library items)
- new options, e.g. exclude speakers from list
- fix for shuffle mode
- fix broken PNG artwork rescaling
- use friendly Chromecast name in speaker list
- support for libav/ffmpeg dual installs
- refactoring - added the input and library interface
- performance improvements
- and other fixing up...
version 24.2:
- Pulseaudio support (can be used for Bluetooth speakers)
- new pipe/"fifo" audio output
- fix misc Chromecast audio bugs
- fix for Apple tvOS10 disconnecting after some minutes
- enable CORS headers
- LastFM scrobbling during regular DAAP streaming
- smart playlist support for file modification time
- misc MPD improvements, e.g. new outputsvolume command
- ignore ipv6 link-local addresses (announced by e.g. ATV4)
- better inter-thread command handling
- improved cache performance and use of gzip
- fix possible segfault on http timeouts
- fix possible segfault when adding items during playback
version 24.1:
- support for Monkey's audio
- fix build problems on some platforms (e.g. OpenWrt)
version 24.0:
- support for Chromecast audio
- support more idv3 tags (eg. date released)
- support more DAAP tags (eg. datereleased, hasbeenplayed)
- fix problem with playlists not shown in correct order in Remote
- autoselect devices based on priorities + keep devices selected
- fix multiple FreeBSD filescanner bugs (like too many open files)
- ALSA audio refurbished (prevent underrun/overrun, better AirPlay sync)
- improved mpd command support (eg. lsinfo, move, queue autoplay start)
- better mpd performance
- timing changes to keep input and output in sync with player timer
- prevent cache bloat (unscaled artwork or artwork for deleted tracks)
- more intelligent Spotify artwork retrieval
- artwork handling refactored
- add generic output interface
- add systemd service file
- support for OSS4 dropped
- support for old ffmpeg dropped
- misc minor bugfixing
version 23.4:
- fix freeze problem on network stream disconnects
- support for mp3 streaming
- better ipv6 handling
- option to hide singles from album/artist lists
- misc MPD improvements, incl. new commands and zeroconf support
- queue handling and transcoding refactored
- libavresample/libswresample dependency changed to libavfilter
- improved pairinghelper.sh script
version 23.3:
- fix issue where volume gets set to -1 on startup of raop devices
- plug various minor memleaks
- audiobook improvements, eg resuming playback from saved position
- live icy metadata
- libevent 1 support removed
- LastFM performance improvement
- drop legacy ffmpeg stuff
- drop legacy flac, musepack and wma scanner
version 23.2:
- fix db lock, m3u and Windows Phone bugs
- improvements for Spotify and mpd
- fixing bugs as always
- sorting of genres and composers
version 23.1:
- support for more mpd commands
version 23.0:
- add support for the mpd protocol
- add support for smart playlists
- playlist and internet stream overhaul
version 22.2:
- fix for iTunes 12.1
- fix misc bugs
version 22.1:
- artwork cache
- some Spotify fixing up
version 22.0:
- queue handling improvements
- added DAAP cache, good for low-power devices like the RPi
- support for LastFM scrobbling
- support for .pls playlists
- added compability with ffmpeg libswresample
- added options to modify the operation of the SQLite database
- stop init-rescan/full-rescan from running twice
- fix misc local audio problems
- fix some FreeBSD sound timing problems
- fix segfault on invalid utf8 while sorting
- fix misc bugs
version 21.0:
- filescanner performance enhancements (db transactions)
- support for queue editing
- support for showing history
- compability with libevent 2
- compability with libav 10
- support for Spotify
- fix for Seafile libraries
- support for permission changes in a library (IN_ATTRIB)
- some DAAP changes to align with iTunes
- properly show media kind shares in iTunes
- support for named pipes/fifos
- natural sorting and better handling of capitalization
- introduce .init-rescan and .full-rescan triggers
- fix for XBMC (libshairplay) crash
- fix missing songartistid (fixes some remotes)
- fix bug in m3u scanner
- ICY metadata fixes
version 20.0:
- includes patch against timeouts
- configurable artwork file names
- support for Remote 3 and 4
- preference for album artist if it is available
- bug fix for certain Airport Express models
- bug fix for AirFoil Speakers
- added support for internet radio with m3u
- fixed fatal error when stopping player
- m3u and iTunes playlist scanner improvements
- improved compability with Hyperfine Remote for Android
- speaker selection and m3u bug fixes
- Shoutcast (icy) metadata support for internet radio
- fix for Apple TV update 6.0
- fix artwork memory leak
- basic support for podcasts, compilations and audiobooks
- user can tell file scanner to ignore certain file types
- fix for metadata on non-Apple airplay devices
- configurable library names
- sorting changes, ignore The/A/An
- fix for TunesRemote SE
- force library rescan with .force-rescan
- fix for the Retune remote on Android
- fix for AirBubble speakers (shairport)
- support for artwork in iTunes
- fixed ffmpeg/libav logging
- logging and documentation adjustments
- autoselect AirPlay device if none selected
- support for embedded artwork
- config option to disable startup scan
- config option for max volume for AirPlay devices
- support for embedded platforms without hi-res timers
- fix for WMA files
- fixes for video playback
- other fixes: non apple players, ffmpeg/libav updates...
version 0.19:
- more libav 0.7 updates.
- database speedups.
- fix for iTunes 30-minute timeout.
- fixes, big and small.
version 0.18:
- add config knob for ALSA mixer channel name.
- do not elevate privileges for reopening the log file; log file
will now be owned by the user forked-daapd runs as.
- fixes, big and small.
version 0.17:
- support for libav 0.7
- fixes, big and small.
version 0.16:
- fix issue with non-UTF-8 metadata while scanning.
- use proper file size in HTTP streaming code.
- fix DAAP songlist bug with sort tags.
- small code fixes.
version 0.15:
- add support for sending metadata to AppleTV during AirTunes streaming.
- support DOS-encoded Remote pairing files.
- rework album_artist_sort handling.
- enable RAOP to queue RTSP requests.
- speedup DAAP & RSP filters processing.
- speedup DAAP songlist generation.
- artwork can handle and send out both PNG and JPEG.
- fixes, big and small.
version 0.14:
- sort headers/tags handling improvements.
- better handling of tags for TV shows.
- better handling of DRM-afflicted files.
- configurable IPv6 support.
- fix scanning of URL files.
- fixes, big and small.
version 0.13:
- add Remote v2 support; Remote v1 is not supported anymore.
- add per-speaker volume support.
- implement RAOP retransmission.
- implement per-device quirks in RAOP.
- improve compatibility with 802.11g AirPort Express.
- improve mDNS address resolution, making IPv4 usable again.
- fix Murmur Hash bug on 32bit platforms.
- add support for JPEG artwork and alternative filenames.
- disable session expiration that was causing issues.
- FFmpeg 0.6 support.
- fixes, big and small.
version 0.12:
- add AirTunes v2 streaming.
- add Remote support.
- add gzipped replies.
- add IPv6 support.
- check for UTF-8 correctness of metadata.
- fixes, big and small.
version 0.11:
- support iTunes 9.
- add iTunes XML playlist scanner.
- add support for TV shows.
- add FreeBSD and GNU/kFreeBSD support.
- add support for DAAP groups.
- add support for artwork.
- rework metdata extraction, better support for ID3 tags.
- database code rework.
- preliminary support for Remote (pairing, browsing).
- fixes, big and small.
version 0.10:
- initial release.