• v1.1.1 9fd52ac74c

    v1.1.1 Stable

    Jan released this 2026-07-22 23:13:57 +02:00 | 19 commits to main since this release

    musicfix v1.1.1

    Highlights

    Version 1.1.1 improves cleanup safety, adds configurable file-extension preservation, expands video-file support, and introduces a dedicated Apprise test command.

    The cleanup step is now far less likely to mistake a perfectly valid video file for digital litter, which is a reassuringly low bar that software still manages to trip over.

    Added

    Configurable cleanup allow-list

    A new [cleanup] section controls which file extensions must be preserved:

    [cleanup]
    keep_extensions = [
      ".flac",
      ".mp3",
      ".m4a",
      ".jpg",
      ".png",
      ".mkv",
      ".mov",
      ".webm",
    ]
    

    The allow-list:

    • is case-insensitive
    • accepts extensions with or without a leading dot
    • removes duplicate entries automatically
    • can be extended with custom file formats
    • can be reduced by removing or commenting out entries

    Files whose extension is not included may be moved to quarantine during a cleanup write run.

    Default video-file protection

    Common video formats are now preserved by default:

    • .3gp
    • .asf
    • .avi
    • .divx
    • .flv
    • .m2ts
    • .m4v
    • .mkv
    • .mov
    • .mp4
    • .mpeg
    • .mpg
    • .mts
    • .ogv
    • .rm
    • .rmvb
    • .ts
    • .vob
    • .webm
    • .wmv

    Common audio, lyrics, and image formats also remain protected by default.

    Apprise test command

    A dedicated notification test command is now available:

    musicfix apprise test
    

    The command:

    • sends a real test notification
    • uses every URL configured in [notifications].urls
    • works even when automatic notifications are disabled
    • validates whether configured Apprise URLs can be loaded
    • reports delivery success or failure
    • supports German and English output
    • does not modify the music library or incremental index

    Example German output:

    ✓ Apprise-Test erfolgreich: 1 Ziel
    

    Example English output:

    ✓ Apprise test successful: 1 target
    

    Changed

    • Cleanup now receives its protected extensions from the central configuration
    • Generated configuration files include a documented [cleanup] section
    • The README now explains cleanup behavior, quarantine safety, and extension customization
    • Configuration output shows the number of protected cleanup extensions
    • Cleanup reports configured file extensions as an explicit preservation reason
    • Apprise testing no longer requires a complete maintenance run

    Fixed

    • Video files such as MKV, MOV, M4V, WebM, AVI, M2TS, TS, VOB, and WMV are no longer quarantined by default
    • Custom file extensions can now be protected without changing source code
    • Cleanup-extension matching now works consistently regardless of capitalization
    • Extensions without a leading dot are normalized automatically
    • New cleanup messages are available in both German and English terminal output

    Configuration example

    [cleanup]
    # Extensions that cleanup must preserve. Matching is case-insensitive.
    # Comment out an entry to stop preserving that format.
    # Add another extension to preserve additional file types.
    # The leading dot is optional, but recommended for readability.
    # Files not listed here may be moved to quarantine by cleanup --write.
    keep_extensions = [
      # Audio
      ".aac",
      ".aif",
      ".aiff",
      ".alac",
      ".ape",
      ".flac",
      ".m4a",
      ".mp3",
      ".mp4",
      ".ogg",
      ".opus",
      ".wav",
      ".wma",
      ".wv",
    
      # Lyrics
      ".lrc",
      ".lyrics",
    
      # Images
      ".avif",
      ".bmp",
      ".gif",
      ".jpeg",
      ".jpg",
      ".png",
      ".webp",
    
      # Video
      ".3gp",
      ".asf",
      ".avi",
      ".divx",
      ".flv",
      ".m2ts",
      ".m4v",
      ".mkv",
      ".mov",
      ".mpeg",
      ".mpg",
      ".mts",
      ".ogv",
      ".rm",
      ".rmvb",
      ".ts",
      ".vob",
      ".webm",
      ".wmv",
    
      # Optional custom formats
      # ".cue",
      # ".nfo",
    ]
    

    Safety

    Preview cleanup actions without changing files:

    musicfix cleanup
    

    Apply cleanup and move unsupported files to quarantine:

    musicfix cleanup --write
    

    Run the complete maintenance workflow:

    musicfix all
    musicfix all --write
    

    Test notifications independently:

    musicfix apprise test
    

    Files are never permanently deleted directly by cleanup. Unsupported files are moved to the configured quarantine directory first.

    Downloads