Changed
- Trakt functionality has been removed from Kometa following recent changes to their support of third-party apps and updates to their API and Developer guidances. Please see the FAQ page or Announcements channel in the Discord Server for further information
- Send explicitly configured
watchedfilters to Tracearr's Public API v2 history endpoint, reducing history records transferred before Kometa applies its remaining filters. - Fetch MDBList data in cache-aware batches of up to 100 items, substantially reducing API quota usage for library operations, direct rating overlays, and overlay value filters.
- Consolidate item-specific IDs, titles, GUIDs, and URLs in end-of-run warning and error tables, derive missing-rating groups from active overlay sources, and move missing overlay template values into the Overlay Summary.
Added
- Add the
tracearr_watched_mediabuilder for retrieving Tracearr's distinct watched or partially watched movie, show, and episode sets using provider-ID matching and the compact Public API v2 watched-media endpoint. - Add the
textbuilder for defining ordered IDs inline as a YAML scalar, literal multiline string, or list using the same identifier syntax astext_file. - Add
url_themeandfile_thememetadata attributes for uploading theme music to individual movies and shows. - Support the
folder_locationPlex search option in music-library track builders. - Add a FlickList connector (
flicklistconfig attribute) with read-onlyflicklist_list,flicklist_list_details,flicklist_user_lists,flicklist_watchlist,flicklist_favorites,flicklist_watched,flicklist_ratings,flicklist_up_next, andflicklist_trackedbuilders, plus aflicklist_descriptionsummary source. - Add
sync_to_flicklist_listandsync_missing_to_flicklist_listto sync a collection's contents to a FlickList list, mirroringsync_to_trakt_list/sync_missing_to_trakt_list. - Add
flicklist_useras a mass rating source, using the FlickList user's personal ratings. - Support MDBList episode lists in episode-level collections.
Fixed
- Report "Trakt Connection Successful (Public Mode)" instead of a plain "Successful" when a configured Trakt authorization fails to refresh, so the run log doesn't contradict the authentication error logged just above it.
- Treat empty Plex collections and playlists as existing objects so stale smart filters can be repaired and repeated runs do not create duplicate collections; also clarify that empty or stale smart collections can cause duplicate-title warnings. #3572
- Stop crashing with
ValueError: substring not foundwhen repairing a stale smart collection whose stored filter is empty or missing a query string. - Skip automatically discovered stale TMDb IDs during franchise discovery and TMDb-based Plex filtering without generating failure notifications. #3561
- Reject malformed TVDb external IDs returned by TMDb so IMDb Defaults skip unmappable shows instead of later reporting a TVDb URL error. #3548
- Honor disabled debug mode in terminal and Docker console output while retaining diagnostic debug records in log files. #3568
- Continue metadata and overlay processing when a Plex request times out while removing an existing
Overlaylabel during image updates; log the failed image update instead of aborting the library run. - Skip nonnumeric, non-finite, negative, and above-range provider ratings instead of sending them to Plex or rendering them in rating overlays, and leave invalid provider and overlay values uncached so they remain visible on later runs.
- Fix CLI arguments (e.g.
--config) being silently reset to their defaults on Python 3.14, where theProcessPoolExecutorrunning the actual work now defaults to theforkservermultiprocessing start method on Linux instead offork. - Fix the
resolutionDefaults overlay file selecting unpaired-Dovetailvariants when a resolution or edition counterpart is disabled or unmatched, while continuing to use paired Dovetail overlays when both match; also resolve overlay suppression without list-mutation skips or allowing lower-weight group losers to suppress other overlays. - Prevent Plex poster operations and later same-run processing from requesting invalid metadata by reducing show reload payloads and refreshing items plus rating-key mappings after
split_duplicatesreplaces metadata records. #3519 - Silently ignore invalid TMDb aggregate cast/crew role entries and isolate remaining TMDb object parsing failures to the affected item so mass rating operations and subsequent overlays continue; the invalid entries come from TMDb and require no user action. #3518
- Honor HTTP 429
Retry-Afterresponse headers across shared HTTP integrations, including Trakt rating updates, instead of immediately continuing with subsequent requests. #3525 - Prevent
delete_collectionsfrom treating configured collections with localized or custom-resolved titles as unconfigured when operations run before collections. - Fixed
audio_codectrack builder - Include collections removed by the
delete_collectionslibrary operation, the--delete-collectionsCLI option, dynamic collection sync, anddelete_collections_namedin the run-end notification total. - Fix
audio_language/subtitle_languageplex_searchfilters matching zero items whenever a library has multiple Plex-reported locale variants for the requested language (e.g.de+de-DE); the variants were beingANDtogether into an impossible filter instead ofOR. Regression from #3440. - Accept Plex-reported language names and fall back from three-letter language codes in
audio_language/subtitle_languagesearches, show available languages for invalid values, and display expanded language variants once in filter summaries. #3570 - Fix
episode_*ratings from producing a critical error when Trakt did not have an episode in its database - Fix DC-based lists in 'universe' Defaults file
- Fix ghost progress logging (e.g.
Parsing ID x/y) writing carriage-return-only output regardless of whether stdout is a terminal, which collapses an entire run into a single unbounded log line for containerized/piped deployments; ghost output is now skipped when stdout is not a TTY. Fixes #3542. - Fix
plex_collectionlessnever recognizing an item as belonging to a smart collection (used by most Defaults collection files, e.g.genre,studio,audio_language), since Plex does not tag items with smart collection membership; membership is now resolved from each retained collection's actual items instead of the item's owncollectionstag list. Fixes #3537. - Fix
prefetch_mdblistraising when an orphaned Season/Episode's parent Show has been deleted from Plex (item.show()returningNone); such items are now skipped instead of crashing the MDBList prefetch pass.