Releases: misiektoja/lastfm_monitor
Releases · misiektoja/lastfm_monitor
v2.2
Features and Improvements:
- NEW: Added display of last played track duration at startup when user is offline
- NEW: Added option to customize the path for OAuth app access token cache file with possibility to use in-memory only cache
- IMPROVE: Restored old SP_CLIENT_ID:SP_CLIENT_SECRET format for -z / --spotify-creds flag (more reliable in corner cases)
- IMPROVE: Updated captions shown for Apple and YouTube Music links
Bug fixes:
- BUGFIX: Added exception handling when retrieving Spotify access tokens to prevent crashes
- BUGFIX: Coerced artist, track and album to strings before sanitization
v2.1.1
Bug fixes:
- BUGFIX: Fixed config file generation to work reliably on Windows systems
v2.1
Features and Improvements:
- NEW: The tool can now be installed via pip:
pip install lastfm_monitor
- NEW: Added support for external config files, environment-based secrets and dotenv integration with auto-discovery
- NEW: Added support for saving recent tracks to CSV when using
-l
with-b
- IMPROVE: Improved parsing of tracks file: supports CP1252 encoding, comment lines (starting with
#
) and ignores empty lines - IMPROVE: Refactored comparison logic between listed and played tracks for better accuracy
- IMPROVE: Enhanced startup summary to show loaded config, dotenv and monitored tracks file paths
- IMPROVE: Simplified and renamed command-line arguments for improved usability
- NEW: Implemented SIGHUP handler for dynamic reload of secrets from dotenv files (previous handler for progress indicator has been assigned to SIGURG)
- NEW: Added configuration option to control clearing the terminal screen at startup
- IMPROVE: Changed connectivity check to use Last.fm Audio Scrobbler endpoint for reliability
- IMPROVE: Added check for missing pip dependencies with install guidance
- IMPROVE: Allow disabling liveness check by setting interval to 0 (default changed to 12h)
- IMPROVE: Improved handling of log file creation
- IMPROVE: Refactored CSV file initialization and processing
- NEW: Added support for
~
path expansion across all file paths - IMPROVE: Refactored code structure to support packaging for PyPI
- IMPROVE: Enforced configuration option precedence: code defaults < config file < env vars < CLI flags
- IMPROVE: Updated horizontal line for improved output aesthetics
- IMPROVE: Removed short option for
--send-test-email
to avoid ambiguity
Bug fixes:
- BUGFIX: Fixed issue handling 'track songs' files encoded in Windows-1252/CP1252
v2.0.1
Bug fixes:
- BUGFIX: Fixes the issue with using the incorrect Spotify API endpoint for validation (it consistently returned a 401 error since the client credentials flow does not provide access to it)
v2.0
Features and Improvements:
- NEW: Added support for the Spotify Web API (client credentials flow) to address recent changes in the Spotify Web Player token endpoint; it requires the spotipy pip module (optional, only for Spotify-related features)
- NEW: Caching mechanism to avoid unnecessary Spotify token refreshes
- IMPROVE: Email notification flags are now automatically disabled if the SMTP configuration is invalid
- IMPROVE: Exception handling in few places
- IMPROVE: Code cleanup & linting fixes
v1.9
Features and Improvements:
- NEW: Support for YouTube Music search URLs
Bug fixes:
- BUGFIX: Fixed small bug with occasionally wrongly reported new offline entries
v1.8
Features and Improvements:
- NEW: Added new parameter (-y / --send_test_email_notification) which allows to send test email notification to verify SMTP settings defined in the script
- IMPROVE: Checking if correct version of Python (>=3.8) is installed
- IMPROVE: Possibility to define email sending timeout (default set to 15 secs)
Bug fixes:
- BUGFIX: Fixed "SyntaxError: f-string: unmatched (" issue in older Python versions
- BUGFIX: Fixed "SyntaxError: f-string expression part cannot include a backslash" issue in older Python versions
v1.7
Features and Improvements:
- NEW: Added new signal handler for SIGPIPE allowing to switch songs on loop email notifications
- IMPROVE: Better handling of situations when new offline entries show up just before user gets online
- IMPROVE: Switching offline entries notifications included in SIGUSR1 signal handler
- IMPROVE: Better way of checking for error strings (without case sensitivity) + some additional ones added to the list
- NEW: Support for float type of timestamps added in date/time related functions + get_short_date_from_ts() rewritten to display year if show_year == True and current year is different, also can omit displaying hour and minutes if show_hours == False
Bug fixes:
- BUGFIX: Escaping of exception error string fixed
v1.6
Features and Improvements:
- NEW: Suppressing repeating API or network related errors (check ERROR_500_NUMBER_LIMIT, ERROR_500_TIME_LIMIT, ERROR_NETWORK_ISSUES_NUMBER_LIMIT and ERROR_NETWORK_ISSUES_TIME_LIMIT variables)
- IMPROVE: Information about log file name visible in the start screen
- IMPROVE: Rewritten get_date_from_ts(), get_short_date_from_ts(), get_hour_min_from_ts() and get_range_of_dates_from_tss() functions to automatically detect if time object is timestamp or datetime
Bug fixes:
- BUGFIX: Fixed issues with sporadic broken links in HTML emails (vars with special characters are now escaped properly)
- BUGFIX: One very important space removed in the subject of active email notification
v1.5
Features and Improvements:
- NEW: Full support for real-time playing of tracked songs (-g) in Spotify client in Linux
- NEW: New way of playing tracked songs (-g) in Spotify client in Windows
- NEW: Rewritten code for playing tracked songs (-g) in Spotify client in macOS
- IMPROVE: Improvements for running the code in Python under Windows
- IMPROVE: Better checking for wrong command line arguments
- IMPROVE: Showing listened percentage for last listened track
- IMPROVE: Duplicate entries are counted now and displayed in the console & emails (more entries indicate higher chance of private mode)
- IMPROVE: pep8 style convention corrections
Bug fixes:
- BUGFIX: Fixed bug when track_songs functionality (-g) was not working without -r
- BUGFIX: Improved exception handling while processing JSON files
- BUGFIX: Better handling of Spotify HTTP requests exceptions when getting track ID and duration in spotify_search_song_trackid_duration()
- BUGFIX: Better handling of exceptions when listing tracks