Features
- bump audiotags fork to support taglib v2 (29c5397)
- lastfm: autocorrect artist and album name misspellings when fetching info (2878b88), closes #472
- lastfm: strip copyright text from albumInfo/artistInfo responses (aa82b94)
- listenbrainz: submit release MBID (#443) (552aa3a)
- replace ff with with flagconf (3ada74c)
- subsonic: expose track musicbrainz id (f98b232)
- subsonic: prefer tagged musicbrainz ID over lastfm in getAlbumInfo (422c684), closes #444
- subsonic: return
changed
field in playlist response (8b4fc04), closes #455 - subsonic: return
playCount
in album responses (ec55f3b), closes #458 - subsonic: return an error if maxBitRate requested with no user transcode preferences set (88e58c0)
- subsonic: return http form post opensubsonic extension key (e8ae1c1)
- upgrade to ff v4 (4600ee1), closes #473
Bug Fixes
- ci: manually add taglib v2 APKBUILD (51fa0ba)
- db: add double index for right side of unique compound indexes (d640a9f), closes #426
- docker: fix sqlite3 musl build (433829d)
- listenbrainz: set track length submission and include submission client details (#424) (b27c02f)
- playlist: return new playlist id for createPlaylist (314e963), closes #464
- podcast: collect all episode errors when adding new podcast (2f109f1), closes #430
- podcast: slightly more robust downloading and concurrency (#433) (f34cd2e)
- scanner: clean up orphaned album genres when dir still exists without tracks (19ebd45), closes #466
- scanner: gracefully handle multi value tag delim splits with adjacent delimiters (eb79cec), closes #448
- specid: match music dirs with trailing slash (#439) (e63ee96)
- subsonic: always return playlist duration (87943ea), closes #457
- subsonic: fix getAvatar user request comparison (#469) (2949b4c)
- subsonic: return error code 70 for not found errors in more places (42dbfa7), closes #454