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 Infotasks (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)