557 lines
21 KiB
Plaintext
557 lines
21 KiB
Plaintext
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.
|