Skip to content

Releases: misiektoja/lastfm_monitor

v2.2

18 Jun 01:32
Compare
Choose a tag to compare

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

13 Jun 02:09
Compare
Choose a tag to compare

Bug fixes:

  • BUGFIX: Fixed config file generation to work reliably on Windows systems

v2.1

21 May 23:23
Compare
Choose a tag to compare

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

25 Mar 18:12
Compare
Choose a tag to compare

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

21 Mar 02:32
Compare
Choose a tag to compare

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

03 Nov 17:35
Compare
Choose a tag to compare

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

15 Jun 12:22
Compare
Choose a tag to compare

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

07 Jun 12:42
Compare
Choose a tag to compare

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

24 May 17:14
Compare
Choose a tag to compare

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

18 May 23:09
Compare
Choose a tag to compare

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