• v2.4.3 e5db012810

    v2.4.3 Stable

    kerem released this 2026-02-06 19:38:12 +03:00 | 0 commits to main since this release

    📅 Originally published on GitHub: Fri, 06 Feb 2026 16:43:39 GMT
    🏷️ Git tag created: Fri, 06 Feb 2026 16:38:12 GMT

    Features and Improvements:

    • IMPROVE: Enhanced display of album information in notifications and outputs when album info is missing
    Downloads
  • v2.4.2 930fe0ecf1

    v2.4.2 Stable

    kerem released this 2026-01-13 02:53:28 +03:00 | 10 commits to main since this release

    📅 Originally published on GitHub: Mon, 12 Jan 2026 23:54:28 GMT
    🏷️ Git tag created: Mon, 12 Jan 2026 23:53:28 GMT

    Features and Improvements:

    • IMPROVE: Enhanced Spotify track search logic with improved matching to address recent Spotify API changes
    • NEW: Implemented Debug Mode (--debug flag or DEBUG_MODE config option) - provides full technical logging and internal state changes
    Downloads
  • v2.4.1 eef09dd3cb

    v2.4.1 Stable

    kerem released this 2026-01-12 05:02:54 +03:00 | 15 commits to main since this release

    📅 Originally published on GitHub: Mon, 12 Jan 2026 02:05:06 GMT
    🏷️ Git tag created: Mon, 12 Jan 2026 02:02:54 GMT

    Features and Improvements:

    • NEW: Implement consecutive checks for confirming friend changes to reduce false notifications (configurable via FRIENDS_CHANGE_COUNTER and FRIENDS_RETRY_INTERVAL)
    • IMPROVE: Suppress repetitive error messages for followers/followings tracking during transient outages
    • IMPROVE: Better mechanism for scraping followers and followings

    Bug fixes:

    • BUGFIX: Ensure href and class attributes are properly validated during web scraping
    Downloads
  • v2.4 b1292ef9c3

    v2.4 Stable

    kerem released this 2026-01-04 20:22:31 +03:00 | 27 commits to main since this release

    📅 Originally published on GitHub: Sun, 04 Jan 2026 17:28:24 GMT
    🏷️ Git tag created: Sun, 04 Jan 2026 17:22:31 GMT

    Features and Improvements:

    • NEW: Added support for tracking changes in Last.fm user's followers and followings with console and email notifications (see TRACK_FOLLOWINGS / --track-followings and TRACK_FOLLOWERS / --track-followers)
    • NEW: Added Last.fm Wrapped tool for generating Spotify Wrapped-style statistics (top artists, tracks, albums) from CSV data
    • NEW: Separate check intervals for followers/followings tracking (independent from music polling intervals, see FRIENDS_CHECK_INTERVAL config option and --friends-check-interval flag)
    • NEW: Persistent state storage in JSON files (lastfm_{username}_followings.json and lastfm_{username}_followers.json) to track changes across restarts
    • NEW: Web scraping implementation for retrieving followers and followings (Last.fm API doesn't provide direct endpoints)
    • NEW: Added clickable Last.fm profile links for added/removed users

    Dependencies:

    • NEW: Added beautifulsoup4 dependency for followers/followings tracking functionality
    Downloads
  • v2.3 9b5bac098f

    v2.3 Stable

    kerem released this 2025-11-11 02:59:31 +03:00 | 42 commits to main since this release

    📅 Originally published on GitHub: Tue, 11 Nov 2025 00:52:12 GMT
    🏷️ Git tag created: Mon, 10 Nov 2025 23:59:31 GMT

    Features and Improvements:

    • NEW: Added support for Amazon Music, Deezer and Tidal URLs in console and email outputs
    • NEW: Added support for AZLyrics, Tekstowo.pl, Musixmatch and Lyrics.com lyrics services
    • NEW: Added Last.fm track and album URLs in email notifications and console output
    • NEW: Added configuration options to enable/disable music service URLs in console and email outputs (see ENABLE_SPOTIFY_URL, ENABLE_LASTFM_URL, ENABLE_LASTFM_ALBUM_URL, ENABLE_APPLE_MUSIC_URL, ENABLE_YOUTUBE_MUSIC_URL, ENABLE_AMAZON_MUSIC_URL, ENABLE_DEEZER_URL and ENABLE_TIDAL_URL config options)
    • NEW: Added configuration options to enable/disable lyrics service URLs in console and email outputs (see ENABLE_GENIUS_LYRICS_URL, ENABLE_AZLYRICS_URL, ENABLE_TEKSTOWO_URL, ENABLE_MUSIXMATCH_URL and ENABLE_LYRICS_COM_URL config options)
    • NEW: Added songs played count and session duration to email notifications and console output
    • NEW: Added recent songs tracking in session with inclusion in inactivity emails, including skipped and continued track status (see INACTIVE_EMAIL_RECENT_SONGS_COUNT config option)
    • NEW: Added support for user activity tracking for fresh Last.fm accounts with no tracks yet
    • NEW: Added configurable option to use Last.fm or Spotify URL in "Last played:" / "Track:" field in HTML email notifications (see USE_LASTFM_URL_IN_LAST_PLAYED config option, defaults to True)
    • IMPROVE: Redesigned track listing output (-l flag) to display tracks in a formatted table with proper column alignment
    • IMPROVE: Standardized User-Agent header construction and added it to Spotify API requests and internet connectivity checks
    • IMPROVE: Updated print statements and email body to consistently use "Spotify URL" instead of "Spotify search URL"

    Bug fixes:

    • BUGFIX: Prevented duplicate emails when songs on loop also match track/song alerts
    • BUGFIX: Fixed missing album information handling by using default empty string
    Downloads
  • v2.2 ed72cc6077

    v2.2 Stable

    kerem released this 2025-06-18 03:32:36 +03:00 | 83 commits to main since this release

    📅 Originally published on GitHub: Wed, 18 Jun 2025 01:32:08 GMT
    🏷️ Git tag created: Wed, 18 Jun 2025 00:32:36 GMT

    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
    Downloads
  • v2.1.1 766cdb225f

    v2.1.1 Stable

    kerem released this 2025-06-13 04:40:17 +03:00 | 90 commits to main since this release

    📅 Originally published on GitHub: Fri, 13 Jun 2025 02:09:32 GMT
    🏷️ Git tag created: Fri, 13 Jun 2025 01:40:17 GMT

    Bug fixes:

    • BUGFIX: Fixed config file generation to work reliably on Windows systems
    Downloads
  • v2.1 94f0fd6e21

    v2.1 Stable

    kerem released this 2025-05-22 01:53:02 +03:00 | 93 commits to main since this release

    📅 Originally published on GitHub: Wed, 21 May 2025 23:23:09 GMT
    🏷️ Git tag created: Wed, 21 May 2025 22:53:02 GMT

    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
    Downloads
  • v2.0.1 008c7105f0

    v2.0.1 Stable

    kerem released this 2025-03-25 20:21:49 +03:00 | 105 commits to main since this release

    📅 Originally published on GitHub: Tue, 25 Mar 2025 18:12:15 GMT
    🏷️ Git tag created: Tue, 25 Mar 2025 17:21:49 GMT

    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)
    Downloads
  • v2.0 37f1050c04

    v2.0 Stable

    kerem released this 2025-03-21 05:23:38 +03:00 | 109 commits to main since this release

    📅 Originally published on GitHub: Fri, 21 Mar 2025 02:32:02 GMT
    🏷️ Git tag created: Fri, 21 Mar 2025 02:23:38 GMT

    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
    Downloads