github MoldyTaint/Cinephage v0.19.0

6 hours ago

0.19.0 (2026-09-19)

Bug Fixes

  • acquisition: hard-stage enforcement, intent lifecycle, and recoverable imports (5853f09)
  • arr-compat: add downloadclient, fix lookup prefixes, fix Open in Radarr links (ac18f84)
  • arr-compat: implement Radarr/Sonarr exclusion list endpoints (be1a300)
  • arr-compat: map language endpoints onto v2 language profiles (df59887)
  • arr-compat: parse Sonarr requests tvdbId identity against Cinephage tmdbid (3973217)
  • arr-compat: resolve case-insensitive routing + real language/languageprofile data (7f887d8)
  • download-clients: align the debrid client form with the app template and clarify torrent-acquisition UX (877606a)
  • downloads: persist failed grabs to download_history (573cf6a)
  • downloads: stop the infinite import retry loop for permanently-failed items (8d6aad0)
  • imports: notify media servers immediately on import completion (74d2131)
  • indexer: revert NoName Club indexer name to pass indexer file test (685ac04)
  • indexers: bind search-level response.type instead of silently dropping it (fc3b672)
  • indexers: honest language parsing, definition-language demoted, enhanced-path language boost (76d31e1)
  • language: enforce profile/settings authority and migration guards (5526446)
  • library: stop stamping instance default as item profile override at add time (5761b14)
  • livetv: harden HLS to TS streaming and segment proxying (cd920ce)
  • mediabrowser: surface notify failures (3a9ae32)
  • mediabrowser: use the full Authorization header Jellyfin 12.x requires (3647f1d)
  • metadata: locale authority, naming parity, EPG display language, and parser coverage (c07a4e7)
  • naming: valid localized-title locales, rename parity, canonical {AudioLanguages} (d5aa736)
  • repair yaml parsing in indexer validator script (58d560e)
  • reports: replace native confirm() with the app's ConfirmationModal and disable Export button when reports are empty (e0ba8f3)
  • security: harden SSRF checks against mapped IPv6 and multi-address DNS (a694943)
  • settings: allow saving the External URL setting (076a6c7)
  • settings: resolve library quality-profile dropdown defaulting and update checkbox styling. (45d80a8)
  • smart-lists: honor language_profile_id on auto-added items; drop default-stamping helper (868cd47)
  • streaming: file-safe STRM handling, session correctness, and format honesty (4891ce8)
  • streaming: keep session playlists uncached, subpath-safe, and Origin-free upstream (3e2188c)
  • streaming: normalize HLS URL rewriting and provider URL handling (8c702e2)
  • subtitles: full-result manual download, multi-file keys, surfaced provider errors (07a2e94)
  • subtitles: override-aware search, provider throttling, and safe retirement (e0d66a3)
  • subtitles: refuse symlinked or traversing subtitle paths (de0087f)
  • subtitles: resolve effective profile read-only in tasks/import; never persist resolved defaults (95a3906)
  • subtitles: route every search path through per-requirement backoff (48936e4)
  • test: renumber stray migration references in media-server test (366da58)
  • test: smart_lists filters column expects an object (a2be1bd)
  • ui: break effect loop in library edit modal profile prefill (8fd2f2f)
  • ui: link add-flow no-default-profile warning to the languages settings page (69158a0)
  • ui: SSR-render subtitle requirement rows (initialize working copy from props) (e1cfb2c)
  • version: stop doubling the v prefix on login and setup (61cddb3)

