Docs
- Replace the MkDocs wiki with Zensical, keeping Read the Docs hosting, branch versions, and existing documentation URLs.
- Add Release Notes to Kometa website, available under
Useful Linkssection of navigation
Removed
- Drop support for python 3.10 due to it going end of life. Python 3.11 or above is now required.
Added
- Add
list_exportfor exporting builder results to MDBList, FlickList, WeTrakr, TMDb, or Floppy lists withsyncorappendmode options. Legacysync_to_*_listattributes removed from documentation - Add
dovi_levelanddovi_profilefilters for use withplex_allbuilders. - Add
hdr10plusandatmosboolean attributes forplex_searchandsmart_filterbuilders - Add library schedule modes for full, added, changed, alphabetical, and explicitly selected items, plus a
--mode/KOMETA_MODEoverride for a run. - Add Seerr connector for handling media requests to Radarr and Sonarr. Supports adding to standard and 4K arr instances simultaneously.
- Add
apple_chart,itunes_chartandspotify_chartbuilders for per-country song and album charts - Add music support to
tautulli_popularandtautulli_top; keeptautulli_watchedas a legacy alias. - Add
music_playliststo Music library collection files for building Music Playlists. - Add Last.fm connector and various music builders.
- Add YouTube Music builders for music libraries and operation for updating artist images
- Log the current value when an item or episode rating already matches the requested rating.
- Add
seasons: {latest: true}filtering against the highest-numbered Plex season, excluding Specials. - Add an artist-level Lidarr connector with global or per-library configuration, quality-profile and monitoring updates, tag add/remove/sync support, cached successful additions, and
lidarr_add_all_existing/lidarr_remove_by_taglibrary operations. Plex artists are added only when their metadata contains one valid MusicBrainz artist ID. - Add music-library
lidarr_allandlidarr_taglistbuilders, which create Plex artist collections by matching Lidarr and Plex MusicBrainz artist IDs.
Fixed
- Fix TMDb episode cache writes failing after an episode is renumbered or moved; replace stale positions atomically without retaining external IDs from a different episode. #3801
- Ignore the unsupported
kometa_posterandpmm_posterattributes with a clear error directing users to supported poster options, instead of attempting legacy poster rendering. #3796 - Fetch complete MDBList digital release dates for
mdb_digitaldate operations when batch or older cached results omit them, and cache confirmed missing dates to avoid repeated lookups. #3798 - Fix
lidarr_taglistandlidarr_remove_by_tagignoring tags that do not exist in Lidarr: a misspelledlidarr_taglisttag selected every Lidarr artist, andlidarr_remove_by_tag: kometa, tempremoved everykometaartist whentempdid not exist. Both now match nothing and log the missing tags. - Allow FlickList and WeTrakr list builders (including list details and user lists), and
floppy_tracked, in season and episode collections instead of rejecting them during collection validation. - Resolve FlickList user list URLs (
/u/<user>/lists/<slug>) to numeric API IDs for list builders and list descriptions. - Invalidate stale MDBList cache entries that could apply incorrectly scaled Letterboxd ratings to Plex. #3771
- Exclude documentation-only
zensical.tomlfrom Docker source integrity checks to avoid reporting unmodified images as modified. - Show the source integrity summary after collection and playlist summaries, before the end-of-run errors and warnings introduction.
- Fix cached MDBList entries never returning the MyAnimeList rating:
query_mdb()rebuilt that rating with the source labelmyanimelist_rating, whichMDbObjdoes not recognize, somdb_myanimelistinmass_*_rating_updateoperations,<<mdb_myanimelist_rating>>overlay text andvalue_filteronly worked on a fresh MDBList fetch. #3773 - Fix the
anidboverlay rating source (<<anidb_rating>>, e.g.rating1: anidbin theratingsDefaults file, andanidb_ratinginvalue_filter) never returning a value: the AniDB permanent rating was matched against the misspelled variable nameanidb_rating_rating, so every item loggedOverlay Warning: No 'anidb_rating' foundand no AniDB rating was rendered. - Fix
year,unmatched, andtrashsmart filters being removed from Show and Movie libraries - Resolve MDBList season and episode entries through their parent show in mixed playlists, preventing unrelated shows from being added.
- Preserve smart-label collection filters during initialization so existing shows count toward
minimum_items, preventing streaming collections from alternating between deletion and recreation. #3739 - Resolve
labelfilters in Music libraries to the selected artist, album, or track label field. - Accept a Kometa Utilities "Use Kometa App" MyAnimeList block that omits
client_secret, and refresh that official app without sending a client secret. - Accept
stinger_ratingfilters and all numeric modifiers for collections and overlays, including negative integer thresholds. #3732 - Normalize typographic dash variants when matching music artist, album, and track names, so names such as
Sophie Ellis-Bextormatch Plex'sSophie Ellis‐Bextorwhen the result is unique. - Validate People-Images poster URLs before selection so missing images allow an available TMDb poster to be selected; cache validation misses for the current run and distinguish temporary validation failures from confirmed missing images. #3715
- Add the existing
plex_bulk_edit_batch_sizeoperation to the configuration schema. - Cache IMDb direct ratings locally. Library load batch-fetches that library's IMDb ids from Kometa Utilities
POST /ratingsand reuses them untilcache_expiration; later direct rating lookups read the cache, and misses are batched instead of requested one title at a time. - Cache IMDb genres locally. Library load batch-fetches that library's IMDb ids from Kometa Utilities
POST /genreand reuses them untilcache_expiration; later genre lookups read the cache, and misses are batched instead of requested one title at a time. - Fix startup crashes when timing instrumentation is enabled by using the initialized logger for timing announcements. #3718
- Make up to three attempts for Plex image uploads returning HTTP 502, 503, or 504, and report retries with the item and image details instead of a traceback, including artwork resets and overlay uploads/removal.
- Map the German genre names Dokumentarfilm, Kriegsfilm, Liebesfilm, and TV-Film to the existing default genre posters. #3713
- Avoid quadratic item deduplication across builder entries and while compiling overlay item lists, reducing episode-overlay preparation work for large libraries while preserving item order, limits, and existing filters. #3722