v8.0.0
Major Changes
MusicDB got off of /opt and now lives in the system like any other application
All your MusicDB path settings need to be reviewed.
See Transition from 7.2.0 to 8.0.0 in case you already have MusicDB 7.2.0 installed.
- Missing data directories, files and databases will be created when the server gets started
- Invalid ownership and permissions of files and sub-directories will be fixed when the server gets started
- MusicDB server start/stop is now managed via systemd and journald
- MusicDB can now be installed via pacman
- Some command line options removed (Use --config instead): --quiet, --verbose, --logfile, --loglevel
- FIFO interface removed
- PID-File interfaces removed
- [lycra] Lyrics Crawler feature removed (Data quality was bad, feature was never used)
- [logging] Allow logging to journald
- [artwork] Long broken app-cache manifest generation removed
- [server] SIGUSR1 removed
- [server] WebSocket API Key is now generated when missing. No user configuration needed anymore
- [namedpipe] NamedPipe class removed
- [database] musicdb.mdbapi.database.MusicDBDatabase is now called musicdb.mdbapi.music.MusicDBMusic
- [music] FindLostPaths now uses a similar interface to FindNewPaths and supports videos as well
- [music] FindNewPaths now provides an additional list that contains only new songs of imported albums
- [music] New functions: CreateNewArtist, ChangeAlbumArtist
- [tracker] Configuration added to decide if random songs shall be tracked: [tracker]->trackrandom
- [filesystem] New methods: SetOwner, SetAccessPermissions, GetAccessPermissions, CheckAccessPermissions
- [accesspermissions] New module for high level access permission checks added
- [randy] Fixed ignoring maxsonglen for random songs
- [randy] New filter options:
- nohidden: do not select songs from hidden albums
- nobadfile: do not select songs that are flagged by the "bad file" flag
- nolivemusic: do not select songs that are flagged by the "live recording" flag
- Command Line Interface
- Old high level command line user interface removed (
repair
,add
,moods
,genres
). The WebUI provides a better, more reliable alternative. - [recache] removed
- [database] removed sub commands: add, getlyrics, update
- [metadata] --check is no longer expected. Just give the path.
- Old high level command line user interface removed (
- [WebUI] Audio stream player + settings form added
- [WebUI] Settings added to allow hiding Audio stream player and System Status inside the main menu
- [WebUI] Allow uploading albums via web front-end
- [WebUI] Allow importing albums via web front-end
- [WebUI] Allow updating and renaming albums and songs via web front-end
- [WebUI] List background tasks in the settings menu
- Web API:
- notification "MusicDB:Upload" is now called "MusicDB:Task"
- Removed functions: GetLyricsCrawlerCache, RunLyricsCrawler, IntegrateUpload
- New functions:
- InitiateContentIntegration, InitiateMusicImport, InitiateArtworkImport, InitiateFileystemScan,
- FindAlbumSongFiles, RenameMusicFile, RenameAlbumDirectory, RenameArtistDirectory, ChangeArtistDirectory,
- RemoveSongEntry, RemoveAlbumEntry, RemoveArtistEntry,
- UpdateAlbumEntry, UpdateSongEntry, UpdateArtistEntry,
- CreateSongEntry, CreateArtistEntry,
- SetAlbumOrigin, SetAlbumImportTime, Bounce
- Renamed: GetUploads -> GetCurrentTasks
- Solved Issues: #68, #66, #65, #22, #27, #72, #64, #40, #50, #59
Minor Changes
- [metadata] Uses mutagen instead of mutagenx module
- [Filesystem] Filesystem class refactored. Uses now pathlib and type hinting
- [Upload] Upload management refactored into task management
- [WebUI] Fixes a bug that lead to not show the album release date in the ArtistView even when enabled
- [WebUI] Scrolls current playing song into view when opening a big album that provides the current playing song