github linuxserver/docker-kometa v2.4.4-ls102

latest release: develop-171c2519-ls107
6 hours ago

CI Report:

https://ci-tests.linuxserver.io/linuxserver/kometa/v2.4.4-ls102/index.html

LinuxServer Changes:

Full Changelog: v2.4.2-ls101...v2.4.4-ls102

Remote Changes:

Fixed

  • Fixed CI: downgrade actions/checkout from v7 to v6 across all workflows to restore PR validation for fork pull requests (still an upgrade over Kometa 2.3.1)
  • Downgrade "Skipping <name>: Item not found" log message from ERROR to WARNING in metadata file processing when a mapped item cannot be found in the Plex library.
  • Allow builder_level to work with playlists. Fixes #2267
  • Consolidate repeated asset warning messages in the warning summary into shared count buckets so the same warning is reported once instead of one row per affected folder or item.
  • Fix ModuleNotFoundError: No module named 'resource' crash on Windows at startup. The file-descriptor limit fix introduced in #3235 used the POSIX-only resource module unconditionally. Now wrapped in a try/except ImportError so the bump is applied on POSIX systems and skipped cleanly on Windows. (#3244)
  • Fix kometa.py crashing with TypeError: HEAD is a detached symbolic reference when run from a detached-HEAD checkout (release-tag checkouts, CI runners that check out by SHA, etc.). (#3232)
  • Fix cache.update_anime_map() writing the AniDB id into the AniList column on UPDATE. The original anime_map row was written correctly on INSERT but each subsequent update would clobber anilist_id with the AniDB value. (#3232)
  • Defer cache eviction until all batched Plex edits complete so genre updates (or other non-batched updates) no longer evict items before later rating and originally available date, etc writes run.
  • Remove TMDb ID 717095 from the Ice Age franchise default after TMDb no longer returns the collection.

Changed

  • Internal: add a comprehensive pytest test suite (580 tests, up from 203) covering most of modules/, plus a regression-test convention (test_issue_NNNN_*) for documented bugs. (#3232)
  • Internal: add a GitHub Actions test workflow with separate jobs for lint (black + isort + flake8), test (pytest with 20% coverage gate), regression (regression-only suite), schema (JSON Schema validation of json-schema/*.json + kitchen-sink config), imports (auto-discovered import smoke check across all 40 modules), perf (slow-test reporting via pytest --durations-min), and smoke (kometa.py --help + minimal-config dry-run). (#3232)
  • Internal: add .gitattributes to normalize line endings to LF on commit for all text sources, flag image/font/PSD files as binary so Git won't try to diff them, and add linguist-vendored/linguist-generated hints for cleaner GitHub language stats. Renormalized defaults/overlays/languages.yml which had been checked in with CRLF endings since a 2025 community PR. Also adds export-ignore entries so git archive source tarballs no longer ship tests/, .github/, or other dev-only files.
  • Internal: extend the test, imports, and smoke CI jobs to a Linux + Windows OS matrix so POSIX-only regressions (the class of bug that produced #3244) get caught before merge instead of at user launch. Adds an AST-based regression test (test_issue_3244_*) that statically pins the try/except ImportError guard around import resource in kometa.py and asserts every resource.<attr> reference at module scope sits inside an if resource is not None: block.

Don't miss a new docker-kometa release

NewReleases is sending notifications on new releases.