Skip to content

Commit

Permalink
Merge branch 'v8.0.0-rc'
Browse files Browse the repository at this point in the history
  • Loading branch information
rstemmer committed Jan 30, 2022
2 parents 4840d84 + ea94359 commit f7b4b12
Show file tree
Hide file tree
Showing 705 changed files with 123,771 additions and 59,068 deletions.
44 changes: 28 additions & 16 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,38 @@

This is a conclusion of how to contribute to MusicDB as it is [recommended by GitHub](https://help.github.com/articles/setting-guidelines-for-repository-contributors/)

## Create an Issue
Most details can be found in the [README](https://github.com/rstemmer/musicdb/blob/master/README.md).

* Follow the template
* Give as much information as possible:
* Append debug.ansi
* Describe how to reproduce the issue
* Append a screenshot if it is a visual issue
* Give version numbers of related tools when involved
* Describing you workaround can help other people having the same issue
The beginning over everything is [creating an Issue](https://github.com/rstemmer/musicdb/issues)
or post something in the [GitHub Discussions for MusicDB](https://github.com/rstemmer/musicdb/discussions).

## Documentation
Of course reading the [MusicDB Documentation](https://rstemmer.github.io/musicdb/build/html/index.html) is also recommend.

* Read the README :wink:
* Read [:notebook: Working on MusicDB's Code](https://rstemmer.github.io/musicdb/build/html/basics/workflow.html)
* Read [:notebook: Basic Rules for MusicDB](https://rstemmer.github.io/musicdb/build/html/basics/concept.html)
* Read the documentation of the part you want to change, or a part that is similar to the one you want to add
Some more general information:

## Create a pull request

* Branch from *master*
* Branch only from the *develop* or *master* branch.
* Please add/update the documentation of the parts you change
* Please don't commit *docs/build* for pull requests


## How you can Contribute

* Give feedback via [GitHub Discussions](https://github.com/rstemmer/musicdb/discussions).
* How do you use MusicDB? How many songs do you mange with it?
* Why do you *not* use MusicDB?
* Ask questions to anything.
* Create an [Issue](https://github.com/rstemmer/musicdb/issues).
* Report bugs MusicDB.
* Report issues with the documentation.
* Request features you like to see in MusicDB.
* Improve the documentation.
* Improve readability by fixing grammar and typos.
* Create an issue for sections you do not understand.
* Suggesting features via *Issue* or *Discussions*.
* What is missing that you need.
* See if there is an *Issue* you are able to fix, or to give hints on how to fix it.
* Post your ideas to address an existing issue.
* Provide some dirty hacks that may help addressing an issue.
* Fix bugs or add features.
* Edit the code to solve an issue or reduce its impact.
* Add new features.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@
tmp/*
id3edit/id3edit
docs/build/doctrees
webui/WebUI UML Class Diagram.png
scripts/WebUI UML Class Diagram.png
pkg/*
82 changes: 82 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,69 @@

Run git log --oneline for more details

┍━━━━┫ 2022-01-30 ┣━━━━┫ 8.0.0 ┣━━━━━━━━╍╍
┝━ MAJOR CHANGES
│ * MusicDB got off of /opt and now lives in the system like any other application
│ -> Expects all your path settings need to be reviewed
│ * 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. The WebUI provides a better, more reliable alternative.
│ repair, add, moods, genres
│ - [recache] removed
│ - [database] removed sub commands: add, getlyrics, update
│ * [metadata] --check is no longer expected. Just give the path.
│ + [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
└───────────────────────────────────────╌╌


┍━━━━┫ 2021-10-03 ┣━━━━┫ 7.2.0 ┣━━━━━━━━╍╍
┝━ MAJOR CHANGES
│ + [WebAPI] AddAlbumToQueue allows via optional third parameter to limit the Album to a specific CD
Expand Down Expand Up @@ -125,6 +188,8 @@ Run git log --oneline for more details
┝━ MINOR CHANGES
│ * Log output ends with setting terminal color to default (\e[0m)
│ * [Artwork] Fixes issue with mutagenx package and importing artworks from mp3 files
│ * [Artwork] Fixed wrong interpretation of relative path arguments
│ * [Artwork] Fixed a bug that make the --album or --artwork option crash
│ * [Add] Highlight in the summary when there are invalid song names
│ * [Add] Exceptions during album import were captured to create better error messages
│ + [Add] In case there is invalid unicode in a song file name, the module exits immediately
Expand Down Expand Up @@ -159,6 +224,7 @@ Run git log --oneline for more details
│ * [Stream] Fixed a bug that crashes the streaming process when the song queue is empty
│ * [Installation] Fixed a bug in the database creating process that leads to a wrong version number in new databases
│ * [Installation] Fixed a bug that gets triggered when there is more than one bash-entry in /etc/shells
│ * Some CSS-Updates to increase font size on 4k screens
└───────────────────────────────────────╌╌


Expand All @@ -182,6 +248,9 @@ Run git log --oneline for more details
│ + [Randy] Blacklist entries older than a configured age will be removed
│ * [Tracker] Does not track any random songs to keep the relations clean
│ - The deprecated SIGUSR1 signal to update the caches got removed. Use the FIFO interface instead. (SIGTERM will remain)
│ * All added songs will be pushed onto the blacklist now
│ * Replaces old imp module by importlib
│ * Fixes problem caused by asyncio changes in Python3.7
┝━ MINOR CHANGES
│ * [Tracker] Time to pass between two songs until there relationship gets not tracked is now configurable
Expand All @@ -197,12 +266,14 @@ Run git log --oneline for more details
│ * CSV Files now have headers
│ * The server now only accepts request from clients with a valid API Key
│ * WebSocket configuration for WebUI is now in separate config.js
│ * MP3 decode is now more tolerant for unusual MP3 files
┝━ MINOR CHANGES
│ * musicdb.ini now has a version number
│ * Databases now has a version number
│ * Scripts are now in a separate directory. Helpers will be moved to the server directory on installation.
│ - Moved id3edit sources into its own repository
│ * Normalize Unicode strings when loaded into CLUI TextInput
└───────────────────────────────────────╌╌

┍━━━━┫ 2018-05-06 ┣━━━━┫ 3.0.0 ┣━━━━━━━━╍╍
Expand Down Expand Up @@ -230,6 +301,8 @@ Run git log --oneline for more details
│ - The following song statistics got removed: qadds, qrndadds, qskips, qremoves. They got NEVER used.
│ - End of Queue option removed from mdbstate.ini->[queue] -> EoQEvent. It was not used for years.
│ - The MusicDB state gets now saved in an own directory. The state file is at DATADIR/mdbstate/state.ini
│ * Avoids adding same song, when "AddSongFromAlbum" method is used multiple times.
│ * Checks if MusicDB runs in the correct group. Warns when not.
└───────────────────────────────────────╌╌


Expand All @@ -243,6 +316,11 @@ Run git log --oneline for more details
│ * Fixes a bug in the add module that makes importing lyrics crash
│ * Fixes sloppy path handling in artwork manager
│ * Makes WebUI more tolerant for missing MPD connection
│ * Fixes a bug that leads to chaos when the queue runs empty
│ * The dialog CLUI is now more tolerant for small terminal sizes
│ * Fixes a bug in the add module that makes importing lyrics crash
│ * Fixes sloppy path handling in artwork manager
│ * Makes WebUI more tolerant for missing MPD connection
└───────────────────────────────────────╌╌

┍━━━━┫ 2018-01-07 ┣━━━━┫ 2.1.0 ┣━━━━━━━━╍╍
Expand All @@ -252,6 +330,10 @@ Run git log --oneline for more details
┝━ MINOR CHANGES
│ * Better installation instructions
│ * Fixes crash when using MusicAI in add-module
│ * Fixes an IndexError when blacklists have length of zero
│ * Makes named pipes more explicit
│ * Fixes a bug that made the add command try to analyse metadata from cover artworks
└───────────────────────────────────────╌╌

┍━━━━┫ 2018-01-05 ┣━━━━┫ 2.0.0 ┣━━━━━━━━╍╍
Expand Down
Loading

0 comments on commit f7b4b12

Please sign in to comment.