Add dataclass and pathlib imports in taglib.py
Add clean_filename, ParseData, and extract_artist_title functions in
taglib.py
Modify get_tags function in taglib.py to use extract_artist_title
function
Modify LyricsProvider class in lyrics.py to add timeout parameter in
session.get
Remove parse_artist_from_filename and parse_title_from_filename
functions in utils/parsers.py
Add split_artists function in utils/parsers.py
Remove parse_artist_from_filename and parse_title_from_filename
functions in utils/parsers.py
Add remove_prod function in utils/parsers.py
Refactor code and improve code readability
+ assign default artist separators if db is empty
+ add instrumental to album version
+ check if album is a single by checking og_title and current title
+ hard code juice wrld artist name in model
+ set album aritst to first artist if track has no album artist
+ rewrite get_base_album_title regex to use existing album versions
+ misc
+ fix help text
+ run populate once when -nps flag is used
+ update app version
+ sort tracks by track and disc no. when saving to playlist
+ serialize search results
+ update tags.artist -> tags.artists
+ update tags.albumartist -> tags.albumartists
+ remove artist images from serialized albums
+ add function to serialize artists for cards
+ misc
track thumbnail from the first track in an album that has one.
+ rewrite Populate.remove_modified with sets
+ clean the SqliteManager utility class
+ Rewrite ProcessTrackThumbnails to use a process pool instead of a thread pool
+ rewrite track store's remove_tracks_by_filepaths to utilize sets
+ fix: sqlite3.ProgrammingError: Cannot operate on a closed cursor on ProcessAlbumColors()
+ move processing artist images from periodic_scans to Populate
+ bump hash string limit from 7 to 10
+ add last_mod property to database
+ fix: TypeError: '<' not supported between instances of 'int' and 'str' on album page
+ use getters instead of constants in settings classes
+ refactor previous references
+ move get_xdg_config_dir() from settings.py to app.utils.xdg_utils.py