Features

  • acquisition: intent-based acquisition authority + identity enforcement (90dc718)
  • api: language profile v2 + language settings + metadata mode/value endpoints (6232afd)
  • api: per-item subtitle requirement override endpoints (movies/series/episodes, bulk clear, library-aware effective) (aa5e0a3)
  • arr-compat: add movie/series (POST/PUT/DELETE) actions (8076ffd)
  • arr-compat: add notification webhook support for Pulsarr/Notifiarr (c9602e3)
  • arr-compat: add Radarr/Sonarr API compatibility layer (53e7096)
  • arr-compat: add release/push endpoint for autobrr integration (bf3c814)
  • db: language profile v2 + language_settings schema definitions (df3952b)
  • db: language system reset migration (v2 profiles, language_settings, canonicalization, FKs) (94f59e1)
  • db: subtitle requirement override columns + inheritance repair (m143) (2fba8ed)
  • db: subtitle search state, upgrade rotation, episode path-base fix (m138) (82354c8)
  • indexers: add Blutopia direct API indexer definition (56937af)
  • indexers: add Nebulance direct API indexer definition (d0ccf41)
  • indexers: add PassThePopcorn direct API indexer definition (3d2a6e3)
  • language: add combined profile types and v2 Zod schemas (f0d7202)
  • language: add server boundary normalizer with ISO fallback (8def1dc)
  • language: effective-profile API with source, library defaults, original-title instance default (m141) (46b4688)
  • language: generate checked-in ISO 639-2/3 mapping table (92ce101)
  • language: rewrite shared registry with canonical tags and aliases (29a1a14)
  • library: add NFO + poster/fanart sidecar files feature and manual sidecar file regeneration task (3f647c2)
  • livetv: configurable Stalker portal language; Unicode-aware channel matching (220f837)
  • livetv: preserve XMLTV @lang with display-time selection (m140) (66ca882)
  • media-server: detect the running product and unify API-key auth (4f8e983)
  • media-server: normalized + raw language stats, deterministic multi-source enumeration (m140) (257a1d8)
  • metadata: language_settings drives TMDB locale/region; discover origin filter separated (f293eda)
  • metadata: language-tagged alternate titles from translations; AniList/MAL title variants persisted (8b60799)
  • metadata: persist original_language with lazy+task backfill; URLSearchParams; series-original episode fallback (336ac4a)
  • streaming: audio-preference-driven source selection with compatible session reuse (94037f1)
  • streaming: default subtitle track from effective language requirements (35d8b98)
  • subtitles: atomic downloads, single history write, notify hook, rename-aware paths (dcf2fb8)
  • subtitles: effective subtitle requirements resolution (item overrides, cutoff rule, tri-state gate) (f7c6700)
  • subtitles: per-requirement acquisition, normalized scores, honest automation reporting (d2239ef)
  • subtitles: provider capabilities, settings UI, rate limiting, priority tiers (ba47e59)
  • subtitles: reconcile scanner, unambiguous association, unified path base, scan hooks (ca0e3fc)
  • subtitles: single requirement matcher with variant/accessibility truth table (3eaced2)
  • subtitles: v2 profile service + language settings as single default authority (32f2f1b)
  • ui+api: apply library language default to existing items (250f62a)
  • ui+api: per-requirement "Search now" from details pages (28f7266)
  • ui: apply the prefer-original-title instance default (0026422)
  • ui: bulk language profile assignment + override clearing on list pages (779aab2)
  • ui: consolidate language settings and profiles into Library Languages tab (6c1e519)
  • ui: inheritance UX — library defaults, per-item overrides, effective-profile display (f3b78ef)
  • ui: language profile + subtitle customization in add flows (ed27bc1)
  • ui: Languages & Localization settings hub (8c2df58)
  • ui: minimal v2 adaptation for language profiles, settings, and metadata overrides (db64412)
  • ui: minimum-score slider with plain-language help (c171076)
  • ui: per-item subtitle requirements editing on details pages (941d4d4)
  • ui: profile-delete impact preview (57939d0)
  • ui: requirement-aware subtitle badges and terminology pass (47c5985)
  • ui: series header aggregate subtitle badge (c83306d)
  • validation: subtitle requirements override schema for movies/series/episodes (b8d3f20)

Don't miss a new Cinephage release

NewReleases is sending notifications on new releases.