github MoldyTaint/Cinephage v0.2.1

5 hours ago

0.2.1 (2026-04-19)

Features

  • Use git-cliff for release changelog generation (3f51526)

Bug Fixes

  • Fix Transmission seed ration and time settings not set correctly (#290) (b74d35a)
  • Correct git-cliff template variable (timestamp not date) (d7b06a4)

0.2.0 (2026-04-17)

Features

  • Extract MediaServerStatsSection component for unified status page (cfedb36)
  • Add unified status page data loader (ba9de25)
  • Create unified status page composing storage and media server sections (1b9966b)
  • Add unified summary cards and combined scan/sync status to status page (e6dfcc6)
  • Add isPlayed and playedPercentage to media explorer query (32fd707)
  • Redesign playback column with isPlayed and playedPercentage indicators (92bcd03)
  • Redesign media explorer filter bar with tiered chip layout (9180108)

Bug Fixes

  • Clamp playedPercentage to 100 to prevent progress bar overflow (79f2b82)
  • Resolve lint errors (each keys, unused var, unused props) (a87daa9)

Refactoring

  • Update general settings nav tabs to use unified Status page (9bb6ff4)
  • Remove old maintenance and server-stats pages in favor of unified status page (8ac7878)
  • Strip overview sections from storage and media server components (6faea29)
  • Remove redundant overview cards and charts from unified status page (e619c26)

Styling

  • Format media explorer changes (5ce0188)

Miscellaneous

  • Formatting, uppercase codec labels, add rootFolderIds, export MediaExplorerTable (f572536)

0.1.2 (2026-04-16)

Bug Fixes

  • Unify scoring profiles into single DB source, fix profile-not-found on add-to-library (1c1aa87)
  • Gate cloudflare streaming live test behind LIVE_TESTS env var (cb41d4b)

0.1.1 (2026-04-15)

Features

  • Add auto-fill version/commit from GitHub releases to streaming indexer (4cb831b)

0.1.0 (2026-04-15)

Features

  • Add dynamic capability discovery for Newznab/Torznab (ae4671c)
  • Add multi-source tracking for deduplicated releases (480f0d1)
  • Add external ID extraction for improved media matching (bf9ac3b)
  • Add BitSearch public torrent indexer (ebbd2a6)
  • Add OldToons.World private tracker support (02d1473)
  • Add SceneTime private tracker with BrowserSolver (46a3637)
  • Add embedded subtitle support and monitoring tasks (a60fba2)
  • Add person detail pages with filmography (4269cba)
  • Unified task management with activity tracking (9524387)
  • Add naming system, enhanced settings, and import improvements (67b324e)
  • Add Cinephage logo to app and README (6cde8ba)
  • Comprehensive Docker configuration overhaul (3a6a1e9)
  • Implement PUID/PGID for proper permission handling (f1d03ea)
  • Add movie collection bulk-add support (2464398)
  • Add smart lists with TMDB discover integration (9e13f0e)
  • Enhance smart lists and fix discover TV filter (fbc53e1)
  • Add media naming system with embedded schema sync (083f44c)
  • Add read-only root folder support for NZBDav integration (f5d2edf)
  • Add task cancellation system with TaskExecutionContext (c4670b4)
  • Add language-aware stream source fallback (4069e5c)
  • Add GitHub Actions workflows (8fee398)
  • Implement rootless Docker and add CI verification (14cf8d5)
  • Add read-only folder support for virtual mounts (60855a3)
  • Add subtitle support with SRT-to-VTT conversion (b02df9d)
  • Add unified resolve service with persistent cache and prefetch (043b7b6)
  • Improve folder scanning and streaming URL configuration (bfec5e6)
  • Add bulk editing for movies and TV shows (34fd391)
  • Add native NZB/NNTP streaming support (9c900e0)
  • Add NZB streaming with extraction support (eb3f80e)
  • Add bulk operations and streaming to library pages (ebf95f2)
  • Add Live TV navigation and streaming settings (c788f50)
  • Add initial Live TV implementation [WIP] (4fcedc2)
  • Sabnzbd rewrite, live tv streaming, and queue improvements (1dfdad8)
  • Complete architecture refactor with streaming and media browser support (61b5660)
  • Add portal scanner for discovering Stalker accounts (2b6f78a)
  • Add EPG status tracking and UI improvements (f9d97a6)
  • Add EPG management page with status, coverage, and guide views (3679759)
  • Add optional URL base support for client endpoints (#55) (dad0a8b)
  • Add URL base support for download clients and update related components. (04fe974)
  • Add NZB-Mount client with STRM/Symlink import support. (a3ad50c)
  • Enhance ImportService tests with detailed type definitions for findImportableFiles (3ca7d7c)
  • Add file scoring system and fix queue system bugs (a2234b6)
  • Add stream URL type detection for proper resolution method (1fa849f)
  • Add multi-title search with TMDB alternate titles (4d7004c)
  • Add dead torrent rejection and usenet post-processing status (4e456d1)
  • Add unified activity system and usenet pre-flight checks (46a5f02)
  • Add Camoufox-based captcha solver for Cloudflare bypass (0343509)
  • Add captcha bypass endpoint and toggle (e33cc75)
  • Add import transfer modes with seeding-imported status (ac9ac5d)
  • Add HDR normalization and enhanced audio parsing (1660eda)
  • Add banned BR-DISK and raw disc custom formats (0eb600f)
  • Add fetch statistics to captcha solver UI (b1dec3b)
  • Add fetch statistics tracking to captcha solver (882f48c)
  • Add canMoveFiles and canBeRemoved to download clients (cf735ab)
  • Add dangerous file extensions and seeding-imported badge (e79cb30)
  • Implement Radarr-style deduplication and debug tools (6eecbea)
  • Bazarr-style architecture with dynamic provider system (36f271b)
  • Add 'Remove from Library' option to fully delete movies/series (e00a08a)
  • Add dev branch support, optimize Docker builds, and enhance mobile UI (#80) (b7dc0af)
  • Add release workflow and enhance Docker build configuration (4c8df7d)
  • Add script to fix TV subtitle paths and enhance subtitle download service (1610770)
  • Add script to fix TV subtitle paths and update npm command (452d00c)
  • Standardize library/discover paths and add legacy redirects and fix activity links (46cb750)
  • Enhance subtitle handling, monitoring features and library reactivity (40f2ec2)
  • Initialize subtitle provider registry during service startup (ea9cdaa)
  • Sortable queue/history table headers and queue bulk remove (8f11309)
  • Add clear failed downloads functionality and update UI components (#88) (f524ca5)
  • Add NixOS flake support (35fadac)
  • Add external list import support with StevenLu presets (2bc8ede)
  • Add IMDb and TMDB list providers with concurrent resolution (4572b5c)
  • Move app state under /config with auto-migration (8bef7aa)
  • Complete indexer backend overhaul and fixes (d0d6e52)
  • Add LimeTorrents public indexer (6ee6983)
  • Add Prowlarr indexer definitions and improve compatibility (5d9ad83)
  • Add info_hash tracking for duplicate torrent detection (70eb28c)
  • Improve indexer config handling and download resolution (3a3b171)
  • Improve quality scoring and remove hard cutoffs (d8101c4)
  • Add encoding support for non-UTF-8 indexers and RuTracker integration (3e22c77)
  • Overhaul Activity page with unified feed and enhanced filters (93d4a7a)
  • Add filter to show/hide 'No Results' activities (6778052)
  • Enhance movie and series API with root folder media type (98b2395)
  • Improve streamer profile UI and add accessibility enhancements (#111) (740bf37)
  • Enhance profile and episode size limit handling, improve UI responsiveness. (563b883)
  • Enhance profile size limits with validation and improve mobile responsiveness (#113) (b01b59a)
  • Overhaul tasks page with table UI and customizable intervals (b09389d)
  • Add SSE streaming endpoint for real-time task updates (ac36817)
  • Emit SSE events from task API endpoints (ee326c1)
  • Overhaul tasks page with table UI and customizable intervals (91a0e1e)
  • Implement modular SSE system and refactor Activity page (453be8e)
  • Add SSE stream to home page dashboard (2076759)
  • Add real-time SSE streaming to library detail pages (3431ae1)
  • Implement upsert functionality for episode files to avoid duplicates (b4572ef)
  • Add 'hide items already in library' filter to discover page (9e97596)
  • Refactor state management in movie and TV series pages to use derived states and dynamic SSE (9fe1611)
  • Restore library root-folder assignment UI after unmatched refactor (b4de540)
  • Restore root-folder assignment UI for library items (#127) (1b70daa)
  • Enhance movie availability tracking and UI updates (f2b0cce)
  • Enhance movie availability tracking and UI updates (#129) (15d2e7f)
  • Add paused status to activity and download queue (1b9473e)
  • Add paused status to activity and download queue (#130) (038a18c)
  • Add nCore.pro indexer support (f51e220)
  • Add optional 2FA support for ncore.pro (9ad1224)
  • Improve indexer download system with downloadVariables support and torrent caching (1fb8d1d)
  • Persist indexer session cookies to database for ncore.pro 2FA support (9591ec6)
  • Include symlinked video files in import candidates and update documentation for Rclone mounts (456ab34)
  • Enhance EPG fetching and account management (4ded8de)
  • Improve integration health tracking, error handling, and add bulk operations across multiple integration pages (1d3e097)
  • Enhance EPG fetching and IPTV account management (#133) (13f46da)
  • Improve integration health tracking, error handling, and add bulk operations across multiple integration pages (#134) (9460690)
  • Add parent folder renaming to media file rename system (a972e11)
  • Add list view with auto/manual grab for movies and tv shows (9e2916e)
  • Unify MediaType types, enhance bulk/delete flows, and polish library UI across Movies and TV (#145) (2332bdb)
  • Replace unreliable blocked/status flags with actual stream verification in account tests (923676e)
  • Add support for Torznab protocol and enhance capabilities validation (#153) (9c576a9)
  • Update base image to node:24-trixie-slim and enhance Dockerfile for production (#157) (4118437)
  • Enhance UI for mobile devices (#158) (7ef4639)
  • Add rTorrent (XML-RPC) and Transmission (RPC API) download client implementations (#159) (34661d2)
  • Add rTorrent (XML-RPC) and Transmission (RPC API) download client implementations (59299ae)
  • Introduce import wizard with API and error handling refactor (545a67e)
  • Enhance root folder validation with overlap checks and error handling (5efa0d1)
  • Add downloads to allowlist, path-guard tests for symlink handling and realpath resolution (66b4c48)
  • Add GHCR retag latest workflow and enhance release tagging logicic (#184) (03750c6)
  • Major development branch with auth, SSE, search, and system improvements (1a1ba30)
  • Add database path configuration via environment variables (c446896)
  • Add private IP exemption for rate limiting (7bbf26a)
  • Add graceful shutdown handler for background services (1af8c14)
  • Implement RBAC authentication system (8c57c3f)
  • Add role column to users table (5f602c9)
  • Enforce admin authorization on API endpoints (5a58783)
  • Implement admin password reset functionality and update documentation (fd230db)
  • Improve ActivityService and TMDB error handling (cc6498e)
  • Enhance library pages with better data handling (328e113)
  • Add missing settings API endpoints (c1b7a96)
  • Route resolution through Cinephage backend (bd25039)
  • Enhance version bump logic for dev branch and add parsing for stable tags (63ddd5c)
  • Add GHCR retag latest workflow and enhance release tagging logic (db29bba)
  • Implement activity history management and SSE events (dbdd7a2)
  • Integrate logo picker and improve streaming auth (137db96)
  • Enhance error handling and indexer availability checks in search functionality (ecda835)
  • Add Live TV channel name cleanup workflow and HLS playlist fixes (893c83b)
  • Improve EPG source resolution and provider sync cleanup (ae77bcb)
  • Expand release metadata for rename previews (5dc957b)
  • Add activity stats endpoint and enhance activity retrieval with scope filtering (ef1df74)
  • Enhance JSON response formatting in health and system status endpoints (af91a14)
  • Unify app version resolution and make streaming API key rate limits configurable via env (7d4847d)
  • Streamline activity page loading (683476e)
  • Implement new health and readiness endpoints, enhance docker ownership handling, improve startup configuration and update documentation (2cefd80)
  • Refactor environment variable retrieval for better compatibility (e77291d)
  • Add EPG sync state tracking and robust M3U EPG parsing (2637bf5)
  • Add native subtitle sync engine with cleanup (f7a8dc9)
  • Overhaul TV show subtitle management UX (30cfd9c)
  • Add xstream URL normalization and player API URL builder (5f3bbf2)
  • Add selectable history and active queue IDs for bulk actions (63df41e)
  • Implement download queue tombstones for local removal suppression (9d4a86a)
  • Support .strm subtitle sync with friendly errors and streamer-profile guard (2f74f9f)
  • Add search_error status, activity source tracking, and fix import failure detection (36b4474)
  • Require BETTER_AUTH_SECRET env var and remove auto-generation (7ed0db7)
  • Add adaptive subtitle searching with backoff after 21 days (b7416a5)
  • Add history cleanup task, streaming key pre-check, and provider availability guards (04bae6c)
  • Add plex media server integration (bbc8f89)
  • Improve multi-pack detection and multi-pack search UX for tracker-style TV releases (969b7e3)
  • Enhance RuTracker search functionality and episode handling (ce7ea35)
  • Implement auto search strategy for RuTracker and enhance episode handling (31489f9)
  • Add Kinozal indexer support (2760f66)
  • Improve modal layout and add automatic language detection (fa0d8a2)
  • Add i18n infrastructure with Paraglide JS v2 (ff14bb7)
  • Add user language preference API and database schema (aeff37f)
  • Integrate i18n into application shell (e59c6d1)
  • Migrate all route pages to i18n (6d95f2f)
  • Migrate all Svelte components to i18n (04691c5)
  • Add language filter to discover page (df915f4)
  • Standardize settings pages with shared components and route consolidation (2f4e543)
  • Add media subtype support for root folders and enforce anime root folder settings (25648c4)
  • Add media move functionality and enhance root folder management (580894b)
  • Enhance manual import service with anime classification and match consensus (a98ed1e)
  • Enhance library navigation and anime root folder enforcement (95f131f)
  • Translate Spanish (es) localization file (ff0904f)
  • Introduce custom library support and backfill existing media (3847ecd)
  • Enhance library and root folder management (d4c19b8)
  • Localize and enhance library storage management (07b9ba0)
  • Align spanish tranlation paraglide keys (be7a955)
  • Add missing messages and project.inlang files to Docker build (0d89fb7)
  • Add source-only and resolution-only scoring formats (3dbb858)
  • Add playback sessions and persisted support logs (70368e9)
  • Canonicalize release parsing and scoring attributes (2d62d9f)
  • Support built-in profile overrides and runtime custom formats (4192fc6)
  • Refine quality scoring UI and search result details (8938b25)
  • Improve streaming prefetch and usenet playback resilience (5cec266)
  • Add configuration backup and restore with encrypted secrets (ca0e328)
  • Auto-detect latest CI candidate for releases and remove manual release notes input (bcce4a7)
  • Add automated release pipeline triggered by semver tags (3143acc)

Bug Fixes

  • Remove non-functional providers, fix Subf2m selectors (956fb4b)
  • Graceful shutdown now stops all background services (78af871)
  • Update CSRF config to use trustedOrigins (b037761)
  • Gracefully handle missing TMDB API key during fresh install (4c8ab5a)
  • Include data/indexers in build context (1b55211)
  • Simplify .dockerignore to properly include indexers (dd28f54)
  • Add .gitattributes to prevent CRLF line endings in shell scripts (ab94639)
  • Remove duplicate nzbname parameter to address list type error (ccc556d)
  • Prevent race condition in streaming file cleanup and optimize batch operations (69e9939)
  • Remove obsolete db:push from docker entrypoint (61eef22)
  • Add protocol-based client selection for usenet downloads (c29282f)
  • Remove duplicate docker-compose.yml causing user confusion (9ee52bb)
  • Improve auto-labeling and remove redundant template option (d0302b0)
  • Resolve lint errors and improve Svelte 5 reactivity (c2969ba)
  • Resolve dependabot security vulnerabilities (1c3ac6c)
  • Use protocol-aware client selection for downloads (ab6e843)
  • Resolve grab failures due to missing quality profile (e2dd291)
  • Prevent 502 errors on series refresh through reverse proxies (754ec5e)
  • Improve streaming API reliability with source fallback (822b045)
  • Resolve test failures in CI (c9bc9f3)
  • Resolve lint errors in test files (fe35e0d)
  • Resolve TypeScript errors in test files (b8b0881)
  • Use existing node user instead of creating cinephage user (69603ec)
  • Prevent API key exposure in URLs and add ReDoS protection (2651cd7)
  • Set keepAliveTimeout for reverse proxy compatibility (5ae1435)
  • Disable JS modulepreload Link headers for nginx compatibility (70677d6)
  • Improve External URL configuration UX (45e1408)
  • Use IPv4 loopback for healthcheck (fa953d6)
  • Add option to delete files from disk when removing content (196ffe3)
  • Resolve svelte-check warnings and improve code quality (c1f2712)
  • Use native arm64 runners for Docker builds (3005a58)
  • Lowercase image name for Docker tags (b58d61a)
  • Use json format for manifest digest extraction (e758152)
  • Correct episode subtitle download path calculation (38f9abf)
  • Update health tracker tests and fix linting issues (3f63ad9)
  • Resolve type and formatting issues in download client components (b82c47b)
  • Remove unused 'and' import from DataRepairService (d7b23fe)
  • Resolve ESLint and Prettier issues in Live TV module (c41d53d)
  • Prevent premature import during post-processing (edeb859)
  • Add eslint-disable for reserved loading state variable (595fbfb)
  • Properly fix Live TV lint issues (remove dead code) (5c0b1a9)
  • Make individual provider tests non-blocking (d3258a5)
  • Comprehensive rewrite with storage validation and retry logic (06e84cc)
  • Make live validation tests non-blocking on provider failures (a24449f)
  • Improve SABnzbd robustness, search filtering, and CI stability (5c1acca)
  • Resolve lint and test failures (54a0f0d)
  • Resolve ESLint errors in livetv components (e5c69a9)
  • Reload NNTP manager on server changes and auto-cleanup streams (4b39000)
  • Filter releases by category to prevent wrong content types (af1d5ee)
  • Prevent duplicate movie file records during import (c129ca1)
  • Update contrib.rocks URL to show all contributors (a7e83a5)
  • Resolve lint errors after PR merge (bc3aeb3)
  • Block music/soundtrack releases from being grabbed (cc3d7cf)
  • Implement robust per-migration tracking with schema drift detection (fdf53aa)
  • Add stream validation to enable automatic backup failover (0b336e5)
  • Correct env file reference in README quick start (05e8f14)
  • Enhance search input handling and NZB-Mount client behavior (4ae429a)
  • Release group extraction and display in queue/history (722751e)
  • Add size property to GrabRequest type (44e80cf)
  • Resolve build warnings (c56a94c)
  • Address lint errors (b3a9e15)
  • Resolve typecheck issues (12a3530)
  • Resolve lint errors and remove unused code (900fe0a)
  • Use cloudflareFetch for download handler requests (f2df07f)
  • Eliminate duplicate episode tokens in search queries (#72) (19d172b)
  • Prefetch camoufox binaries during build and update package-lock with peer dependencies. (2515e93)
  • Fetch camoufox at runtime to keep image slim (aeff04e)
  • Update Camoufox installation path and cache handling (ef6894a)
  • Resolve queue/import issues and scheduler status reporting (3df57b0)
  • Resolve test failures and improve test reliability (e36e9fe)
  • Resolve Prettier formatting issues in 6 test files (24959fc)
  • Install Playwright browsers before running tests (e3ff59a)
  • Add assertions before early returns in live validation tests (93c953b)
  • Download Camoufox at build time to fix Docker permission issues (0453cd6)
  • Standardize Docker env vars to CINEPHAGE_* prefix (608903d)
  • Improve Docker permission error handling and documentation (dea78f7)
  • Correct media title URLs in queue pages (9f06fcd)
  • Add complete Firefox browser dependencies for Camoufox in Docker (3b271e4)
  • Robust browser lifecycle management in CamoufoxManager (1c2c34e)
  • Mobile responsiveness and live tv browsing improvements for better user experience. (574e29d)
  • Enhance UID/GID handling and Camoufox caching (4d3e392)
  • Update Docker build trigger to include dev branch (5ec5260)
  • Update Camoufox installation path and cache handling (60385a3)
  • Improve spinner output handling in docker-entrypoint.sh (15e433a)
  • Prefetch camoufox binaries during build (7232bf4)
  • Update camoufox entrypoint. (d34127f)
  • Add xvfb and GLX/Mesa libraries to Dockerfile (5d07244)
  • Resolve camoufox cache path for custom UIDs (Synology) (a684f39)
  • Add cat parameter to Newznab API requests (14bde9f)
  • Lock season/episode monitoring when series is unmonitored; enhance npm configuration and Docker setup to prevent memory leaks (ee51cd1)
  • Enhance Docker build and release workflows (941ec45)
  • Remove unnecessary blank line before initialization comment in hooks.server.ts (7d96ea3)
  • Add profile page to resolve 404 error (6757248)
  • Correct external list provider mapping and preset settings merge (7898819)
  • Move all caches to /app to fix PUID/PGID permission issues (cebf4c9)
  • Add missing dependencies for Camoufox browser (c89d5df)
  • Fixed the syntax error in docker-entrypoint.sh by removing the empty then block and using a negated check. (5799e9a)
  • Remove USER directive for non-root execution in Dockerfile (f2fa070)
  • Use database naming config and improve quality data handling (0298c07)
  • Bundled data sync, subtitle monitoring, and UI polish (0914f6a)
  • Bundled data sync, subtitle monitoring, and UI polish (#104) (018a775)
  • Resolve all ESLint errors and improve error handling (d03ca54)
  • Use console.error instead of logger in browser component (7d15bb7)
  • Resolve high severity vulnerability in @isaacs/brace-expansion (b8853c8)
  • Align vitest dependencies to resolve npm ci failure (15a8828)
  • Update /queue references to /activity to fix type check errors (1d34f85)
  • Resolve lint error - rename unused getYear to _getYear (740ccb9)
  • Remove dead code - unused _getYear function (a05476c)
  • Add rollup platform-specific deps as optional dependencies (164f908)
  • Package-lock.json lightnening CSS build issues (0ad053a)
  • Correct search routing and allow manual episode auto-grab override. (edd69f0)
  • Correct search routing and allow manual episode auto-grab override. (#115) (be22fba)
  • Make SSE system SSR-safe (2ba6d13)
  • Deduplicate episode files and optimize STRM reprobe (#117) (4ebbe5b)
  • Complete library/activity SSE parity and mobile UX consistency (b706dc9)
  • Separate aired-missing and unaired episode counts (0220540)
  • Library detail SSE parity, activity sync, and mobile UX improvements (#125) (166ef12)
  • Live TV type safety improvements (157e89e)
  • Resolve ESLint errors in livetv module (d949d12)
  • Apply exclude_in_library filter to search and dashboard (6210803)
  • Preserve exclude_in_library filter in View All links (1a6ea31)
  • Fix top rated filtering consistency (279436d)
  • Remove FK constraints from legacy Live TV tables (5017d63)
  • Correct indentation in schema sync and page server files (a23e17c)
  • Exclude specials from TV missing counters and ignore monitor state. (7bdbd62)
  • Improve episode counting logic for missing content (#126) (00c3280)
  • Prevent worker slot exhaustion and, enhance Update .strm URLs & Reprobe .strm Media Info tasks (f2619ad)
  • Resolve worker slot leaks and, enhance "Update .strm URLs" & "Reprobe .strm Media Info" tasks (#128) (0a24d5a)
  • Always prefer torrent files over magnet links for private tracker compatibility (c6588bd)
  • Keep symlinked NZB-Mount media visible after reload and library scans (3a36072)
  • Send correct identifier to download clients for remove/pause/resume requests (fe26daf)
  • Send correct identifier to download clients for remove/pause/resume requests (#136) (7cc0be6)
  • Resolve duplicate key crash in interactive search modal (d1d3eaf)
  • Improve search reliability with tvdbId support and title relevance filtering (f28ee62)
  • Reconcile missing-state searchability and harden release/cooldown logic (#139) (23d5e00)
  • Harden external source handling and overhaul smart list UX (#146) (39ff4cc)
  • Add ID validation and year matching to prevent wrong movie results (ee152cb)
  • Improve movie ID search reliability on Newznab indexers (#151) (93f5c91)
  • Prevent command injection in subtitle sync service (fa11658)
  • Enforce CSRF origin validation for private networks (4e4d298)
  • Harden SSRF protection and proxy security for all outbound requests (8943c75)
  • Apply base security headers to all routes and validate correlation IDs (b41be26)
  • Redact credentials in API responses and settings UI (bec28b6)
  • Restrict filesystem browse, path traversal, TMDB proxy, and query columns (177c395)
  • Resolve stream replay loops on stalker portals via HLS-to-TS conversion (127e8cd)
  • Add master playlist support for IPTV-Org streams and Jellyfin format detection (342b989)
  • Stop library scans excluding legitimate titles and preserve streaming file paths (36de085)
  • Enhance version bump logic for dev branch and add parsing for stable tags (#183) (3612257)
  • Enhance validation for stable source tags in GHCR retag workflow (#188) (71e64bf)
  • Add circuit breaker logic to recordConnectionError (b02e290)
  • Add logging and error handling to SSE streams (f90573d)
  • Respect monitorSpecials setting for Season 0 episodes (8d09083)
  • Resolve type check errors and set Better Auth to respect DATA_DIR to resolve docker build failures. (5f6d92a)
  • Discover page minor adjustments (b533983)
  • Improve clipboard copy functionality and enhance user feedback in settings page (8257e2e)
  • Resolve Better Auth v1.5 API key breaking changes (8f7719f)
  • Add Cloudflare bypass and disable Vidlink provider (adcbf3c)
  • Update CURRENT_SCHEMA_VERSION to 66 and adjust apikey schema migration (10658be)
  • Normalize semver input for source tag in GHCR retag workflow (1f4776a)
  • Enhance validation for stable source tags in GHCR retag workflow (5254a06)
  • Correct formatting in API documentation examples (e8019cf)
  • Add rateLimit.id column and update schema for Better Auth (ea41ed0)
  • Register captcha solver in service manager for anti-bot bypass (3baad32)
  • Add streamer profile filtering for internal Cinephage Library indexer (69a7552)
  • Implement episode-only search strategy for missing episodes (434827b)
  • Add function to remove stale queue-linked activity rows (9b46eac)
  • Fall back to queue/folder release context for obfuscated filenames (e693c2c)
  • Move version resolution logic to a dedicated module (d0743d7)
  • Remove PUBLIC_APP_VERSION environment variable and update app version resolution logic (e87853f)
  • Keep queue state consistent after import and removal (0768c5c)
  • Update Dockerfile to use absolute path for entrypoint script (272567f)
  • Improve service initialization logic and enhance Dockerfile for production dependencies (bd93c05)
  • Keep optional runtime deps for impit native bindings (e4714dc)
  • Expand dashboard history preview (6b8a7cc)
  • Add missing logs route and harden error handling (a928c30)
  • Update .gitignore to include secrets and remove sensitive .auth-secret file (fd888e3)
  • Serialize Error instances in log capture store to prevent 500 on /settings/logs (0b72e67)
  • Use correct episode file as upgrade baseline (#213) (458935b)
  • Title normalization, naming cache invalidation, and log sanitization (e3ce8a4)
  • Improve API key regeneration UX with confirmation, toasts, and data refresh (55bdd8a)
  • Move dotenv to runtime deps and improve auth secret handling for SSR and testing environments (bc0b4a9)
  • Require BETTER_AUTH_SECRET at runtime and set it in docker healthcheck test (2f8eee8)
  • Normalize path handling for client paths and add tests for Windows separator support (7c4fe7d)
  • Refresh plex libraries by folder path (94a9a29)
  • Update media server description and enhance auth secret retrieval (f8c75b8)
  • Enhance search orchestrator with title variant handling and episode pointer support for RuTracker indexer (0f24e02)
  • Exclude specials from missing-episode auto-grab and UI missing counts (a1242f8)
  • Preserve localized titles in interactive matching (dbc04fe)
  • Add filter to exclude non-video artifacts from movie/TV searches (ef82e53)
  • Enhance filtering for RuTracker season packs in TV searches (0bfd858)
  • Scope RuTracker episode-only flow and prevent partial-season re-downloads in manual auto-grab (01477fa)
  • Move mobile SSE status badge into header and align with nav spacing (ba81f60)
  • Enhance auto-search error handling and reporting (159f782)
  • Update Kinozal and RuTracker configurations for improved Cyrillic handling and search strategies (0517df2)
  • Preserve Russian titles in RuTracker and Kinozal (ecb9faa)
  • Resolve 15 npm security vulnerabilities (6be827f)
  • Resolve CI failures and improve code quality (a9ccb93)
  • Resolve CI and Docker build failures (dd97ff9)
  • Resolve i18n translation type errors (4d7288e)
  • Correct syntax error in IptvOrgSelector.svelte (88111b3)
  • Resolve remaining i18n translation type errors (b5f00e9)
  • Force paraglide regeneration and fix type assertions (d979cc6)
  • Resolve German translation duplicates causing type mismatches (bbc4075)
  • Remove invalid 'items' parameter from bulk operation translations (e44fa07)
  • Resolve final 6 translation type errors (7f9e843)
  • Remove unused mediaTitle variable in MatchFolderModal (dc0a611)
  • Localize anime root-folder enforcement and warning copy (23a2761)
  • Regenerate package-lock.json (6e789cf)
  • Update German and English translations for consistency and clarity (f4828ca)
  • Enhance download client update schema with detailed validation and optional fields (3a92b23)
  • Update activity deletion logic to include move task history and adjust total deleted count (182cc7c)
  • Update TMDB configuration link and enhance modal opening logic (fb3903f)
  • NCore IMDB parsing and add debug logging for indexer search issues (e284865)
  • Authenticate before each OpenSubtitles API request (1831e1b)
  • Use rest params in mockImplementation to satisfy TypeScript (795df91)
  • Resolve build-breaking dependency issues (f287278)
  • Count stalled and paused downloads in active downloads stat (b72820d)
  • Add missing paraglide keys for custom library UI (bb5781b)
  • Resolve build-breaking dependency issues (52b101e)
  • Update integrity hash and add dependencies for guessit-js (d606e86)
  • Regenerate package-lock.json (82d9f2e)
  • Regenerate package-lock.json (5d7727a)
  • Add stalled and paused download states to dashboard load (ada9557)
  • Move dotenv to core depencies, to resolve docker build failure (71ff2b0)
  • Regenerate package-lock.json (660c56e)
  • Move scan banner to visible location, minor ui/backend tweaks (4f88ace)
  • Remove unused prop and replace mutable URL instance (78f3989)
  • Import SvelteURL (b311fec)
  • Set ORIGIN for better-auth base url fallback (fdd87ee)
  • Improve auth and library add error reporting (2a2063e)
  • Seed scoring profiles before library add inserts (d5b6dbc)
  • Remove double indents (b8da813)
  • Prevent legacy library backfill from reassigning root folders (bae5442)
  • Exclude unaired/TBD episodes from episode counts (189520c)
  • Improve homepage responsive grid layout for mobile (4b60e6e)
  • Resolve Rutracker double-slash URL issue causing grab failures (c9f6963)
  • Improve russian tracker search and pointer download metadata (e403675)
  • Improve codebase quality and type safety (170c152)
  • Restore original test file for MonitoringSearchService (e1abd50)
  • Align Cinephage streaming auth and server address settings (9d06186)
  • Tighten tracker search title matching and localized fallback (63c0e90)
  • Normalize dolby vision naming output (d5d077e)
  • Make rate-limit cleanup test-safe (9a7db72)
  • Sanitize streaming indexer settings and tighten dashboard typing (e262955)
  • Preserve native titles in tracker search requests (6a9738c)
  • Authenticate release attestation and configure git tag identity (cbb5cfc)
  • Align log export validation and test setup (cb2879f)
  • Update relative imports in relocated providers.live.test.ts (17f7f1a)
  • Fallback to built-in scoring formats when custom_formats table is unavailable (0558005)
  • Resolve typecheck errors in refactored test files (14673ef)
  • Increase timeout for scrypt-based password hashing tests on CI (e9d5b27)
  • Pin action SHAs, add concurrency group, normalize action versions (beb45d4)
  • Batch security dependency updates to resolve 30 Dependabot alerts (ce39a96)
  • Move dotenv to dependencies and remove broken docs-deploy workflow (8fe119f)
  • Move better-sqlite3 to dependencies for proper adapter-node externalization (625b16e)
  • Use gh cli instead of curl for GHCR package auto-detection (1928f92)
  • Use docker buildx imagetools to auto-detect CI candidate tag (de33a07)
  • Align release notes labels with actual repo label names (f5d7231)
  • Quote labels with colons in release notes config (cff1b42)

Refactoring

  • Complete indexer system overhaul with unified YAML architecture (2d5b16d)
  • Consolidate subtitle scheduling into MonitoringScheduler (bcaf612)
  • Standardize services and extract shared logic (7268281)
  • Decompose large components and add reusable utilities (1578fea)
  • Standardize modal patterns across codebase (1d7b261)
  • Overhaul scoring system with format-based architecture (ee1c1fb)
  • Overhaul GitHub labels with unified prefix system (7a5a968)
  • Delegate MonitoringSearchService grab to ReleaseGrabService (3ecd8d4)
  • Improve streaming providers and merge all successful streams (0c45503)
  • Clean up streaming providers and test infrastructure (3c794ad)
  • Improve Cloudflare error handling and cleanup status tracking (d7e7384)
  • Consolidate UnifiedClientItem into shared type (0623f71)
  • Update indexers, quality system, and services (29d74c4)
  • Modularize download client and library modals (06fd48c)
  • Simplify Stalker streaming architecture (141c9e7)
  • Remove Prowlarr/Jackett (Torznab) integration (d4fec53)
  • Rewrite streaming infrastructure and add EPG source override (44c1d0e)
  • Clean up channel edit modal layout (0e40c0c)
  • Simplify Docker setup and consolidate environment config (feb611c)
  • Centralize protocol-specific release filtering through handlers (247156a)
  • Unify modals and responsive layouts (7b32bfa)
  • Standardize responsive grids (63ff7e1)
  • Remove deprecated RAR extraction feature (42bd7fb)
  • Remove unused POST handler and add 70s timeout (1b8461b)
  • Streamline Camoufox installation process in docker-entrypoint.sh (e1b4d01)
  • Clean up code formatting in subtitle path scripts (0cce963)
  • Remove unused type definitions and clean up console logging (0718a8e)
  • Consolidate Live TV components and add channel sync worker (1e05753)
  • Simplify IptvOrgSelector with native multi-select (0f0aa72)
  • Major refactoring of unmatched files system (276dc9c)
  • Extract LiveTV stream handler to shared service module (ba838bf)
  • Remove dead streaming code from MonitoringSearchService (b4b35a3)
  • Extract dashboard queries and add progressive rendering (b26ab99)
  • Simplify stable and preview channels (152ba86)
  • Align Cinephage integration and release sync (7588d5f)
  • Align dashboard activity with history feed (9d7026c)
  • Unify SSE streams and remove legacy plumbing (d5dead7)
  • Unify logging system with structured log capture (882d8aa)
  • Replace ThrottleManager with DB-backed provider throttling (a3949b1)
  • Consolidate NZB-Mount functionality into SABnzbd client and update related components (2a36e04)
  • Remove NZB-Mount references and consolidate to SABnzbd functionality (c34f055)
  • Migrate 33 API routes to use parseBody() helpers (8a75987)
  • Remove unused import from Live TV portals API (9b93335)
  • Consolidate duplicate formatting utilities into format.ts (bae137e)
  • Optimize MonitoringSearchService file lookups with eager loading (2b7ae64)
  • Replace 'as any' with typed fixtures in searchorchestrator tests (c01867b)
  • Per-suite DB isolation to enable test file parallelism (89ce9e0)
  • Reduce mock fragility in MonitoringSearchService tests (fb371fb)
  • Split settings (library & storage and system) pages into horizontal nav layouts with child routes (5513c35)
  • Reduce mock fragility in searchOnAdd tests (200ddc6)
  • Replace 'as any' with typed fixtures in UpgradeableSpecification tests (8b01dd6)
  • Replace 'as any' with typed fixtures in CutoffUnmetSpecification tests (ad9c8fa)
  • Remove 'as any' from rating-buffer tests (acc7ebb)
  • Remove 'as any' from OpenSubtitlesProvider tests (e212a57)
  • Remove 'as any' from LanguageProfileService tests (c15051d)
  • Remove 'as any' from parsers tests (7819479)
  • Remove 'as any' from RenamePreviewService tests (4760100)
  • Remove 'as any' from TorrentProtocolHandler tests (3b1b5b1)
  • Remove 'as any' from M3uProvider tests (af1bc47)
  • Remove 'as any' from manual-import-service tests (3346eba)
  • Remove 'as any' from sse tests (9cf22cc)
  • Remove 'as any' from RequestBuilder tests (fe50f58)
  • Remove 'as any' from MonitoringScheduler tests (f6944fa)

Performance

  • Streamline live tests and limit Videasy fallback (6fbd1be)

Styling

  • Format NZBGet client and docker files (d55f2e5)
  • Format docs and components (e3148f4)
  • Format test files (e0dadfa)
  • Format docker-compose and production docs (0e0b9f7)
  • Fix formatting and remove unused import (fef3f2d)
  • Fix formatting in extractExternalIds tests (7e755e4)
  • Run prettier formatting (860dc37)
  • Fix lint errors (8c44784)
  • Improve smart list preview panel UI (d62c72a)
  • Fix all lint errors (b4d1958)
  • Fix unused vars in StalkerPortalClient to pass lint (df48e78)
  • Use SvelteURLSearchParams instead of URLSearchParams (9ce9714)
  • Format merged plex integration files (28f4311)
  • Fix Prettier formatting in OpenSubtitlesProvider test (3834fc1)

Documentation

  • Update documentation for indexer system overhaul (6da5e8e)
  • Update documentation for indexer and streaming improvements (6520efc)
  • Document external ID matching in folder names (f0eda27)
  • Update indexer count to reflect 4 supported public indexers (a940471)
  • Add prominent active development warnings to README (6d3b43d)
  • Remove last commit badge from README (f1cbd76)
  • Add contributors section to README (1845708)
  • Add Discord server link and badge (c40dc1b)
  • Fix Discord badge server ID (50251bb)
  • Comprehensive documentation overhaul and reorganization (453abc2)
  • Overhaul README and add docker-compose.yml (ae45544)
  • Update Docker documentation for pre-built images (9f2a663)
  • Update README to reflect current features (ece448b)
  • Add legal notice and clarify IPTV support limitations (00589b2)
  • Clarify IPTV wording - can discover portals, still don't host (71a60df)
  • Replace contrib.rocks with GitHub live contributors image (87c8db8)
  • Restore contrib.rocks for contributors with avatars (2cd78ce)
  • Comprehensive documentation overhaul (bbc04e0)
  • Enhance documentation and migration processes for Cinephage (e5f7b1c)
  • Update troubleshooting steps for Docker migration (8f30abe)
  • Update docs/advanced/environment-variables.md (75f0abe)
  • Update media and downloads volume paths in CHANGELOG.md (8595ff1)
  • Update FAQ question for port configuration (7ba9cad)
  • Enhance documentation and migration processes for Cinephage (#100) (2b18553)
  • Document schema version 70 in migration header (ba665d2)
  • Migrate to Docusaurus with comprehensive documentation (7cbc8e5)
  • Update BETTER_AUTH_SECRET generation instructions and add to environment variable references (893e57c)
  • Rework README with bare metal install, systemd, and updated screenshots (b6434b7)
  • Clarify error id messaging (240cd52)
  • Update AGENTS.md with improved test patterns and conventions (00f9dcf)

Testing

  • Add comprehensive tests for extractExternalIds (07ca80e)
  • Make unstable subtitle providers opt-in (d688314)
  • Add verbose output and additional cutoff tests (f95c05d)
  • Update rate-limit test for language field (c83f801)
  • Align upgradeable spec fixtures with real format ids (6d1fe85)
  • Isolate monitoring decision scoring from runtime db (e54db9e)
  • Isolate pure scoring tests from runtime db (cfabd4c)

Miscellaneous

  • Format code with prettier (fa790c8)
  • Overhaul issue templates, PR template, and add community config (12c992f)
  • Bump the minor-and-patch group with 7 updates (#10) (fbd3800)
  • Bump svelte from 5.45.5 to 5.46.0 in the svelte group (#11) (ea0b914)
  • Bump the tailwind group with 3 updates (#12) (c083ffc)
  • Bump drizzle-orm from 0.44.7 to 0.45.1 in the drizzle group (#13) (07b013b)
  • Bump @types/node from 24.10.1 to 25.0.2 (#14) (084130d)
  • Bump @eslint/compat from 1.4.1 to 2.0.0 (#15) (a79a862)
  • Bump the minor-and-patch group with 3 updates (#16) (79ee181)
  • Bump actions/github-script from 7 to 8 (dcee131)
  • Bump the minor-and-patch group with 4 updates (99745d5)
  • Consolidate test scripts and improve bug report template (a2ee8f2)
  • Code quality and formatting improvements (c96e5c6)
  • Bump actions/checkout from 4 to 6 (c24cfa7)
  • Bump actions/setup-node from 4 to 6 (323611f)
  • Bump actions/attest-build-provenance from 2 to 3 (64a3699)
  • Bump lucide-svelte in the minor-and-patch group (b3edc72)
  • Bump svelte-check from 4.3.4 to 4.3.5 in the svelte group (1047ad8)
  • Bump actions/checkout from 4 to 6 (f509c66)
  • Bump actions/attest-build-provenance from 2 to 3 (f5465aa)
  • Bump typescript-eslint in the minor-and-patch group (1cf2b88)
  • Bump svelte from 5.46.0 to 5.46.1 in the svelte group (a153278)
  • Add infrastructure for streaming and extraction (db33505)
  • Bump the minor-and-patch group across 1 directory with 3 updates (fc31c0a)
  • Bump globals from 16.5.0 to 17.0.0 (bae8778)
  • Bump SethCohen/github-releases-to-discord (4dbf2c0)
  • Bump the minor-and-patch group with 5 updates (8eeff2a)
  • Bump the svelte group with 2 updates (f3a0ca4)
  • Revert package-lock.json change (cb8b855)
  • Run Prettier on download client components (433bf9f)
  • Sync ReleaseParser test with main (dd2b064)
  • Bump undici from 7.16.0 to 7.18.2 (0906019)
  • Remove .opencode directory (2dc31fb)
  • Remove obsolete 1337x indexer references (f8aec67)
  • Remove 1337x test scripts and update indexer tests (a46c886)
  • Fix security vulnerabilities in devalue (5283210)
  • Remove test-issue-72-integration.ts script (62781b6)
  • Apply dependabot updates (7a4ed39)
  • Bump @types/node (860d314)
  • Bump softprops/action-gh-release from 1 to 2 (#92) (bcec97a)
  • Bump the svelte group with 3 updates (#94) (503dc72)
  • Bump the minor-and-patch group with 8 updates (3495dac)
  • Bump fast-xml-parser from 5.3.3 to 5.3.4 (#99) (0638a6c)
  • Bump daisyui from 5.5.14 to 5.5.16 in the tailwind group (#103) (18737c8)
  • Bump the svelte group with 2 updates (#102) (622743e)
  • Bump the minor-and-patch group with 4 updates (#101) (4a9e3fd)
  • Bump @types/node (b32d238)
  • Bump the minor-and-patch group with 4 updates (#120) (a4df28b)
  • Bump the svelte group with 2 updates (#121) (eef3e63)
  • Bump daisyui from 5.5.16 to 5.5.18 in the tailwind group (#122) (733d28b)
  • Upgrade eslint to v10 (1cb3cb1)
  • Bump the minor-and-patch group with 6 updates (#131) (e49605f)
  • Bump the svelte group with 5 updates (#132) (0d08e81)
  • Bump the svelte group with 3 updates (#148) (b60f327)
  • Bump the tailwind group with 3 updates (#149) (0704209)
  • Bump the minor-and-patch group with 8 updates (#147) (c434569)
  • Bump devalue from 5.6.2 to 5.6.3 (#143) (5916f5c)
  • Bump eslint from 9.39.2 to 10.0.1 (#150) (4c9a5d9)
  • Pin GitHub Actions to commit SHAs (0e9636a)
  • Bump svelte from 5.53.2 to 5.53.5 (f15235b)
  • Bump fast-xml-parser from 5.3.7 to 5.3.8 (79bf886)
  • Bump rollup from 4.53.5 to 4.59.0 (bcb7c77)
  • Bump minimatch from 9.0.6 to 9.0.9 (87d5490)
  • Bump docker/metadata-action from 5.5.1 to 5.10.0 (#171) (bf7374f)
  • Bump docker/login-action from 3.3.0 to 3.7.0 (#174) (4da4de3)
  • Bump the minor-and-patch group with 6 updates (#176) (84dbee4)
  • Bump the tailwind group with 2 updates (#178) (be84981)
  • Bump docker/setup-buildx-action from 3.7.1 to 3.12.0 (#172) (bfeb2cc)
  • Bump actions/attest-build-provenance (#173) (ca4914c)
  • Bump the svelte group with 4 updates (#177) (023f181)
  • Bump docker/build-push-action from 6.9.0 to 6.19.2 (#175) (b4897f8)
  • Bump vite from 7.3.1 to 8.0.3 (9d10c90)
  • Bump typescript from 5.9.3 to 6.0.2 (b983706)
  • Bump drizzle-orm from 0.45.1 to 0.45.2 in the drizzle group (030f6f3)
  • Bump the tailwind group with 2 updates (9069b55)
  • Update package-lock.json after dependabot merges (4afb235)
  • Remove obsolete troubleshooting scripts (b2c939d)
  • Remove deprecated Cloudflare streaming fix and results documentation (6587a3a)
  • Remove documentation (moved to separate repo) (f5b3c18)
  • Bump flatted from 3.3.3 to 3.4.2 (85a2d37)
  • Bump devalue from 5.6.3 to 5.6.4 (c5d8411)
  • Bump fast-xml-parser from 5.4.1 to 5.5.7 (3f7cb4b)
  • Bump minor-and-patch group (better-sqlite3, camoufox-js, eslint, lucide-svelte, and 7 more) (4cbf72e)
  • Bump tailwind group (@tailwindcss/vite 4.2.2, tailwindcss 4.2.2) (209adc5)
  • Bump svelte group (@sveltejs/kit 2.55.0, svelte 5.53.12, svelte-check 4.4.5) (ce8accc)
  • Bump actions/setup-node from 6.2.0 to 6.3.0 (8d8e52e)
  • Bump docker/login-action from v3 to v4 (f0db9a2)
  • Bump docker/metadata-action from v5 to v6 (add62ec)
  • Bump docker/build-push-action from v6 to v7 (2b2b041)
  • Bump actions/attest-build-provenance from v3 to v4.1.0 (6135e2c)
  • Update ignore files for i18n and test utilities (341ebf7)
  • Remove dead code and documentation (90d095a)
  • Bump lucide-svelte from 0.575.0 to 1.0.1 (70b2e53)
  • Bump the svelte group with 4 updates (0f58c11)
  • Bump the minor-and-patch group with 16 updates (6caaacc)
  • Bump docker/setup-buildx-action from 3.12.0 to 4.0.0 (75091ae)
  • Bump brace-expansion from 5.0.3 to 5.0.5 (f24bc6d)
  • Bump picomatch from 4.0.3 to 4.0.4 (a965a10)
  • Bump undici from 7.19.1 to 7.24.6 (fa78ab9)
  • Trigger CI (50cc375)
  • Update package.json versions to match merged PRs (c77d488)
  • Rename main container channel from edge to main and decouple release provenance (9e0a025)
  • Improve GitHub release note categorization (86a67a7)
  • Remove dead test files (demo.spec.ts, page.svelte.spec.ts) (e09c82b)
  • Isolate live network tests behind LIVE_TESTS env flag (38add03)
  • Bump the minor-and-patch group across 1 directory with 3 updates (cbc946c)
  • Bump docker/login-action from 3.7.0 to 4.1.0 (aae24bb)
  • Bump docker/build-push-action from 6.19.2 to 7.1.0 (4359200)
  • Remove release workflow (c16331a)
  • Release v0.1.0 (943f494)

Bot

  • Update nix dependencies (3f5096e)

Nix

  • Make user and group actually dynamic (c21e3bf)

Ci

  • Add concurrency control to Docker Build workflow (6d2e128)
  • Add Discord release announcement workflow (8d20eba)
  • Replace nix-update workflow with update-flake-lock action (9ea17a0)
  • Remove old nix-update workflow (a1f540c)
  • Centralize Docker build metadata, improve tagging, and add changelog categorization (#181) (4ee8ee7)
  • Update release workflows for main/dev/experimental channels (9998987)
  • Add coverage reporting and artifact upload to CI pipeline (83166cc)

Security

  • Add authentication check to STRM update endpoint (88ec76a)

Don't miss a new Cinephage release

NewReleases is sending notifications on new releases.