2.26.0 (2026-03-25)
- add
subsectionIntentfor TemplateOption (7d29942) - core/formatter: add subtitle fields (03df4ba)
- core/formatters: support variable resolution in replace() first argument (#793) (0de87f1)
- frontend: redesign my addons card, allowing batch editing, deleting, toggling, categorisation, and searching (4652ef1), closes #816 #659 #570
- parse media info from stremthru (03df4ba), closes #235
- sel: add
subtitle()function andsubtitleperGroup()attributem, (03df4ba) - TemplateOption: add
pillsubsectionIntent andbuttonIntentfield (59c6954)
- always fetch metadata (11f5cd4)
- builtins/library: pass item ID for stream results (bc1fbaa)
- expand year range for yearWithinTitle (da36c00)
- frontend/manifest-diff: group idPrefixes changes, filter out order changes, and dont show modal on no effective changes (29e4006)
- give externalUrl field priority in type (33d73bd)
- if no year present after removing title year, treat as undefined (a57c2c1)
- metadata/trakt: set version header to 2 and add user agent (1eeb034), closes #837
- presets/dmmCast: update stream parser (31b8832)
- presets/meteor: include source, seeders, and audiolang in format config (e818475)
- presets/streamnzb: make everything cached, show availability via message (#828) (830e915)
- round bytes when extracting from string (e361341)
- server: resolve synced URLs on search API route (85adf28), closes #836
- trigger pre-fetch to ensure synced patterns are always present (190a895)
- usenet-stream-base: automatically select correct file when no fileIndex provided for library item (f6cdc0b)
- usenet-stream-base: make categories dynamic and include category in ID to ensure correct path is chosen (7e4e4fc)
- validate all patterns (68e5e2f)
2.25.4 (2026-03-12)
- builtins/nab: determine private flag from type property (#803) (94660bc)
- presets/meteor: update logo URL (#812) (47b104c)
- presets/meteor: use urlSafe base64 (#809) (89bb403)
2.25.3 (2026-03-08)
2.25.2 (2026-03-08)
- change password + confirm password (#789) (c18d9b4)
- frontend: add diff viewer for manifest changes and increase width of diff viewers (9124df5)
- frontend: provide high level summary of manifest changes (608245a)
- frontend: support auto expand accordion in menu tabs (1af1ac7)
- frontend: use tabs in addons menu (b7e5a70)
- anime-database: allow other types with explicit season info to be included when mapping season (ac0c939)
- builtins/nab: merge string torznab:attr instead of overwriting them (#792) (59163a0)
- frontend: auto expand services accordion (4209cbe)
- frontend: make dont show again permanent (bbcf404)
- frontend: prevent dead scroll space in menu tabs (ae232b1)
- frontend: update quick links (c675768)
- filterer: test regex directly for exclude/required/include (b311a21)
2.25.1 (2026-03-06)
- add timing statistic streams (ed88f6a)
- core/formatters: add
datefield (2bc9db9) - core/formatters: add
subbedanddubbedattributes (3792f29) - frontend: redesign sorting menu (0737ec5)
- frontend: redesign whats new section (cbb29ac)
- templates: add changelog + update notifications (21561d5)
- allow socks5h protocol proxy urls (#786) (1fd08fa)
- builtins/eztv: do not fail with missing torrents prop (#788) (c44cc25)
- debrid: adjust file selection scoring algorithm (6de94af)
- debrid: use specified file index in playback info (34684d2)
- filter required stream expressions for enabled before applying (e868b0b)
- frontend/templates: try and fix tapping out of select closing modal (300a248)
- frontend: add skeleton during loading state for featured templates (5535951)
- frontend: fix scrollbar on navbar (c03c05c)
- frontend: update wiki links to point to new docs site (6867535)
- handle services option during preset generation with service wrap (acbf274)
- improve infohash extraction (cdae32d)
- load templates recursively (452d6e8)
- metadata/imdb: adjust schema (cdff10a)
- metadata: only apply tmdb episode offset in certain cases (2f34050)
- presets/meteor: add torrent service when no services (5f38339)
- presets/meteor: include separate P2P addon for
includeP2P(578376c) - presets/streamnzb: add hook to report filtered streams back to streamnzb (#771) (3d1325f)
- remove selected services during service wrap (efe0f60)
- serviceWrap: consider wrapped results as confirmed (d92e482)
- serviceWrap: use fileIdx field when missing season/episode (34684d2)
- stremthru: round total size of files in magnet list (bd376c5)
- use dynamic lock ttls / timeouts (b8fe887)
- optimise processing of torrents/nzbs (6de94af)
2.25.0 (2026-03-03)
- add customisable nzb failover position (3cc2b88)
- add env var for max failover nzbs (77981c3)
- add nzb failover (03da152), closes #578
- add per service configurable max wait time and poll interval (77981c3)
- add preload streams with SEL selector (b0687b7)
- add single stream setting to prelaod (77981c3)
- allow precaching more than 1 stream (b0687b7)
- builtins/knaben: add
BUILTIN_KNABEN_DOWNLOAD_TORRENTSto disable torrent downloads from knaben (510289b) - cache debrid errors (03da152)
- core/formatters: Allow multiple remove modifier parameters (#745) (c3609b9)
- frontend: redesign services and miscellaneous menu (ead41f0)
- sel: add perGroup function (aa3e221)
- allow undefined value for builtin when checking to reconfigure service (301ebc5)
- builtins/knaben: allow null lastSeen (ccd5507)
- frontend/templates: ensure sub-options are filtered for visibility (f4fe357)
- frontend/templates: expand featured template when clicked (46ac577)
- frontend: add missing service logos (572a29c)
- frontend: adjust wizard layouts (cc3786d)
- frontend: cast subOptions to Option[] in getVisibleOptions (1a92201)
- frontend: fix various react errors (47bf95d)
- frontend: show text on simple mode for option-less menus consistently (747a2f2)
- frontend: update mode type (3d0dcb5)
- frontend: use consistent drag handle (1f41a93)
- presets/custom: replace forceToTop with pinPosition (c7a163e)
- presets/torrentio: add media types option (a616ca0)
- refresh library on failure during failover (83ea8f1)
- remove length requirement for name and description fields (4d31e77)
- throw debrid error on timeouts for cache and play (77981c3)
- usenet-stream-base: include failed nzbs from history (d49ac1f)
- usenet-stream-base: throw add error separately (d5eb0e6)
- do not build for armv7 (65bbad6)
2.24.5 (2026-02-28)
- core/formatters: add
editionsandregradedfields, removeremastered(153a41e)
- ensure invalid addon password is handled correctly (65c20b6)
- frontend/templates: allow bare services in validator (adcc6bd)
- frontend/templates: pre-select enabled services (00fb425)
- frontend/templates: support
servicesas conditional (f6d6a8a)
2.24.4 (2026-02-28)
- frontend/templates: directly import when no inputs/selections are required (f84673c)
- frontend/templates: ensure defaults are applied for subsections (9f80109)
2.24.3 (2026-02-28)
- frontend: redesign about menu with featured templates (343247f)
- frontend: redesign template browser (343247f)
- templates: add conditional visibility for template options based on selected services (fafed9b)
- frontend/templates: ensure consistent template order (3ba05f5)
2.24.2 (2026-02-27)
- frontend/templates: add validation modal (26e401d)
- frontend/templates: show warning on external links (26e401d)
- presets/streamnzb: implement preset (#766) (2fea58b)
- frontend/templates: dont show warnings twice when importing and loading (d771e9c)
- frontend/templates: show warning on duplicate keys (d771e9c)
- parser/file: escape title before removing from filename for parsing (11507b0)
- frontend/templates: move export modal into templates folder and update wiki text (0d67c58)
2.24.1 (2026-02-26)
- templates: handle directives when registering trusted access (bda9303)
2.24.0 (2026-02-26)
- add aioratings as poster service| (38c1e6e)
- add Brazuca Torrents preset (a79bcc6), closes #551
- add builtin library addon (38c1e6e)
- add check owned option for all builtins (38c1e6e)
- add conjuctive mode to result limiting (1da914d)
- add meteor preset (275d1de)
- add opt-in
TORBOX_USENET_VIA_STREMTHRUenvironment variable to delegate torbox usenet access via StremThru (bb9815c) - add service wrapping (38c1e6e)
- add stremthru newz service (bb9815c)
- add toggle to SEL filters (38c1e6e)
- add use initial air date option for year matching (1da914d)
- builtins/library: add hideStreams option (f45436f)
- builtins/znab: add languages from extended attributes to parsed languages (1da914d)
- builtins: add per-domain title language scraping config (2b367e5), closes #606
- builtins: add torznab freeleech info (#761) (36d0ef5)
- builtins: support addon ID and indexer name keys from known aggregates in title language config (21fd447)
- change forceToTop option to pinPosition to allow pinning streams from an addon to the bottom. (1da914d)
- core/formatters: Add remove array and string modifier (#744) (1052d0d)
- debrid/stremthru: add publicUrl field for playback link rewriting (5753eeb)
- debrid/stremthru: remove publicUrl field in favour of
STREMTHRU_BASE_URL(1da914d) - deduplicator: add smart detect attributes and library behaviour options (426f3c4)
- frontend/templates: add support for __remove key (1d5bcd4)
- frontend/templates: add support for __value and numeric comparisons (a4ed081)
- frontend/templates: dynamic template inputs, conditional expressions, deep link templates (a75dbda)
- frontend/templates: support service credential interpolation (80c7cc6)
- frontend: add always visible save icon (0fa6860)
- frontend: show alert when manifest changes (1d2eef9)
- infer languages from title matching (1da914d), closes #436 #490
- presets/torznab: add configurable result limit (#751) (c2af6d3)
- sel: add
seMatched,seMatchedInRange, andrseMatchedfunctions (11f9524) - sel: add pin() function (1da914d)
- sync templates from URLs (for custom tewmplates in browser) (38c1e6e)
- tests: add tests for applyTemplateConditionals with __if and __remove logic (97c41ea)
- accept return value as parameter for
pin()(34d4a45) - adjust padding in config templates modal for better layout (3c2ab02)
- anime-database: handle tvdbId (9f732d9)
- api/search: add missing fields:
service,cached,private,seadex,seadexBest,bingeGroup,bitrate,zipUrls(f0edb4b) - assign context for meta streams formatting (38c1e6e)
- builtins/library: don't use file index of -1 as fileId (c07a1e9)
- builtins/library: update refresh stream URL to use BASE_URL instead of INTERNAL_URL (0e404b6)
- builtins/znab: include subs attribute parsing (21a28bb)
- builtins: skip torrents with failed status during processing (81a3383)
- debrid/stremthru: lower cache & play poll interval to 2s (6e6c235)
- debrid/stremthru: pass down failed status during checkNzbs/checkMagnets (1195b5d)
- debrid/stremthru: throw on failed/invalid status during cache & play (d0743de)
- debrid/usenet-stream-base: get size from history slot for listNzbs (#757) (e3c3d1f)
- debrid: log warnings and skip processing for unsupported torrent and usenet services instead of throwing an error (89eb09e)
- don't re-hash empty nzb URLs (21108cf)
- frontend/templates: adjust steps order to put service selection before template inputs (bdaaf71)
- frontend/templates: fix back handling on all steps during wizard (6e65321)
- frontend/templates: handle template directives in template before loading (6e65321)
- frontend: add alert to exclude credentials option about addon URLs (75aa86e)
- frontend: adjust dont show this again switch for manifest change alert (59f9890)
- frontend: default exclude credentials to true (75aa86e)
- frontend: synchronise current tab with query params (9f5154d), closes #718
- improve AI regex (#763) (04deb61)
- improve language inference via title matching (18a0c05)
- improve separator pattern handling in preprocessTitle function (6dc36c7)
- metadata: adjust season and episode number handling for anime entries with TMDB and use correct property name (95b583b)
- metadata: handle stale cached entries (c818ffe)
- metadata: make rank optional and log warnings for error during imdb suggestion fetch (e60a038)
- only prevent poster modification of current services poster (38983d6)
- optimise titleMatch function for exact match threshold (313f36e)
- parse foldername in formatter preview (#721) (0f328f4)
- parser: extend 10bit regex to match hi10p (H.264 High 10 Profile) (#732) (aa38313)
- parser: extend 10bit visual tag to match hi10 (in addition to hi10p) (#743) (b0c2ca4)
- parser: prefer resolution from PTT (ded946b)
- parser: stop 266 from being parsed as 240p (00c4d00)
- prefer title from parsed file with more info (57df827)
- presets/brazuca-torrents: parse filename and foldername when available (69ee99f)
- presets/comet: add option to enable debrid library scrape (38c1e6e)
- presets/comet: support api token (38c1e6e)
- presets/comet: support parsing action stream to sync. (38c1e6e)
- presets/library: add resources option (#746) (72946f0)
- presets/meteor: use
debridServiceanddebridApiKeyfor single service configs instead ofdebridServices(1186f66) - presets/stremthru: handle stremthru service, add hide streams option, handle missing url path (4bbeb4e)
- presets/stremthru: implement correct indexer parsing (#750) (ba68139)
- re-parse when necessary during service wrap (f226ae6)
- recompute preferred on new resolved results (857b225)
- remove batching for torbox usenet getcached (0d66f29)
- remove URL from minimal preset metadata (6abd483)
- sel: evaluate passthrough dynamically and fix pin behavior in required expressions (3ec4320)
- serviceWrap: dont reconfigure builtin addon results (3555475)
- stop overrides from mismatching (#731) (bc1965f)
- torbox: update hash parameter format for getUsenetCachedAvailability (e8b1335)
- type template config as any to support dynamic configs (3161729)
- update comet API token documentation and improve string handling in env validator (5881a4b)
- use allowedUrl properties during valdiation for synced urls (f910603)
2.23.3 (2026-02-16)
2.23.2 (2026-02-16)
- add sync urls in templates as allowed sync URLs (afe74f9)
- core/formatter: allow replace modifier to replace with empty string (#720) (7140f03)
- frontend: clear uuid and trusted from imported configuration (#724) (e7a6069)
- metadata: make averageRuntime nullable (0e44a8c)
- Prevent formatter regex backtracking and limit template nesting depth (#737) (36972ae)
- support loading template arrays (3e61ea7)
2.23.1 (2026-02-11)
- add fallback to handle previously stored exprNames (5e024fa)
- compute PSE last after RSE (c060fc6)
- dont match por as portuguese (781171c), closes #595
- ensure size is finite and positive before returning (d11f3d6)
- fronted: Allow negatives in overrides (#715) (e49259a)
- frontend: dont merge with existing user data upon login (839e023)
- increase ttl of lock to higher than timeout (639e41b)
- only assign nextAirDate when in future and correctly handle errors (6e35979)
- use # comments for override names (#716) (71d172b)
2.23.0 (2026-02-09)
- add 'language' passthrough stage (b350c83)
- add
daysSinceFirstAiredanddaysSinceLastAired, refactor context constants assigment, cache resolved tvdb ids (1c16a5b) - add
latestSeasonconstant (2c4097f) - add
ongoingSeasonconstant (2314c7b) - Add hasNextEpisode and dasUntilNextEpisode SEL constants (#670) (bbed45d)
- add metadata to formatter. add star, pstar modifiers. add seScore, nSeScore, seMatched, rseMatched, nRegexScore attributes (a16c37f)
- add precache selector to allow customising when precaching happens and what is selected (8f864e9)
- add predefined tamtaro formatter (0207d20)
- add ranked regex filter (fb7880d)
- add ranked stream expressions with scoring sort (f5b5484)
- add sbitrate and update predefined formatters to use it (778a158)
- add sbytes number modifier (d98c377)
- add sort & filter for release groups (#682) (881054f)
- add synced stream expressions (c9b1508)
- Add toggle to show changes on save + confirm and reset changes (#648) (2ef5c4a)
- added EZTV as an builtin addon, uses EZTVs API to fetch torrents (#666) (b6a084d)
- allow toggling ranked stream expressions (b868e8d)
- Allow users to auto sync regex urls (#671) (794cfea)
- builtins/eztv: implement pagination (ee448a8)
- builtins: make use of torrent private flag (#644) (b1dd534)
- core/formatter: Add
slice(start, end),rsort,lsort, and numerical sorting tosort(#493) (65d1576) - core/formatter: explicitly handle arrays with $,^, and ~ modifiers for predictable behaviour and add string array modifier (6937689)
- debrid: implement adding torrent via download URL (#664) (98ba217)
- deprecate always precache with customisable precache SEL condition (11b6e05)
- frontend: add ability to reorder sel, regex, keyword and group addons (#646) (5f4737d)
- frontend: add Checkbox and CheckboxGroup components (4a2b94c)
- Override synced regexes (#689) (c864d9f)
- seadex: replace SeaDexAPI with SeaDexDataset (d7f04e6)
- sel: add
agein days constant for expression filters (b804961) - sel: add
seasonPackfunction (bc25eaf) - sel: add originalLanguage constant to expression filters (7fdd89d)
- sel: add regexScore and streamExpressionScore functions (f66bec5)
- sel: allow
seScoreandregexScorein values function (5834e18) - status: add maxStreamExpressionFilters and maxAddons to limits (c5e1b07)
- support skipping names in expressions starting with # (5c581ef)
- use global stream expression limit with global character limit (de8e052)
- use sbytes in predefined formatters (17fa20c)
- actually enable seadex by default (770fc7f)
- add thunder emoji to cached symbols in StreamParser (d0ef44d)
- add TMDB fallback for nextAirDate (#673) (d821bf4)
- allow partial user data in template (91254cb)
- allow streams when digital release is within tolerance window (#658) (9ced8ec)
- anime-database: handle new format (caa6047)
- builtins: fix library detection (6181e9c)
- builtins: only set private flag if torrent was parsed (#675) (ce7721b)
- Change default for BUILTIN_DEBRID_USE_TORRENT_DOWNLOAD_URL to false temporarily (2b38bf4)
- consistent score handling (db7d0d7)
- correctly handle falllback season pack detection (41dbd53)
- debrid: exclude private torrents from auto-removal (#694) (db78c2d)
- debrid: only add torrent via URL if it is not cached already (#696) (17b57b1)
- debrid: only add torrent via URL if it was downloaded before (#678) (df07f45)
- disable dynamic addon fetching during pre-caching (e3de765)
- don't use runtime of 1 min from cinemeta (c4c1a73)
- dont save report (efa488d)
- dont throw error on missing context on meta route (0e517bd)
- dont use volumes as season (69c66e4)
- enforce correct score range limits in ranked expressions (31975fa)
- extract names from expression filters for statistics (bf2f88c)
- fetcher: improve exit condition handling and logging during stream fetching (8f1a934)
- filterer: add truncation for long filter conditions in statistics (068bdb9)
- Fix excludedStreamExpressions for anime series in starter tempalte (d045720)
- fix seasonPack detection (b576804)
- frontend: allow negative inputs in score inputs in formatter preview (58e7cda)
- frontend: correct operator precedence in RPDB input conditional rendering (#683) (94b076c)
- frontend: fix layout inconsistency in ranked stream expression action buttons (1b9d249)
- frontend: show changes for ranked sel + future proofing (#668) (c8add1d)
- frontend: use correct function when loading templates (cad95b7)
- frontend: use correct state for SE matched input (7670302)
- handle enabled flag in RSE and add alerts to expression filter tab (36aa6fe)
- handle errors during syncing appropriately and keep resolved syncs cached for a minimuim of 24 hours (7904cbf)
- handle errors properly in checkNzbs (9599db2)
- handle torbox errors for usenet (03967d6), closes #582
- handle undefined score correctly during n score calculation (53679b0)
- improve file selection (f583201)
- include parsed titles and use seasonYear for selection (3a27125)
- include streams during formatter context creation (93d99f3)
- increase lock timeout for torbox usenet resolve during cache & play (1ce11fd)
- Move when bitrate is calculated (#672) (bddd417)
- pass resolved original language to formatter for uLanguages (91d2c52)
- presets/nekloBt: make api key optional (eb4acff)
- presets/subhero: update url (#667) (f55325c)
- remove accept-encoding header (6fba3da)
- round normalised scores (fda1063)
- seadex/api: lower timeout (9c2fc0d)
- sel: allow passing no release group to
releaseGroupto select any release group (82c5b33) - sel: rename
ageconstant todaysSinceRelease(ad12037) - sel: use -1 as default for daysSinceRelease and absoluteEpisode (b3b22f9)
- stremthru: add torrent filename as display name to magnet (#663) (cb6f3b5)
- update expression name extraction to handle multiple names (191ab56)
- update service data parser emojis (7742eed)
- usenet-stream-base: check webdav contents during checkNzbs (d2a0f31)
- validate ranked regexes (461130f)
2.22.0 (2026-01-22)
- add 'Original' option in language filters (72e37ea), closes #526 #468
- add bitrate to filters, sorting, formatter, and SEL (#631) (073724f)
- allow configuring max sel / formatter length (384ccda)
- allow customising cache TTLs per preset/hostname (47eabef), closes #581 #580
- anime-database: add new source and other improvements (f47a441)
- build/docker: switch to debian based distroless image (74653a3)
- builtins/newznab: add
BUILTIN_NAB_HTTP_PROXY(28eaafa) - enable seadex integration by default (1af1932)
- fallback to cached manifest on save/refresh if available (df39400)
- formatter: add
smallcapsstring modifier (0e186dc) - improve seasonPack detection and add folderSeasons, formattedFolderSeasons, folderEpisodes, formattedFolderEpisodes to formatter (47ea735)
- sel: add
values&avg, functions; custommin&maxfunctions; enablerandomfunction. (60d3445) - sel: add median, sum, variance (267c75d)
- sel: add metadata constants to expression filters (e0ae160)
- sel: add percentile, range, iqr, stddev, mode, skewness, kurtosis functions (9513378)
- sel: enable sqrt (267c75d)
- update predefined formatters (f4bfb31)
- anime-database: dont use tmdb episode offset (3ebfc9b)
- build/docker: add /bin/sh for backwards compatability (1568296)
- builtins/newznab: always set user agent by default (dc031ea)
- builtins/newznab: prefer usenetdate for age and fallback to enclosure length for size (2ac54d6)
- builtins/znab: append search params from apiPath to params (9bb7099)
- cache: flush stale entrie on write when necessary and add separate size variable (6cabe65)
- debrid: handle TOO_MANY_REQUESTS with specific error video (b893191)
- debrid: improve error handling for file info and store auth parsing (5656af4)
- debrid: pass zod error through, and use 307 status code. (5ced1a5)
- divide by episode count for episode packs during bitrate calculation (58111dc)
- dont calculate bitrate using runtime for season packs (14e5b60)
- env: update regex for user agent mappings to allow wildcard characters (d29c0a3)
- estimate bitrate for season packs using season data from metadata (6b84fbc)
- fallback to volumes for season (93ee286)
- healthcheck: use status endpoint (d8d1f06)
- ignore usenet types for seeder range (fdbca21)
- presets/nzbhydra: pass through pagination and add initial limit option (a67ff08)
- presets/orion: increase max constraint to 500 (dba96f1)
- reduce filter log noise (e11649d)
- usenet-stream-base: cache resolve errors (abe8dbc)
- Dockerfile: add opencontainer labels (d1e288f)
2.21.4 (2026-01-16)
- handle undefined user agent and ensure only added when valid (6ad1aba)
2.21.3 (2026-01-15)
- presets/sootio: ensure httpProviders only added if defined, remove scraper options (73894a4)
2.21.2 (2026-01-15)
- allow setting user agent to false to disable it, disable by default for newznab (9f88bc6)
- presets/sootio: add indexer option, easynews support, and correctly handle multiple services (afc4523)
- presets/sootio: update HTTP stream provider options (#626) (e0bd36e)
- use correct timeout (df4160c)
2.21.1 (2026-01-11)
- anime-database: enrich mappings where possible (f31b701)
- builtins: prefer size from debrid (b3470d6)
- env: handle commas within user agent in hostname mapping (b20c226), closes #623
- handle many entries for one id, fallback to synonym matching (2feed67)
- prefer exact episode matches to batches (86b771f)
- seadex: pass season/episode to get correct mapping (9cc333a)
- usenet-stream: add nzb url to lock key (a1dcd52)
2.21.0 (2026-01-09)
- adjust poster service option (616838a)
- allow 'removing' presets, handle disabled presets explicitly., handle initialisation errors in catalog route (e8c961a)
- builtins/seadex: add torrent sources for Nyaa (83259b7)
- builtins: pass release group through (f1e3096)
- filter out top poster api key (4ebf159)
- fix digital release (#600) (de956de)
- handle sub client redis errors (2fee58d)
- make domain user agent env var consistent (80a244b)
- parser/regex: handle optional 'a' after ddp for audio channel patterns (#601) (60ca210)
- pass folder size in builtins, add folderName support (e2b9a19)
- presets/comet: change Comet default url to developers' own instance (#619) (20d3c40)
- presets/comet: update logo url (438b0cd)
- presets/debridio-ic4a: mark preset as removed (65cfcf6)
- presets/sootio: update default url to developers' own instance (#618) (533eb61)
- templates: Apply migrations before parsing the config (#604) (21fec28)
- update default zilean URL (67f9062)
- use logical OR for public webdav URL fallback (1dd01c4)
2.20.1 (2026-01-03)
- allow only on discover modification application when no extras are present (694ca3f)
2.20.0 (2026-01-02)
- add 'Use Poster Service for Library/Continue Watching' option (bbe9ed8), closes #566
- add DTS-X audio tag support which was previously being misclassified (#523) (8c4485a)
- add HLG visual tag support (#562) (ac3bba7)
- add merged catalogs (#520) (8dc730a)
- add only on searh catalog modifier (ab4691d)
- add passthrough() SEL function (#522) (7ea0cbb)
- adjustments to merged catalogs (47d2ba4)
- allow removing catalogs from merged catalogs via quick access close icon (ab4691d)
- apply digital release filter to series, add more filtering options (#590) (22ec202)
- builtins/nab: add specific env var for user agent (c3c3184)
- chilllink: initial protocol support (#586) (cba790c)
- frontend: make sign out / log in always visible (6a3aaa9)
- implement top poster api option (#583) (fd62d9b)
- newznab: Add crowdsourced health check support via Zyclops (#552) (285cf11)
- presets/debridio-ic4a: add initial preset (#591) (4c5bc93)
- support sub section template option (99090fe)
- use logo without background (81cc5ee)
- add missing NextFunction type to request handler (3374950)
- add Teaser as valid type for trailer (094d029)
- always provide stream data in meta endpoint (1d317a0)
- anime-db: add error handling for data source refresh in AnimeDatabase (6eab1ca)
- anime-db: allow undefined year (e4b591d)
- anime-db: update manami db url (68e2755)
- avoid re-parsing extras causing double encoding (d7ee994)
- Change included SEL behaviour so it respects passthrough flags (#577) (29d2fa9)
- check imdb_id when deduplicating merged catalogs and refactor (878254c)
- constants: update default auto play attributes (689b8a2)
- frontend: add pading (dae366c)
- frontend: disable strict if yearMatching is disabled, improve descriptions (#589) (7bdfa82)
- frontend: provide textinput with manifest URL (b0b5515), closes #517
- only set length requirement when cred is required (7ee8342)
- parser/regex: handle optional
aafter ddp for atmos(#561) (a501b13) - parser: dont use country handler (304b032)
- presets/comet: update logo URL (6b6f747)
- presets/nuviostreams: correct label casing and add VixSrc entry to nuivo streams (#592) (395d65f)
- presets/stremthru-torz: use correct default timeout env variable (#579) (56dc39f)
- proxy: handle errors safely (dec001e)
- skip catalog if requires extra that is not available (403ca3e)
2.19.0 (2025-12-17)
- add easynews search built-in addon (7c5ea8a)
- add SeaDex preference support for anime streams (#512) (b4b6929)
- add separate size filter for anime content (#483) (ff168cf)
- metadata: add FETCH_TRAKT_ALIASES env var to toggle Trakt alias fetching (#543) (a40bcc5)
- presets/stremthru-store: add usenet option (7c5ea8a)
- proxy: add connections limit, closes #457 (7c5ea8a)
- seadex: add release group fallback matching (#521) (7ed51bc)
- Avoid expensive user count when not exposing users anyway (#547) (1165371)
- builtins/easnews-search: validate aiostreamsAuth if provided (309928d)
- builtins/easynews-search: update nzb route to include filename (c0a222f)
- builtins/newznab: use available filename for proxied urls (9e14ab2)
- builtins: add year only for movies in debrid addons search (#539) (36b5358)
- debrid: capitalize TV category name for Usenet streams (#538) (d5f5611)
- force include season/ep in params for certain indexers (1137195)
- frontend: added missing space to proxy url (#515) (1e06ad9)
- improve logging for fetch failed errors (b0950fe)
- optimise getUserCount by only using count, cherry picked from #548 (7c5ea8a)
- parser: remove ind from filename before lang parsing if group, closes #530 (7c5ea8a)
- parser: replace German umlauts with ASCII equivalents in normaliseTitle (#525) (f7c1124)
- passthrough precomputed seadex and stream expression matched from wrapped aiostreams (eb704a4)
- seadex: prevent matching by release group when there are streams matched by hash (#534) (3b3ec2b)
2.18.1 (2025-11-29)
- presets/usenet-streamer: correctly identify type and service (58caf63)
- remove length requirement on addonName (2e7622e)
2.18.0 (2025-11-28)
- add check owned option (5434da5)
- allow excluding addons from deduplication (44be565)
- allow providing nntp servers in stremio nntp service (e92d68e)
- api/search: add format param for name/description fields (c0a6921)
- builtins: search with background refresh (ece56a2)
- presets/aiostreams: add custom addon options (library, passthrough etc.) (c6d79c4)
- presets/nekoBt: add preset (e96fb95)
- sel: add message function (6cd7fb5)
- sel: enable division and multiplication (550d8d7)
- support nzbUrl and archive url fields (e92d68e)
- update builtin addons to support stremio nntp (e92d68e)
- add | as separator (dd89372)
- add CORS middleware to static file route (5e6e134)
- builtins/nab: handle no title and empty channel (7b77640)
- debrid/usenet-stream: use transformed params and dont set default start or limit (d74c840)
- filter out nzbs with failed status (174e813)
- frontend: filter out stremio-usenet and archive stream type in type select (3c535ed)
- pass intent field in service credentials (47d7eb0)
- presets/nzbhydra: use value of checkOwned option (c1b5c3c)
- presets/prowlarr: add stremio nntp as supported service (96e7c56)
- remove min character requirement in addon name in catalog modification (fd7c6d1)
- sel: add stremio_nntp as valid service (0ba11b1)
- sel: correct filter function syntax for stream message comparison (86ae86a)
2.17.6 (2025-11-23)
- add
privatesort criterion (f04072b) - add private torrent detection for stremthru torz (#499) (32d2119)
- frontend/formatter: add private switch to preview (4bc2a88)
- nab: add pagination handling (af79a18), closes #489
- parser: use parsed languages from parse-torrent-title (24d36a8)
- add file store to handle long nzb urls (4961014)
- frontend/services: store modal values in local state (abd802c), closes #503
- frontend: make switch size responsive (78eb16c)
- frontend: move addon modal outside of animate presence (b925e04)
- metadata: add placeholder promise when imdbId is missing (f607131), closes #497
- only allow absolute episode match when seasons has 1 or is empty (3be5261)
- only block proxying of nzbdav/altmount streams via built-in addons (57bded3)
- only infer proxied attribute for nzbdav/altmount with built-in addons (cf43d7f)
- only use file info store when length exceeds certain amount (6a5d38a)
- presets/aiostreams: allow leaving name empty (c00ad25), closes #491
- presets/usenet-streamer: add elf emoji to nzb status regex (#504) (dbe86ed)
- use shared normaliseTitle in filterer (2e739bc)
2.17.5 (2025-11-19)
2.17.4 (2025-11-18)
- presets/newznab: use correct url for usenet crawler (04e7554)
2.17.3 (2025-11-18)
- add memory lock (e1a24dc)
- frontend: redesign marketplace (94e747d)
- metadata: fetch from imdb suggestion data (98c398b)
- *presets/znab: add search mode option with Both and remove force query search. (78124bd)
- frontend: adjust layout for StaticTabs to fix issues on smaller screens (90a83ed)
- frontend: adjust logo for installed addon card (7cd5f11)
- frontend: ensure description is always rendered with MarkdownLite (b4de155)
- frontend: marketplace adjustments (ca7c49b)
- frontend: update label from 'Meta & Catalogues' to 'Metadata & Catalogs' (da4d282)
- lower timeout for imdb data (6b47487)
- metadata/tmdb: always check title and name in translation data (c8af6c6)
- parse fileIdx to prevent deduplication of different files within same torrent (bec118c)
- presets/usenet-streamer: parse instant and triage status info (1b4835d)
- presets: add missing constraints to timeout options (a22bc9d)
- prevent duration being incorrectly parsed for builtin addons (14fc584)
- replace umlaut characters with ASCII equivalents in cleanTitle (#481) (2b33aba)
- update newznab url list (e10702e)
- use memory lock for metadata (97f61ea)
- use select-with-custom for newznab url and hide some options in simple mode (b01f135)
2.17.2 (2025-11-11)
- adjust scoring for file selection and add .iso as a valid video file extension (2d918bc)
- builtins/prowlarr: set limit value (fc5674d)
2.17.1 (2025-11-10)
- builtin: provide age in hours (ed9a3f1)
- core/formatter: add
ageHoursattribute tostreamvariable (c590e91) - core/formatter: implement short circuit for comparators (5b16957)
- make webdav credentials optional for nzbdav (2ba2677), closes #480
- builtins/torbox-search: handle when age is string obtained via cache (285d14f)
- core/formatter: ensure boolean attributes in stream variable (dc9c7da)
- core/formatter: handle null property when getting error message (32bbbd4)
- core/formatter: only short-circuit when remaining operators are the same (8184442)
- debrid: validate aiostreamsAuth during nzb check (8f29d01)
- immediately throw if error during stat check is a 401 (40e2893)
- presets/usenet-streamer: add bmc link (daa31b7)
- sel: allow nzbdav and altmount in service function (06c0f33)
2.17.0 (2025-11-08)
- add age as filter menu, SEL function, and sort criteria (1be0a5d)
- add previous type as suffix to queryType e.g.
anime.seriesand migrate existing SEL (a034bea) - allow logging in with aliases (0eb7de4)
- altmount: add integration (9ba07ae)
- core/formatter: add
seasonPackattribute tostream(b45e03c) - core/formatter: Add truncate(N) modifier (#470) (a951b9f)
- debrid: don't make proxy required and add public URL field for nzbdav/altmount (d71d53c)
- make exclude season packs option hidden (8c39421)
- nzbdav: add initial integration (1afc44a)
- presets/usenet-streamer: add preset (344c902)
- prowlarr: add usenet support (ffcff0c)
- add back auth to nzbdav/altmount urls and restrict to built-in proxy (b106cfd)
- add CORS middleware to debrid and proxy routes (ff8593c)
- allow redirects and remove auth from webdav url (d4fcc50)
- builtins: ensure hash is in lowercase (078ef3c)
- core/formatter: handle semi-colons in english_name when converting to code (5d2aef8)
- core/formatter: remove trailing whitespace before truncating (#476) (dd7b723)
- debrid: add auth for nzbdav/altmount via proxyHeaders (b94ad20)
- debrid: allow null value for storage in slot schema (2c4ea05)
- debrid: ensure cache is committed before returning playback link (71b5d34)
- debrid: handle missing appropriate service for result type (9693da8)
- frontend: only show string based credential inputs in template loader (a43fbec)
- metadata: adjust schemas (4a4aa40)
- normalise headers to lowercase when proxifying streams (15f3a9f)
- nzbdav: gracefully handle invalid proxy auth / other proxy errors (ea9c4b9)
- nzbdav: improve error handling for NzbDAV API responses (115fb45)
- presets/usenet-streamer: parse indexer (88f14f5)
- prowlarr: consolidate supported services in ProwlarrPreset (3084e1f)
- proxifier: remove auth in URLs when proxying (b40c448)
- proxy: convert auth in URL to basic auth header (45a3c00)
- update credential validation to respect required status (9f16926)
- update import path for CORS middleware (7e84a49)
- wrapper: pass through query params for resource requests (ca1a825)
2.16.7 (2025-11-02)
- add
episodesto formatter (a3c7288) - add
extensionattribute (551a46f) - add
network,container,edition,remastered,repack,uncensored,unrated,upscaled, attributes to formatter (b1dba0d) - assume season is 1 in strict mode for season/episode matching when episode is present (e464f7d)
- formatter: add
formattedSeasonandformattedEpisodeattributes (e464f7d) - handle multi-season/episode files in season/episode matching (e464f7d)
- always use tcp (87667f1)
- correctly handle empty languages for key value in sorter (3989dde)
- debrid: handle undefined files from stremthru in addMagnet (cc243ed)
- formatter: update light gdrive and prism formats to correctly display multi-season / episode files (f1b8a7b)
- parser/regex: correctly escape slashes, and match bd for bluray (c50611d)
- presets/streamfusion: simplify config and allow disabling torrent providers (76ddf4a)
- proxy: filter out old connections (950c3d0)
- update deps (a7cf7d1)
2.16.6 (2025-10-31)
- increase timeout on tmdb validation and improve error messages (5e34d55)
2.16.5 (2025-10-29)
- presets/streamasia: update version (141771c)
2.16.4 (2025-10-27)
- add dynamic checkpoint extraction for exit conditions (8ce12cd)
- add parsedFile in search api result (373286b)
- improve IP handling in user data via schema and middleware (#461) (deb6b58)
- invalidate stream cache entry if search only produces errors (5083b06)
- presets/streamasia: default to 0 hidden kisskh catalogues & update version to 1.3.4 (e9a9cc2)
- remove .iso from non video files list (a2a1946)
2.16.3 (2025-10-26)
- remove background processing (26d1181)
2.16.2 (2025-10-25)
- frontend: provide initialUuid, adjust start setup button text when logged in (852ba9c)
- improve patterns for detecting 2 titles (5812346)
- normalise redirect url when extracting infohash (c8cce41)
- parse size strings using bytes library for accurate size conversion (108099b)
- presets/sootio: update for http providers (297c4c0)
- update ip fields to accept any string (4a25c1a), closes #453
2.16.1 (2025-10-23)
- add strict filtering option for year matching (9818513)
- add strict mode to season/episode matching (703e284)
- metadata/tmdb: use original titles from response and refactor alternative title fetching (3f97c6f), closes #442
- templates: add auto updating of external templates, allow overriding builtin/custom templates through imports, caching (d6b9657)
- builtins/newznab: update url hash after proxying (236935d)
- correctly handle fallback of seasonEpisode (6a5e26d)
- handle & in title normalisation/cleaning (e91307b)
- improve detection of separators in title preprocessing (90bbe8b)
- improve handling of title matching (3fa7bc7), closes #441
- improve logging of errors during public ip retrieval (d29d268)
- improve tmdb validation behaviour (cb3c143)
- metadata: don't use tvdb id mapping for movies and only use cinemetaData.released when necessary (86e65e7)
- metadata: parse and format release date from cinemetaData if available (d8b6460)
- only apply excludeSeasonPacks option to series type (d9730a0)
- replace certain characters with spaces (533e477)
2.16.0 (2025-10-20)
- add "Are You Still there?" workaround (#431) (5ddd111)
- add debrid-starter template (a3d00e0)
- add digital release filter to miscellaneous filter tab (2bd98ea), closes #280
- add exclude season packs option (4c7b28d)
- add regexes from custom/built-in templates to trusted regexes. (feddab6)
- add template system (#438) (481338a)
- core/formatters: add
rbytes,rbytes10,rbytes2number modifiers for rounded bytes formatting (edc771c) - filter out movie results with season/episode info (d475ae6)
- frontend: allow importing templates in install menu (6ef0ae1)
- frontend: allow more extensive markdown (bold, itallics, bullet points, new lines) (21458ca)
- templates: add setToSaveInstallMenu option set to true by default (924a85a)
- templates: add version field to templates (21458ca)
- templates: allow importing several templates at once. (21458ca)
- templates: allow specifying ID and handle overwriting existing templates during import (e43e9ad)
- templates: improve ui and fix ID generation (4fb44be)
- templates: load existing user data values when loading templates (21458ca)
- templates: store imported templates in local storage and show in list with confirmation dialog showing metadata (21458ca)
- templates: use PasswordInput for password inputs. (21458ca)
- anime-database: force refresh on failure during load (bc23628)
- builtins/torbox-search: handle null title (e0bae60)
- debrid: update error message for missing file link (413bb59)
- debrid: use toUrlSafeBase64 for encoding fileInfo in playback URL (69d24f2), closes #433
- frontend/templates: enable selected services (bda2c61)
- frontend/templates: handle optional input values (56a02f9)
- frontend/templates: improve validation and warning tooltip (b273402)
- frontend: automatically filter out unavailable/disabled presets in templates (18807bd)
- frontend: set addonDescription to undefined when falsy (af67ca8)
- frontend: throw error when importing template through config import (78662c8)
- frontend: validate template schema with zod (3e4f23a)
- increase timeout for rpdb (2ce87e4)
- metadata/tvdb: handle season result (c6f92ab)
- presets/streamfusion: add option to disable public torrent cache server (982567f)
- proxy: make proxied nzb URLs static (f8847bf)
- update default timeout value from 5000ms to 7000ms (58fbbf1)
- use esm import paths (a2f46a6)
- use zod prettifyError function to format Zod errors (3e4f23a)
2.15.4 (2025-10-13)
- builtins/prowlarr: make guid optional (b85b8ad)
2.15.3 (2025-10-13)
- debrid: adjust scoring logic for file selection based on season and episode presence (7f3faf7)
- presets/newznab: use correct env var name in proxyAuth description (0790cf3)
- remove length requirement on addonPassword (9cb2202)
2.15.2 (2025-10-12)
- add logging of headers (65de9c6)
- presets/subsource: use password type for api key (27ab37b)
- proxy: remove all hop-by-hop headers (3d6f36c)
- proxy: remove certain headers (bdb79ae)
- proxy: remove public url field for built-in proxy (2569f70)
2.15.1 (2025-10-12)
- frontend: clear uuid and password on log out (ed840bd)
- improve zod error handling during stream selection (98f3d02)
- proxy: improve auth validation during validity check (29dd38d)
- proxy: trim ip response (ba97977)
- validate public IP response (3d08959)
2.15.0 (2025-10-12)
- add built-in proxy (4fdc691)
- add cache and play (c11583e)
- add similarity threshold setting for title matching (c5c10c1)
- adjust default sort order (c820ff5)
- allow built-in addons to bypass title matching when needed (19c4ca1)
- frontend: redesign about menu (750ebc1)
- frontend: show proxy menu in simple mode but remove proxy controls (01f1c4f)
- prowlarr: add indexer env var to limit indexer options and only use torrent protocol indexers (cc37356)
- prowlarr: allow customising indexers in config, remove indexer env var (6c4c87b)
- proxy: cache public IP and improve connection tracking accuracy (0f575fb)
- proxy: improve user connection tracking with active and historical stats and encryption (e3dfa23)
- show unconfigured addons in marketplace with a disabled flag. (079240b)
- use lock during debrid resolve (c038492)
- add confirmed property to BaseFile (4fc8475)
- adjust timeouts for metadata (8cc6399)
- always use year from tmdb or tvdb (b9a2f3c)
- builtins/newznab: make proxy auth optional (3fb3014)
- builtins/prowlarr: add params to cache key (a796a6c)
- builtins/prowlarr: use prefetched indexers for preconfigured instance (8c12644)
- change default timeout to 5000 (d7e364a)
- handle empty seederRangeTypes (727e42d)
- presets/debridio-tv: add 24/7 to channel list (3eae246)
- presets/jackett: hide Jackett URL and API Key fields in simple mode when preconfigured (8c2ffbd)
- presets/newznab: add series and anime to media types option and pass mediaTypes to Addon (406d113)
- presets/opensubtitles-v3-plus: update languages array to match upstream (84dbede), closes #427
- presets/prowlarr: hide custom url fields when preconfigured in simple mode (f7abf12)
- presets/prowlarr: only use indexer option when its an array for preconfigured prowlarr instance (ed852dd)
- presets/sootio: update config generation with multi-service support, update supported services (b2dbb84)
- presets/sootio: use undefined serviceIds for overriden URLs (b9aa6f3)
- presets/subsource: add apiKey and types to config and manifest generation (678fe5c)
- presets/torbox: improve parsing of your media catalogue streams (a7c7012)
- presets/zilean: hide url field in simple mode (c74b56b)
- prowlarr: add debug logs and fetch after db init (ef20218)
- prowlarr: use enum for protocol and add debug log (cf767af)
- proxy: follow redirects (95b5201)
- proxy: sanitise upstream headers (078b41c)
- proxy: use correct url and improve logs (7ae0ed6)
- rename showInNoobMode to showInSimpleMode (8251171)
- update timeout field names to include units (ms) (97da7c0)
- use partial_ratio scorer in builtin addon title matching (1957def)
2.14.3 (2025-10-04)
- improve playback link generation and cache writes (7770bb1)
2.14.2 (2025-10-02)
- add mediaTypes to more stream addons (2aa2886)
- debrid: improve error handling and file selection (9b84e89)
- increase Redis timeout (b8ad764)
- presets/torbox: adjust extraction of cache status and infohash (309e655)
2.14.1 (2025-09-30)
- add debug logs to ip middleware (36d0464)
- add use multiple instances option to built-in addons (d400db8)
- allow customising playback link validity and store (a31c160)
2.14.0 (2025-09-29)
- add
allAddonsvariable to dynamic exit condition and add placeholder exit conditions (b7280a9) - add
queriedAddonsandqueryTypeto exit conditions and improve descriptions (a09a03c) - add dynamic fetching strategy with redesigned strategy card and fix parallel groups (48dbadd), closes #410
- allow limiting certain addons to specific media types (59e611a)
- builtins: add support for using alternative titles in scraping (4f4b044)
- make redis store optional for rate limiting (b47c293)
- sel: enable the
inoperator (6a10f7c) - use urlsafe encoded configs, add requiredFields, adjust playback URL handling, and sql cache store. (9a9d3d2)
- add debug logs to redirect handling and follow additional redirects (5e3f6fb)
- add error handling for URL parsing in Proxifier class (6e0e6f5)
- adjust key for metadata lock (028e772)
- adjust lock, refactor retry operations, remove minimum length requirement for condition, increase max length for conditions to 3000 (136ca58)
- always validate dynamic addon fetching condition when enabled (778bbf7)
- cache adjustments (8772ab7)
- default catalogs to empty array to allow manifests without catalogs (d5f4c93)
- fix filtering of null/undefined attributes (5313969)
- handle unknown resolution in prism formatter (97bd672)
- handle zod errors gracefully (60fd28c)
- improve error message for expression evaluation error (37a9de3)
- improve releaseGroup regex (#403) (2c9c887)
- increase max length of group and dynamic addon fetching condition to 1500 (f965b44)
- increase ttl in metadata lock (b30810a)
- presets/mediafusion: clean filename (820a5e0)
- presets/more-like-this: update manifest generation (1ca7f55)
- presets/stremthru-store: add Usenet stream type handling and info hash extraction (aa3ae24)
- presets/torbox: handle Usenet stream type in hash extraction (967cff2)
- use correct cache key for tvdb token (63aacd1)
- use fetchAndProcessAddons instead of fetchFromAddon in dynamic fetch strategy (b0cddfc)
2.13.3 (2025-09-26)
- debrid/utils: allow season 1 with correct absolute episode to pass validation (bd05313)
- metadata: adjust timeouts (7ec4774)
- presets/nzbhydra: add force query search option to nzbhydra preset (ab38242)
2.13.2 (2025-09-26)
- builtins/znab: make link field optional item schemas (af4ce46)
- correct default value of STREMTHRU_STORE URL (b5e1538)
- debrid/stremthru: add error handling and logging for no data response (4b48fef)
- don't filter out result with season of 1 if absolute episode matches (85d1a14)
- improve lock mechanism (f6d5425)
- update English name for Romanian language entry (a745ff2)
2.13.1 (2025-09-26)
- debrid/stremthru: handle undefined data (9aa2303)
- http: ensure proxyIndex defaults to 0 when no config is defined (68196ae)
- metadata/tvdb: handle episode result in remote id search and choose first correct media type (51878ce)
- only add stats when enabled (36c07f0)
- prefix magnet check cache key with service name (4a6ab81)
2.13.0 (2025-09-26)
- add
ALTERNATE_DESIGNenv var (8f0bfc5) - add ability to customise group behaviour (8dc85ba)
- add bigmagnet preset and adjust envs and startup logs (1c6d8a1)
- add filter statistics (26713aa)
- add knaben builtin addon (2790f45)
- add new logo assets and manifest for frontend (c11690c)
- add presets for jackett and nzbhydra (4739d17)
- add PTT_PORT and PTT_SOCKET environment variables for PTT server configuration (7d79322)
- add queryType to SEL filters (26713aa)
- add sootio preset (36ed320)
- add torrent galaxy builtin addon (5f537af)
- adjust querying for knaben (c39ed44)
- allow custom prowlarr/jackett/nzhydra instances (4739d17)
- allow customising level of detail for anime db (0046dfd)
- allow customising which stats are shown (f84fb25)
- builtins/knaben: add blacklisted categories and filter search results accordingly (c74654a)
- builtins/prowlarr: allow specifying custom tags (e451e96)
- builtins: refactor query building for debrid addons to use a shared method (6306c7c)
- core/formatters: add ::<comparator>:: to formatter for Advanced Custom Formatting Logic! (#381) (bc2e065)
- core/formatters: add replace("needle", "replaceValue") modifier for strings (#386) (cc26bf9)
- core/formatters: allow multiple sequential modifiers (#368) (ab5de5c)
- core/formatters: improve and refactor base formatter (224810d)
- extract jackett indexer in torznab implementation (ef10cf0)
- fetch torrent metadata lazily in background (a6fc147)
- formatters: add prism predefined format (5dadd98)
- frontend: add reset configuration button into new danger zone card (039081b)
- frontend: implement formatter import/export functionality with refactored ImportModal component (edbcc27)
- frontend: persist user data to local storage (#353) (213d3cf)
- handle downloadUrls for torrents. (4739d17)
- handle saga and years in titles (b3a09bf)
- http: re-use proxy agents (#379) (427efa9)
- increase manifest cache and allow bypassing cache/longer timeouts when necessary (f37249c)
- log transformation duration for streams in StremioTransformer (075b816)
- metadata/tmdb: add support for fetching movie and TV translations alongside alternative titles (14de859), closes #370
- move H-OU and H-SBS to visualTags (b5e6d72)
- perform title matching, improve season/episode handling (b365108)
- simplify anime db data source refresh logic (62163fe)
- sort statistics streams by time ascending (6e82a00)
- stuff (54573b5)
- support encrypted password in search API (69963fa)
- support getting metadata from tvdb (ca407f3)
- use anime entry title as primary title when using kitsu/mal IDs (203236c)
- use minimal validation in anime database (8f8b25d)
- use user-friendly labels for resource options (34384a4)
- . (7cdd7c0)
- adjust absolute episode calculation for non-IMDB episodes (079a0a3)
- adjust bluray remux regex (b3549cd)
- adjust episode number using imdb episode offset for kitsu/mal ids (c923cf2)
- adjust private IP regex (8d3e4f9)
- allow any string for URL (c77dcd8)
- avoid importing other paths (0266adb)
- await parse torrent (48aaca2)
- builtins/knaben: allow null values for URL and correct default value of searchType (3ef62c2)
- builtins/prowlarr: update indexerFlags type to string array (b3cac30)
- builtins/torbox-search: get metadata from cache (5246c2a)
- builtins/torznab: extract size from torznab attribute too (d7c8e3f)
- builtins/torznab: support infohash extraction from magnet URLs in enclosure (ac3791b)
- builtins/znab: improve error handling (2d13747)
- clean title in base debrid addon (3b23022)
- core/formatters: correctly handle post-processing of strings (#389) (9fb21c7)
- core/formatters: ensure null values trigger the false check case in conditional modifiers (#348) (dae054f)
- core/formatters: fix ordering of parsed variables (#386) (cc26bf9)
- core/formatters: update Conditional check to properly typecheck (#361) (9a305ea)
- core/formatters: Update Multiple Modifiers Feature to properly parse modifiers, check_tf, etc... (#369) (36fdeb4)
- correctly count statistics for stream expression filters (ef28f41)
- correctly format IMDb ID value when using anime mappings for RPDB (f65dea3)
- debrid: cache non-downloaded status temporarily (50ac3b5)
- decrease timeout for stremthru (dada10f)
- default skip failed addons to true by explicitly checking for false (4b06825)
- Dockerfile: add patches folder to image (4739d17)
- don't use anime title as primary title (9d570a8)
- ensure existing statistic settings remain during migration (f494a1c)
- ensure missing tmdb credentials don't throw errors in metadata service (2fddf90)
- ensure remaining groups are skipped when condition evaluates to false in parallel behaviour (regression) (0574ea3)
- ensure remaining rules are always checked (6873eba)
- ensure responses are still cached with bypassCache (2591835)
- ensure to exit attempt loop if data source successfully loads (3d706ea)
- format bytes in removal reason detail (7860546)
- frontend: add new-password autoComplete attribute to RPDB API Key input (86f88fd)
- frontend: ensure migrations are applied when loading user data from local storage (e182609)
- frontend: filter out tvdb api key in exports (e562fc1)
- frontend: fully reset user data when set to null (242b870)
- frontend: set a default value for statistics to show (5ad2909)
- handle errors during addon generation without throwing when necessary (e0ce580)
- handle errors when fetching search metadata in BaseDebridAddon (862ea36)
- improve error handling for search metadata and processing errors in BaseDebridAddon (6ba433e)
- improve filename extraction (512fe62)
- improve pattern fetching with retry logic and increased timeout (f190a87)
- increase timeout for IMDB metadata (3f1ef8b)
- make bluray regex more robust (#396) (2e9c270)
- parse uncached titles during nzb processing (4739d17)
- parser: add more edge cases to saga handling (cfa854d)
- prefer tvdb id for series media type in newznab. (4739d17)
- presets/ai-search: use correct structure for body in manifest generation (93bb543)
- presets/debridio-tv: update url and channels list (4650233)
- presets/debridio-watchtower: handle no streams found message stream (33090a4)
- presets/jackett: use correct torznab endpoint (89f3c63)
- presets/sootio: add torbox to supported services (93ecb87)
- presets/stremthru: add filename regex (39ab86d)
- reduce false positives for 2.0 regex (cd4f1c3)
- remove length requirement from stream attributes (9651eea)
- rename script to cjs extension (46fe7fd)
- rethrow errors during manifest generation when skip failed addons is false (7dc865d)
- set forceInUi to false for all timeout options (8d2bbf4)
- store correct type for expires_at (684cd5e)
- torznab: add filter to exclude magnet links from download URLs (73f6658)
- update season number extraction for anime entries in BaseDebridAddon (29b935a)
- update year handling in metadata processing (be2728f)
- use copy of applyMigrations function to avoid go-ptt import path (ee79578)
- validate infohashes (0e54ae5)
2.12.2 (2025-09-02)
- await regexAllowed check in validateRegexes function (be1a257)
- debridio-scraper: add debrider to supported services (24d0974)
- move cache hit message into debug level (c515e19)
2.12.1 (2025-08-31)
- add groups to pro mode (cc51cc0)
- assign trusted and ip in userdata for search api (78c94df)
- handle default undefined value of select-with-custom during validation (6acc26f)
- make global size filter optional to allow only resolution-specific (735bba5)
- remove debug logging in year matching (408a288)
- remove size and type from default auto play attributes (1968a1c)
- remove trailing slashes in presetUrls validator (f613772)
- support year ranges during year matching (a39a85b)
- update alias route to handle requested path correctly with express 5 (bd88d3d)
- use partial record instead of record in schemas (61cd2bc)
- use slice instead of splice to avoid modifying value of environment variable (ee2ea41)
2.12.0 (2025-08-30)
- add pro/noob mode (571ea7f)
- add search API (571ea7f)
- add stream type as auto play attribute (571ea7f)
- allow specifying multiple URLs for comet and mediafusion in .env (571ea7f)
- frontend: move more stuff into pro only mode (c68bb0e)
- move more stuff into pro only (73ccd15)
- remove
ALLOW_UNAUTHENTICATED_SEARCH_APIenv var (df97bde) - use redis store in rate limiter when possible (571ea7f)
- add rate limit to legacy endpoint (0702d4f)
- allow empty credential value in schema and add min length constraint for config validation (4962465)
- behaviorHint passthrough in meta response (571ea7f)
- ensure catalog resource has correct types (9a5339e)
- frontend: dynamically determine menus based on mode (5e969ff)
- give priority to URL/service over infoHash (085d394)
- remove required attribute from service credential fields, (571ea7f)
- set value of default URL to undefined so updates to env apply for all users when using multiple URLs (a3007e6)
2.11.6 (2025-08-28)
- correctly extract json error for error metas (5ddab33)
- presets/aiostreams: passthrough the proxied attribute (62bf6de), closes #321
2.11.5 (2025-08-26)
- parser: improve BluRay REMUX regex (4a658a1)
- presets/webstreamr: return original parsed file when no resolution matched (07db3d9)
2.11.4 (2025-08-26)
- fallback to undefined when name is null (757138e)
- only define bingeGroup when auto play is enabled (de47fff)
- presets/webstreamr: update provider list, add show error option, parse error streams, only use resolution from stream name, (1fd6730)
2.11.3 (2025-08-25)
- add alternate
uprefixed formatter language variables and sort language variables based on language settings (271c183), closes #323
- add helper function for adding usenet download (34075d5)
- frontend: improve clarity of descriptions and add alerts for auto play and exporting (4855cf9)
- presets/mediafusion: include encoded user data hash in manifest url (200d1b7)
2.11.2 (2025-08-24)
2.11.1 (2025-08-24)
- add handling for RATE_LIMIT_EXCEEDED errors in middleware (3af18db)
- determine useProxy after mapping (9effbf8)
- make description optional in manifest (7bcbccb)
- presets/ai-companion: adjust validation schema (8f9f68b), closes #319
- presets/comet: add debrider to supported services (a30419d)
- redis: prevent setting cache with zero TTL (69e76e1)
2.11.0 (2025-08-24)
- add reverse order option for catalogs (#310) (1d941f0), closes #299
- add size as auto play attribute (dbe629a), closes #312
- core/formatter: add
stream.languageCodesproperty (ea724a6) - core/formatter: add
stream.smallLanguageCodesand fix for Latino (4197fa5) - enable deduplicator by default (3366919)
- merge shuffle and reverse into one modifier button and make them mutually exclusive (5b3aba1)
- builtins/torbox-search: correctly handle search user engine when caching (d17da3d)
- builtins/torbox-search: handle timeout errors and log errors in torrent handler (4757db0)
- builtins/torbox-search: move log for results above early exit in usenet handler (72005a5)
- check if poster is from RPDB before converting (3067ac3)
- check URL path when using stremthru for proxy check (db003db)
- core/formatters: convert language code fallback to uppercase (4903114)
- core/formatters: convert to uppercase before mapping (c32039d)
- Dockerfile: add static files to image (7edf671)
- frontend: wrap regex pattern alert buttons (955fe97)
- handle errors on status route and improve error messages (90f0097)
- handle forced/default values for preset options in frontend and config validation (766ff02)
- improve season extraction logic from metadata (28775fa)
- mention addon in timeout error (49a0413)
- validate TMDB API Key during config validation (4c50f35)
2.10.0 (2025-08-21)
- add customisable auto play settings (6159789)
- add debrider as service and update mediafusion preset (#305) (5d27944)
- add first file auto play method (a7d0650)
- add redis support (bc9dd5c)
- add separate URL mappings option for stream URLs and outgoing request URLs (a09f1f2)
- add URL mappings configuration for outgoing requests (a996624)
- allow filtering files with undefined size with SEL (7d5911e)
- allow setting allowed regexes through URLs (1af4175)
- builtins/torbox-search: add debrider support (6159789)
- builtins/torbox-search: check instant availability for cached usenet searches (beeb07d)
- builtins/torbox-search: mark items in torbox library as your media (00a4187)
- frontend: show allowed import URLs in UI (f4a9c5d)
- frontend: show configure button for marketplace addons with overriden URLs (6159789)
- process addon resource requests in background after initial timeout (c31e7fc)
- refresh regex patterns from URLs in intervals (0cd2afb)
- remove p2p streams when necessary during deduplication and update deduplicator multi group option values (054781a)
- update (6159789)
- add DER to knownNames for Debrider (b22c5c2)
- always prefix bingeGroup with addon id, (a7d0650)
- always prefix redis keys with aiostreams (95f2c12)
- builtins/torbox-search: continue if metadata can't be fetched (2159cd3)
- builtins/torbox-search: don't cache empty search results (6159789)
- convert requests to BASE_URL to INTERNAL_URL to avoid hairpinning issues (6159789)
- correct parsing of error ID to ensure proper error metadata generation (048bc02)
- correctly handle undefined/0 year tolerance during year matching (967af82)
- correctly sanitise keywords to create a valid regex pattern (88a071e), closes #307
- don't cache empty stream results (7b833ed)
- fetch metadata if year matching is enabled too and apply request types and addon (98fd9d3)
- filter out references to non-existent presets during validation (6159789)
- fix debug log for uncached usenet download detection (d1eb04d)
- force memory cache for regexes (3145734)
- frontend: ensure services array is updated with missing services when it changes (751e411)
- frontend: filter out addonPassword and tmdbApiKey in export when exclude credentials is true (6159789)
- frontend: return null for non-existent services and improve type saftey (ea2c692)
- only log cache stats for memory cache (5ddf430)
- presets/comet: add scraping in progress to error messages (6159789)
- presets/debridio: update logo and create constants for common options (86f17e8)
- presets/mediafusion: append user data hash to manifest URL to have unique cache entries (6e30b7b)
- presets/more-like-this: update manifest generation logic (6159789)
- presets/nuviostreams: add new providers and fix title parsing (6159789)
- presets/nuviostreams: allow leaving providers blank to use default (6159789)
- presets/streaming-catalogs: add new catalogues (6159789)
- presets/stremthru: add debrider to supported services (6159789)
- presets/subdl: use correct option type for subdl api key and link to panel (74b16f2)
- presets/torbox-search: enforce minimum source and fix description (6159789)
- presets/torrentio: leave providers blank by default (6159789)
- presets/torrentsdb: add debrider to supported services (6159789)
- return modified stream URL after applying mappings (3b25701)
- support pattern only exports for allowed import URLs (bb90592)
2.9.0 (2025-08-15)
- add 'DV Only' and 'HDR Only' visual tags (01d4ecf)
- add AI Companion (93fd611)
- add AStream (5fc4cea), closes #298
- add configurable year tolerance during year matching (05d3cac)
- add content deep dive to marketplace, closes #284 (c48d37c)
- add forceInUi option to min/max constraints for better UX (6308f8f)
- add gdrive builtin addon (05d3cac)
- add modal for viewing allowed regex patterns in regex filter menu (5b31f0c)
- add multi group behaviour option for deduplicator (a564e02)
- add torbox search builtin addon (05d3cac)
- allow deleting user (05d3cac)
- allow setting allowed regexes for all users (05d3cac), closes #244
- assign unassigned addons to the first group in StreamFetcher (11c52cb)
- builtins/torbox-search: add caching option for user-specific search engines in TorBox Search (3c2b5b7)
- builtins/torbox-search: add only show user search results option (eef55af)
- builtins/torbox-search: general improvements (c48d37c)
- centralise TMDB credentials and automatically provide to addons when needed (ed5893e)
- frontend: show logo from manifest for custom addons (604ab02)
- handle streams provided in meta responses (8014790)
- make
BASE_URLrequired (05d3cac) - separate year matching into independent option, closes #292 (c48d37c)
- support multiple
ADDON_PASSWORDs (1413075) - update (c48d37c)
- update (05d3cac)
- adjust error logging for metadata fetching (1187f1a)
- ai-search: correctly check for tmdb api key (a27a308)
- astream: add github link (24124c4)
- block head requests on debrid resolve and add missing return (c643cbb)
- builtins/gdrive: improve logging (bba4e56)
- builtins/torbox-search: adjust validation schemas for api (6d8ea42)
- builtins/torbox-search: cache playback links for usenet (7ae6127)
- builtins/torbox-search: ensure errors are logged during usenet fetch (4147ea3)
- builtins/torbox-search: ensure files are always added during scrape (23b8aa1)
- builtins/torbox: set type property at root to workaround colinhacks/zod#2655 (c66ef9e)
- check for allowed regexes during filtering (7b0b98f)
- correctly handle server side forcing of deprecated public proxy URLs (1cdb0f3)
- debrid: correctly handle request download link response (91772fe)
- don't allow empty URLs in environment variables (53ca896)
- don't show errors during catalog pagination to avoid repeated requests (d623305)
- don't validate config on get and adjust error handling (063446e)
- ensure forced proxy information is always checked/used when provided (05d3cac)
- ensure items are always removed from cache when TTL expires (5325e50)
- fallback to stream addon name when stream name is not provided when stream passthrough is enabled (c48d37c)
- frontend: add spacing between alerts in regex tab (682c187)
- frontend: fix css issues in filter menu (5e99e7a)
- frontend: only break-all on code (8e97599)
- improve error messages (633f2d2)
- log full error for unexpected errors during stream retrieval (043de07)
- match HDR10P for HDR10+ (0d7c8d9)
- only add access token header when present (498282f)
- override type to live for usa tv, argentina tv, and debridio tv (05d3cac)
- pass name when creating usenet download (9832f5e)
- remove base when forming url object for addon validation (40657bb)
- remove debug logging and adjust builtin torbox search logs (2a027ca)
- remove request headers from stream when proxied (9dc718e)
- set default year tolerance to 1 during migration and only if not already set (3a3972b)
- simplify and fix bluray remux detection (05d3cac)
- skip internal middleware in development environment (8f4724e)
- skip mediafusion found but filtered message stream (05d3cac)
- stremthru-store: ensure release groups don't get parsed as indexer (05d3cac)
- subhero: add Portuguese (Brazil) option (76801e2)
- temporarily switch to fork for torbox api package (c388ef3)
- throw error on rate limit exceeded streams (05d3cac)
- webstreamr: add missing emojis to message parser (#294) (3a53e35)
2.8.2 (2025-07-30)
- allow all extra keys (f8388ed)
- assign encoded token to correct credential ID (4963123)
- streamasia: url encode mediaflow proxy password (5bd55b5)
- url encode extra values (2eea0a9)
2.8.1 (2025-07-30)
- support socks5 proxy for
ADDON_PROXY(de587bb)
- add explicit handling of passthrough type in deduplicator (4797a33)
- adjust forced to top sort handling to avoid modifying sort criterias (146cf16)
- correctly sanitise filename (aa66213)
- enable result passthrough for tmdb collections (2408109)
2.8.0 (2025-07-29)
- add explicit redirect handling to avoid external requests and refactor precaching logic (0e40299)
- add force to top option for custom addons (6a26e11)
- add more like this (b1e46a2)
- add options to force streams to the top of the list in MoreLikeThis and TmdbCollections presets (08adc25)
- add result passthrough option (86f7057)
- add streamasia (03afc6e)
- debridio-tv: enable result passthrough by default and remove debug logs (096751a)
- allow empty id prefixes (d39a301)
- correctly handle encrypted public proxy url (7c08137)
- enable result passthrough for usa tv, argentina tv, and more like this (74179aa)
- prevent streams from being proxied if urls match proxy or already have proxied set to true (5320fcf)
2.7.0 (2025-07-28)
- add proxy public url option, deprecate
FORCE_PUBLIC_PROXY_env vars and replace withFORCE_PROXY_PUBLIC_URLandDEFAULT_PROXY_PUBLIC_URL(feb4651) - add RPDB redirect API with fallback support (884b77e)
- allow customising addon description (161a278)
- allow disabling groups (dddf80a)
- frontend: allow action prop in SettingsCard and use for catalogue and changelog card (66d0823)
- frontend: automatically refresh catalogs (c5d6f06)
- frontend: improve changelog card (0bf3331)
- frontend: improve handling of old current versions and show available updates (482ffc0)
- frontend: improve whats new card (6508f70)
- frontend: remove glowing effect (0bcba95)
- frontend: update ui (52179e1)
- smarter caching for catalogs, meta, and manifests (f259e4e)
- use separate cache instances per resource (0a8e8e4)
- add custom handlers for 3 digit season numbers (31e1f34)
- add logs for parsing times and format time correctly (a8bc9d1)
- add support for 'postgresql' scheme (3065dfc)
- core: carry out deep link conversion on full meta responses too (1d2699f), closes #264
- debridio-tmdb: use exact language options (762ce59)
- debridio-tv: correctly generate cache key (4be707d)
- debridio-tvdb: append preset ID to cache key (1b3e8bf)
- dont log errors when attempting to convert discover deep links (f4c09c9)
- encrypt default proxy public URL in status response if provided (78229ee)
- ensure trusted is checked before validation on updateUser (c805e49)
- filter out unspecified resources from supported resources (98c82c2), closes #277
- frontend: correctly set default channel (c2a2541)
- frontend: fix layout issues on changelog card on smaller screens (ce2673e)
- frontend: wrap addon description in MarkdownLite in addon modal (b7d4173)
- handle edge cases for title during parsing (913d591)
- improve cache key generation (4ae1370)
- improve german regex pattern (1da1e9e)
- make 'end' parameter optional in slice function (2d21435)
- only add error and statistic streams to final list if condition allows processing (b45a37d)
- peerflix: update default value of PEERFLIX_URL and update .env.sample (5161c3c)
- push error and statistic streams from first group results (84976b6)
- tmdb-collections: add stream parser to add collection name to stream.message and improve collection from movie option description (b99fff0)
- tmdb-collections: use exact language options (44ae0f6)
- tmdb: use exact language options (b72bbcc)
- update German regex pattern for improved language detection (01e9a99)
- use correct warn method for logging for meta failure during precaching (1514724)
2.6.1 (2025-07-16)
- correctly extract extras for subtitle requests (a1cbeb2)
- debridio-tv: add new zealand option (3dd2e7a)
- fkstream: allow overriding services (952dda8), closes #268
2.6.0 (2025-07-16)
- add ai search addon to marketplace (c9c1bab)
- add AIO Subtitle addon to marketplace (db191fd)
- add fkstream to marketplace (ee72f3a), closes #260
- add statistics position option to control where statistic streams appear (47656d0)
- add subhero to the marketplace (e70920a)
- extract episode count during precaching to automatically precache next season when necessary (6f0e79a)
- frontend: move tmdb access token setting to services menu (9101acb)
- webstreamr: update provider list and automatically provide mediaflow details if possible (dbde122)
- add fkstream, subhero, aio subtitle to startup logs and sample .env (130be7d)
- add socials option to ai search (28f7863)
- adjust extras schema to allow more than 1 extra (7ba880e), closes #263
- aiosubtitle: rename language option to languages and use correct default timeout (603af9a)
- allow any string for thumbnail (4652eb6)
- core: set groups to undefined during precaching (02d4cf7)
- core: use structuredClone for cache item values to ensure immutability (465b7a4)
- correct spelling of ALLEDEBRID_SERVICE to ALLDEBRID_SERVICE (b67f38a)
- debridio-tv: update channel list (67509a4)
- ensure number types always have integer step of at least 1 (ac4d209)
- ensure string validations are carried out against password type (66d4a96)
- frontend: revert 3a82b796c56627d21ede53b91f47315cbb46c1e4 and clean options before processing (880817a)
- frontend: show puzzle icon for addons without logo (f74fbb2)
- frontend: strictly rely on value during selection (3a82b79)
- improve parsing for debridio watchtower, nuviostreams, and webstreamr (9febeeb)
- nuviostreams: add animepahe provider (00862c0)
- only move to next season when it exists and correct logs (3050b41)
- remove unnecessary debug logs (0e24a6a)
- replace discover deep links where possible (aa084d3), closes #264
- always fetch from all groups in parallel (0ce1338)
2.5.4 (2025-07-12)
- ensure catalog.extra is initialised before pushing new genre options (dc9c8a4)
2.5.3 (2025-07-11)
- only add aiostreamserror to idPrefixes if already defined (ebe46d7)
- only log warning for missing idPrefixes when needed (08ec779)
2.5.2 (2025-07-11)
- add statistic stream options to see statistics in stremio (261b878)
- account for query parameters in manifest urls for custom addons during validation (3ad1e7c)
- add skipReasons logging for seeder ranges (a06ac34)
- correct spelling of 'Crunchyroll' in streaming catalogs preset (cb423d1)
- debridio-watchtower: ensure resolution is always parsed (6a0bf09)
- debridio-watchtower: update stream parser (542863e)
- forward manifest parsing errors (9748ecb)
- frontend: remove menu query param on start/'about' menu (275a2de)
- only log warning for missing idPrefixes for non 'catlaog' resources (f8065c9)
- only standardise upon valdiation (e980c1e)
- pass fileIdx through for p2p streams (0076339)
- provide meta for catalog errors (f4050d6)
- set customised logo to undefined when empty (7d0b60e)
- set loading to false in the case of an error upon fetching the new manifest URL (707a1f3)
- standardise manifest URL during validation for custom addon updates (8314cae)
- update director to allow string (2c924ba)
- update publicIp schema to allow empty string in addition to valid IP (0539fe4), closes #250
- use correct property in skipReasons for seeder ranges (c54b2b6)
2.5.1 (2025-07-04)
- ensure proxy IP is only used when enabled (12434b2)
- ensure searchable is false when no extras are defined (ff5c9b2)
- support configuring custom addons with stremio:// protocol (5040980)
2.5.0 (2025-07-03)
- add 'donate' option to social icons (bcbc793)
- add configurable minimum interval for precaching same episode by same user (dd9b476)
- add configure button for custom addons (4ebd110)
- add disable search catalog modifier (7a824d0)
- add included stream expression filters (102c71f)
- add OpenSubtitles V3 +/Pro (64e0d4d)
- add separate configurable timeouts for different resource requests (be18508)
- add SubDL addon (5245a7a)
- add subsource (98d890b)
- add validation for min/max constraints in multi-select options (e9d74bd)
- allow hiding all catalogs from home and preserve 'None' option (a82edc0)
- allow setting headers for specific domains (160d9a7)
- expose value of LOG_SENSITIVE_INFO through status API (e8183aa)
- implement SkipStreamError to handle external download streams from wrapped AIOs (3631ff6)
- improve ui consistency for type input in edit modal for catalgos (e913bd7)
- lower default timeout to 10000 (4a2998e)
- mediafusion: add 'Contributor Streams' option and parsing (838f031)
- perform deduplication on each group fetch (8d02554)
- swap addon name and type position for each catalog (efc99ab)
- update .env.sample and startup logging (16c9958)
- update OpenSubtitles V3 Pro description (cfa9cfc)
- add space after link in AddonGroupCard for improved readability (b9ef30c)
- add validation for all stream expression filters (6039a57)
- correctly log headers (5e2053a)
- increase maximum length for stream expression filters (e2d75b4)
- mediafusion: ensure contributor streams are only included for one instance (0e5dd95)
- nuviostreams: update provider list (2867d03)
- only allow hiding catalogs that don't have any extra requirement (6997f1c)
- remove addon name and regex matched from external download links (11e5fec)
- return an empty array when no included stream expressions are provided (74c764c)
- support selecting unknown visual tags, audio tags, audio channels, and languages in SEL (735a326)
- use correct env var name for stream expression limit in startup logs (e7709e7)
- use correct env var name in sample .env for ST Torz/Store URL adjustments (322a5e1)
2.4.2 (2025-06-27)
- debridio: add Italy option (7774310)
2.4.1 (2025-06-27)
2.4.0 (2025-06-27)
- add always precache option (d4ff4a2)
- add slice function to stream expression (321b325)
- add USA TV and Argentina TV (e29800a)
- allow disabling user agent (305ebd8)
- apply filters and precomputation to streams after each group fetch (78144d0)
- fix filtering (32b1c3c)
- include headers in logs (4b9f268)
- pass specified services in DebridioPreset (e264db6)
- set excludeUncached to false during pre-caching (62aed42)
- skip failed addons on manifest fetch (cada0de)
- streamfusion: remove service requirement, enable torrent providers, lower limits (3d856a2)
2.3.2 (2025-06-24)
- only show warning when no idPrefixes are given (832deae)
- remove folderSize from downloadable streams (baf4c46)
- remove length requirement for string properties in ManifestSchema (b009511)
2.3.1 (2025-06-24)
- set idPrefixes to undefined for new resources too (97894be)
2.3.0 (2025-06-24)
- add
EXPOSE_USER_COUNTset to false by default (3e9820b) - add more fields to bingeGroup (f53c8ca)
- add tmdb addon (96bf1de)
- add torrentsdb (aebef33)
- improve parsing for debridio tv (320dbb2)
- add discovery+ option to streaming catalogs (3b47339)
- make sorting in deduplicator consistent (b15efd5)
- only extract folder size if difference is large enough (3d7808b)
- set idPrefixes to undefined when an addon for that resource doesn't provide it (f3ff7c5)
2.2.1 (2025-06-22)
- add catalog and meta resources to mediafusion preset (ee492e2)
- add min and max constraints validation for options in config (675eaf0)
- allow null values in options array for manifest extras (99d66e8)
- correct property name from 'seeders' to 'seeder' in includedReasons (912fa49)
- frontend: add sensible steps and remove min max constraint in NumberInput for TemplateOption (1119721)
2.2.0 (2025-06-22)
- add 'not' function to BaseConditionParser for filtering streams (44d2c4c)
- add logging for include details/reasons during filtering (9de901d)
- add merge function in BaseConditionParser (f223368)
- add regexMatchedInRange function to BaseConditionParser (cc2f5f7)
- add support for required and preferred filter conditions (d9281bd)
- adjust wording and naming of expression/condition parser (a06aea9)
- apply filter conditions last (41d507a)
- enable addition and subtraction in base Parser (c4e65f8)
- handle missing debridio api key for clear errors (ad4a51c)
- improve condition parser functions to support multiple parameters (110146c)
- loop through optionMetas to ensure new options are validated too and ignore individual errors from presets when necessary (2ffc82c)
- support multiple regex names in regexMatched function (455f430)
- use title modifier for title in light gdrive formatter (e542989)
- actually use the streams after applying filter conditions (4bc0259)
- allow empty regex names in ParsedStreamSchema and AIOStream (cf39cdf)
- debridio: update preset to support new version (#213) (23e8078)
- ensure comparison checks for deduplications are carried out when needed (c7bb0c8)
- extract streamExpressionMatched from AIOStream parser (7e65738)
- fallback to parent get filename method when filename not found in description for mediafusion (cfb5977)
- fallback to using parsed properties from folder when undefined in file and correctly merge array properties (8eb9b7a)
- filter out uuid in filtered export (bd21b36)
- formatters: make title modifier return consistent cases with each word titled (3e6b45a)
- handle invalid addon password error separately for catalog API to be more clear (a2275cc)
- ignore port in host check (e73be92)
- normalize case sensitivity in condition parser filters for resolutions, qualities, encodes, types, visualTags, audioTags, audioChannels, and languages (87d2ffb)
- only form keyword patterns when length of array is greater than 0 (9136694)
- rename 'not' function to 'negate' to avoid conflicts (8477584)
- update credentials field to allow empty strings (c006321)
2.1.0 (2025-06-20)
- allow disabling pruning and disable it by default (85c0ec1)
- allow specifying providers in torrentio (8e5f4b5)
- enable conditional operators in parser, allowing ternary statements in filter conditions (eb6edfc)
- extract folder size for stremthru torz (e775562)
- improve cache stats logging (d47eee0)
- improve save install page (a115e59)
- only add foldername if different and parse info from both folder and filename (6eed23f)
- add enableCollectionFromMovie option to TMDB Collections (71d9fe0), closes #194
- add stream as supported resource for TMDB Collections (d2ef215)
- add validation to pruneUsers method to ensure negative maxDays input is not used (6b597b3)
- adjust idPrefixes handling to improve compatibility in most cases (7fa8ba7)
- change all debrid service name to AllDebrid (a89cdca), closes #208
- convert live types to http for webstreamr (64977ca)
- don't pass encoded_user_data header if URL is overriden (ed2c0f5)
- exit auto prune when max days is less than 0 (ee1ddc0)
- explicitly check for unknown in version and default to 0.0.0 for manifest response (8664e00), closes #198
- extract size for nuviostreams (ebbd7ec)
- fix error handling in config modal (5182a07)
- frontend: filter out proxy credentials and url in export when exclude credentials is true (3c31939)
- handle empty addon name in stream results and update description for addon name field (5612140)
- handle pikpak credentials for mediafusion (eee444f)
- include addon name in error messages for invalid manifest URLs (abf99c1)
- make types optional in ManifestSchema (5281756)
- make types required and provide array based on resources object array (01cf37f)
- manually override type to http for watchtower and nuviostreams (1fb00a4)
- map defaultProviders to their values in TorrentioPreset configuration (9b04403)
- normalize version check (#206) (05cc116)
- only add to idPrefixes if not null (6fb5f7b)
- overlapping snippets modal (#202) (195da69)
- prevent title from being parsed for info (f8b2e2d)
- remove idPrefixes from top level manifest (908b4ff)
- remove outdated decoding of credentials causing issues with some credentials (609931e)
- remove timestamp from cache stats (509e3bd)
- remove unused method handler for unsupported HTTP methods (7405d27)
- rename web_dl to webdl in stremthru store (3fb57c5)
- simplify and fix configuration generation for services and providers in TorrentioPreset (cfafeec)
- try explicitly setting idPrefixes to an empty array (c16060f)
- try removing types (10c4e2d)
- try setting idPrefixes to null (a5f32df)
- update descriptions for filtering options in menu component to clarify behavior (67bb204)
- use password type where necessary (0a12d33)
2.0.1 (2025-06-19)
- add audio channel to skipReasons (ef1763c)
- correctly handle overriding URL for mediafusion (9bf3838)
- ensure instances is defined (7e00e32)
2.0.0 (2025-06-18)
- Beyond Just Streams: AIOStreams v2 now supports more than just stream addons! You can integrate any supported Stremio addon type, including Catalog addons, Subtitle addons, and even Addon Catalog addons into your single AIOStreams setup. Now it truly can do everything!
- 100% Addon Compatibility: That's right! AIOStreams v2 is designed to work with 100% of existing Stremio addons that adhere to the Stremio addon SDK.
- Sleek New UI: The entire interface has been redesigned for a more modern, intuitive, and frankly, beautiful configuration experience.
This new configuration page was only possible thanks to Seanime, a beautiful application for anime
This rewrite has paved the way for a TON of new features and enhancements. Here’s a rundown:
🛠️ Configuration Heaven & Built-in Marketplace:
- The configuration page now features a built-in marketplace for addons. This makes it super easy to discover and add new addons, displaying their supported resources (streams, catalogs, subtitles, etc.), Debrid services they integrate with, and stream types (torrent, http, usenet, live etc.).
- You can now quickly enable or disable individual addons within your AIOStreams setup without fully removing them. This is particularly useful because tools like StremThru Sidekick wouldn't be able to detect or manage the individual addons inside your AIOStreams bundle, but with AIOStreams' own UI, you have that fine-grained control.
- Remember, the marketplace is just there for convenience. You can still add any addon you want using the 'Custom' addon at the top of the marketplace and use an addons manifest URL to add it to AIOStreams.
📚 Supercharged Catalog Management:
- Total Catalog Control: Reorder your catalogs exactly how you want them, regardless of which addon they originate from! Mix and match to your heart's content.
- Granular Management: Enable/disable specific catalogs, apply shuffling to individual catalogs - and control how long a shuffle lasts, rename catalogs for a personalized touch, and you can even disable certain catalogs from appearing on your Stremio home page, having them only show up in the Discover section for a cleaner look!
- Universal RPDB Posters: Ever wanted those sleek posters with ratings on any catalog? Now you can! Apply RPDB posters (with ratings) to any addon that uses a supported ID type (like IMDB or TMDB ID), even if the original addon doesn't support RPDB itself. Yes, this means you could add RPDB posters to Cinemeta if you wanted!
- Why not just use other tools like StremThru Sidekick or the Addon Manager for catalogs?
- Broader Compatibility: Both StremThru Sidekick and Addon Manager are primarily limited to managing addons for Stremio itself. AIOStreams’ catalog features can be utilized by any application that supports Stremio addons, not just Stremio.
- True Internal Reordering: Neither of those tools supports reordering catalogs within an addon itself. Since AIOStreams presents all its combined catalogs as coming from one addon, those tools wouldn't be able to reorder the catalogs inside your AIOStreams setup. AIOStreams gives you that crucial internal control.
- Safety: AIOStreams does not make use of the Stremio API for its core functionality. This means it operates independently and cannot break your Stremio account or interfere with its settings.
🌐 Expanded Addon Ecosystem:
- The built-in marketplace comes packed with many more addons than before.
- Some notable new stream addons include: StremThru Torz, Nuvio Streams, Debridio Watchtower, StreamFusion, and even built-in support for wrapping AIOStreams within AIOStreams (AIOception!).
💎 Revolutionary Grouping Feature:
- This is a big one! I've implemented a new grouping feature that allows you to group your addons and apply highly customizable conditions.
- Streams from addons in Group 1 are always fetched. Then, you can set conditions for subsequent groups. For example, for Group 2, you could set a condition like
count(previousStreams) < 5. This means addons in Group 2 will only be queried if the total number of streams found by Group 1 is less than 5. This means you can tell AIOStreams, for instance, to only tap into your backup/slower addon group if your main, preferred addons don't find enough streams first – super efficient! - This allows for incredibly optimized and tailored stream fetching. (For more advanced setups and details, I highly recommend checking out the Wiki).
🔎 Next-Level Filtering System:
- The filtering system has been completely revamped. Previously, you could mainly exclude or prefer. Now, for every filter criteria, you can set four different filter types:
- Include: If matched, this item won't be excluded by other exclude/required filters for any other exclude/required filter.
- Required: Exclude the stream if this criteria is not detected.
- Exclude: Exclude the stream if this criteria is detected.
- Preferred: This is used for ranking when you use that filter as a sort criteria.
- New Filters Added:
- Conditions Filter: This incredibly flexible filter uses the same powerful condition parser as the "Groups" feature. You can now enter multiple filter conditions, and any stream that matches any of the conditions you define will be filtered out. This allows for an almost infinite number of ways to combine and exclude streams with surgical precision! For example, a condition like
addon(type(streams, 'debrid'), 'TorBox')would exclude all Debrid-type streams only from the "TorBox" addon, leaving its Usenet streams untouched. - Matching: This powerful filter helps ensure you get the right content. It includes:
- Title Matching: Filter out results that don't match the requested title. You can choose between an "exact match" mode or a "contains" mode for flexibility. You can optionally also match the year too.
- Season/Episode Matching: Specifically for series, this mode filters out results with incorrect season or episode numbers, ensuring accuracy. This can be granularly applied to only specific addons or request types.
- Audio Channels: This was previously part of the Audio Tag filter but is now its own dedicated filter for more precise control (e.g., filter for 5.1, 7.1).
- Seeders: Define include/required/exclude ranges for seeders. Finally, you can set a minimum seeder count and automatically exclude results below that threshold!
- Conditions Filter: This incredibly flexible filter uses the same powerful condition parser as the "Groups" feature. You can now enter multiple filter conditions, and any stream that matches any of the conditions you define will be filtered out. This allows for an almost infinite number of ways to combine and exclude streams with surgical precision! For example, a condition like
- Adjusted & Enhanced Filters:
- Cache: Get fine-grained control over cached/uncached content. You can now exclude uncached/cached content from specific Debrid services or addons, and even for specific stream types. For example, you could filter out all uncached torrents but still allow uncached Usenet results.
- Clean Results (now "Deduplicator"): This is now far more customizable! You can modify what attributes are used to identify duplicates (e.g., infohash, filename) and how duplicates are removed for each stream type. For instance, for cached results, you might want one result from each of your Debrid services, while for uncached results, you might only want the single best result from your highest priority service.
- Size: You can now set individual file size ranges for each resolution (e.g., 1-2GB for 720p, 3-5GB for 1080p, etc.).
📺 Smarter Sorting & Display:
- Define different sorting priorities for cached vs. uncached media, and also different sorting for movies vs. series.
- New "Light GDrive" Formatter: For those who prefer a cleaner look but still need key information from the filename, this formatter only shows the title, year, and season/episode info (e.g., "Movie Title (2023) S01E01"), making sure you don't potentially choose an incorrect result while still keeping the text to a minimal level.
- And of course, you can always join our Discord server to discover custom display formats shared by the community and easily use them with AIOStreams' custom formatter feature!
✨ Quality of Life Enhancements:
- Import/Export Configurations: You can now easily export your entire AIOStreams configuration into a file. This file can then be imported into any AIOStreams instance at any time – perfect for backups or migrating to a new setup.
- Shareable Templates: There's an "Exclude Credentials" option when exporting, making it easy to share template configurations with others!
⚠️ Important Warning: While the "Exclude Credentials" feature removes sensitive information you enter directly into AIOStreams (like API keys), it does not modify or exclude URLs you provide for "Custom" addons or when you override an addon's default URL. These URLs can potentially contain sensitive tokens or identifiers, so please review them carefully before sharing a configuration file.
- External Downloads: For added convenience, AIOStreams v2 now adds an "External Download" link below each stream result. Clicking this will open the direct download link for that stream in your browser, making it easy to grab a copy of the content if needed.
- Hide Errors: Optionally hide error messages, and you can even specify this for particular resources (e.g., hide errors only for stream fetching, but show them for catalog fetching).
- Precache Next Episode: When you're watching a series, AIOStreams can automatically request results for the next episode in the background. If it finds that all available results are uncached, it can ping the first uncached result for your preferred Debrid service to start downloading it. The goal? By the time you finish your current episode, the next one might already be cached and ready to stream instantly!
A Note on Options: AIOStreams v2 offers a vast array of configuration options, especially within the filtering system. While this provides incredible power and flexibility for advanced users, please remember that most users won't need to dive deep into every setting. The default configurations are designed to be sensible and provide a great experience out-of-the-box! For a detailed explanation of every option and how to fine-tune your setup, the AIOStreams v2 Configuration Guide has been fully updated and is your best resource.
- Database-Driven: AIOStreams is now database-based! This means your configurations are stored securely. When you create a configuration, it's assigned a unique UUID that you'll use to access it in Stremio.
- Password Protected: You'll protect your configurations with a password. Without it, no one else can access your configuration.
- Seamless Updates (Mostly!): A huge benefit of being database-driven is that for most setting changes, there’s no longer a need to reinstall the addon in Stremio! Just update your configuration, and the changes apply automatically.
- Note: The only exception is if you make changes to your catalogs that affect their order or which addons provide them (e.g., reordering addons in the list, adding/removing catalog-providing addons). In this specific case, a reinstall of the AIOStreams addon in Stremio is needed for Stremio to pick up the new catalog structure.
- Migration Requires Reconfiguration: Due to the extensive changes and the new database system, existing AIOStreams users will need to reconfigure their setups for v2. Think of it as a fresh start with a much more powerful system! The v1 to v2 Migration Guide on the Wiki can help. For a deep dive into all the new settings, refer to the comprehensive AIOStreams v2 Configuration Guide. If you use custom formatters, you should also check the migration guide for minor syntax adjustments.
- Torrentio support (on public instance)? Torrentio, the most popular addon, was disabled for most of v1's history due to the way it works (multiple requests appear to come from one IP, which is problematic for public instances). Torrentio remains disabled on the public instance, and this will not change. Self-hosted instances will have Torrentio enabled by default. The developer of Torrentio has personally stated that he does not want ElfHosted's public instances scraping Torrentio.
- Cloudflare Worker Support Dropped: Maintaining compatibility with Cloudflare Workers alongside the new database requirements and feature set became infeasible. It was essentially like writing and maintaining two different versions of the addon. As such, direct Cloudflare Worker support has been dropped.
- Free Hosting Challenges: AIOStreams v2 now requires a database for storing configurations. Many free hosting services do not provide persistent database storage (or have very limited free tiers), which can lead to your configurations being wiped when the instance restarts.
- For example, Hugging Face Spaces requires a paid tier for persistent storage.
- Koyeb's free tier does not offer persistent file storage for the SQLite database, however, Koyeb does provide a free PostgreSQL database instance which AIOStreams v2 can use, offering a viable free hosting path if configured correctly. I recommend looking for hosting solutions that offer persistent storage or a compatible free database tier if you plan to self-host on a free platform.
For those of you who like to have full control over your setup, AIOStreams v2 is, of course, still self-hostable!
If you're migrating your instance from v1 to v2, read the Migration page on the Wiki to ensure nothing unexpected happens.
A few months back, I started out knowing very little about self-hosting (I was using Hugging Face to host my personal AIOStreams instance back then) and I've since decided to dive into self-hosting.
As a result, I've put together a set of comprehensive self-hosting guides that I'm excited to share with the community. My goal with these guides is to take you from scratch to hosting all sorts of addons and applications, including AIOStreams, without spending a dime or needing any hardware other than a laptop/computer. (Some of you may even be able to set this all up just using your phone/tablet)
The guides cover:
- Securing a free Oracle Cloud VPS (yes, free!).
- Installing Docker and getting comfortable with its basics.
- Utilizing my highly flexible and detailed template compose project. This Docker Compose setup is designed to be a launchpad for your self-hosting adventures and includes configurations for countless apps, with AIOStreams v2 ready to go!
If you've ever been curious about self-hosting but didn't know where to start, I believe these guides can help you get up and running with a powerful, remote, and secure setup.
AIOStreams v2 wouldn't be where it is today without the feedback, bug reports, and ideas from our community. A Massive THANK YOU to everyone on Discord who took part in testing, shared suggestions, and patiently helped polish every feature. Your involvement genuinely shaped this release!
To celebrate the launch, I'm running a 1-year Real-Debrid giveaway (with 2 winners) exclusively in the Discord server! Just join the server for your chance to win.
Outside of the giveaway, you can also join our server for:
- Questions about and support for AIOStreams
- Receive help with self hosting
- Discover setups shared by the community like formats, regexes, group filters, condition filters etc. (and possibly even share your own!)
- Staying updated on the latest AIOStreams developments
Join our server using the link below:
AIOStreams is a passion project that I develop solo in my free time. Countless hours have gone into this v2 rewrite, and I'm committed to making it the best it can be.
If you find AIOStreams useful and want to support its continued development, please consider donating. Any amount is hugely appreciated and helps me dedicate more time to new features, bug fixes, and support.
I'm incredibly excited for you all to try out AIOStreams v2! I believe it's a massive step forward. Please give it a go, explore the new features, and share your feedback.
Here’s how you can jump in:
1. Try the Public Instance (Easiest Way!)
- ElfHosted (Official Public Instance): Generously hosted and maintained.
2. Self-Host AIOStreams v2
- For New Self-Hosters: If you know what you're doing - follow the Deployment Wiki. Otherwise, check out my comprehensive Self-Hosting Guides to get started from scratch.
- Migrating from v1? If you're currently self-hosting v1, ensure your setup supports persistent storage and then follow the v1 to v2 Migration Guide.
3. Managed Private Instance via ElfHosted (Support AIOStreams Development!)
- Want AIOStreams without the self-hosting hassle? ElfHosted offers private, managed instances.
- ✨ Support My Work: If you sign up using my referral link, 33% of your subscription fee directly supports AIOStreams development!
- Get your ElfHosted AIOStreams Instance: https://store.elfhosted.com/product/aiostreams/elf/viren070
This release marks a new chapter for AIOStreams, and I can't wait to see how you all use it to enhance your Stremio experience.
Cheers,
Viren.
See the commit breakdown below:
- add 'onlyOnDiscover' catalog modifier (4024c01)
- add alert and socials options to schema, implement SocialIcon component, and update TemplateOption to render new option types (a0a3c82)
- add alert option to DebridioTmdbPreset and TmdbCollectionsPreset for language selector clarification (093f90a)
- add aliased configuration support (5df60d7)
- add anime catalogs (5968685)
- add anime specific sorting and add help box to sort menu (77ee7b4)
- add api key field and handle encrypted values correctly. (6a5759d)
- add asthetic startup logs (fdbd282)
- add audio channel filter and fix unknown filtering not working in some cases (df546d3)
- add built-in torrentio format (6fa1b2b)
- add configurable URL modifications for Stremthru Store and Torz (3ce9dd0)
- add delete icon to preferred list, only load valid values, fix password requirement check for new logins, fix spellings and add types (d845c0c)
- add doctor who universe (048c612)
- add donation modal button at top of about menu (0170267)
- add external download streams option (952a050), closes #191
- add folder size, add smart detect deduplicator, parse folder size for mediafusion, improve size parsing (52fb3bb)
- add health check to dockerfile (8c68051)
- add infohash extractor in base stream parser (4b1f45d)
- add keepOpenOnSelect prop to Combobox for customizable popover behavior and set it to true by default (f32a1a1)
- add link to wiki in groups and link to predefined formatter definitions (7f4405e)
- add more addons and fix stuff (51f6bd6)
- add nuviostreams and anime kitsu (34ed384)
- add opensubtitles v3 (b4f6927)
- add P2P option and enhance service handling in StremthruTorzPreset (6390995)
- add predefined format definitions for torbox, gdrive, and light gdrive (e3294eb)
- add public ip option and load forced/default value to proxy menu (3c2c59e)
- add regex functions to condition parser (731c1d0)
- add season/episode matching (4cd6522)
- add seeders filters (653b306)
- add sensible built-in limits and configurable limits, remove unused variables from Env (37259d9)
- add shuffle persistence setting and improve shuffling (e6286bc)
- add size filters, allowing resolution specific limit (fcec2b9)
- add social options to various presets (ea02be9)
- add source addon name to catalog and improve ui/ux (878cd7c)
- add stream passthrough option, orion, jackettio, dmm cast, marvel, peerflix, (0383671)
- add stream type exclusions for cached and uncached results (18e034f)
- add StreamFusion (8b34be3)
- add streaming catalogs (4ce36f1)
- add strict title matching (c4991c6)
- add support for converting ISO 639_2 to languages and prevent languages being detected as indexer in Easynews++ (938323f)
- add support for includes modifier for array (90432ae)
- add webstreamr, improve parsing of nuviostream results, validate tmdb access token, always check for languages (dc50c6c)
- adjust addons menu (6d0a088)
- adjust default user data (dea5950)
- adjust handling of meta requests by trying multiple supported addons until one succeeds (9fab116)
- adjustments and proxy menu (0c5479c)
- allow editing catalog type (d99a29f)
- allow passing flags through (bec91a8)
- cache RPDB API Key validation (63622e0)
- changes (e8c61a9)
- changes (13a20a7)
- clean up env vars and add rate limit to catalog api (20fc37c)
- conditions: add support for multiple groupings, and add type constant (2a525b2)
- enhance language detection in MediaFusionStreamParser to parse languages from stream descriptions (50db0e2)
- enhance stream parsing to prefer folder titles when available (4001fae)
- enhance strict title matching with configuration options for request types and addons (3378851)
- enhance title matching by adding year matching option and updating metadata handling (62752ef)
- expand cache system and add rate limiting to all routes, attempt to block recursive requests (c9356db)
- filter out invalid items in wrapper repsponses, rather than failing whole request. add message parsing for torbox (da7dc3a)
- fix condition parsing for unknown values and separate cached into cached and uncached function for simplicity (3d26421)
- frontend: add customization options for addon name and logo in AboutMenu (47cc8f6)
- frontend: add descriptions to addons and catalog cards (98c5b71)
- frontend: add shuffle indicator to catalog item (edd1e4f)
- frontend: add tooltip for full service name in service tags for addon card (5b8ec4d)
- frontend: add valid formatter snippets and add valid descriptions for proxy services (12b3f42)
- frontend: enhance nightly version display with clickable commit link (84d53cb)
- frontend: hide menu control button text on smaller screens (2361e5c)
- frontend: improve addons menu, preserve existing catalog settings (2c5c642)
- frontend: improve services page (384bdc3)
- frontend: make catalog card title consistent with other cards (5197331)
- frontend: services page, parse markdown, toast when duplicate addon (3bc2538)
- frontend: update addon item layout for improved readability (589e639)
- frontend: use NumberInput component (77edb07)
- frontend: use queue and default regex matched to undefined (2c97ec0)
- identify casted streams from DMM cast as library streams and include full message (6fd5f5b)
- implement advanced stream filtering with excluded conditions (302b4cb), closes #57
- implement cache statistics logging and configurable interval (8594ca0)
- implement config validation and addon error handling (f7b14cd)
- implement detailed statistics tracking and reporting for stream deduplication process (89eac41)
- implement disjoint set union (DSU) for stream deduplication, ensuring multiple detection methods are handled correctly (b0cc718)
- implement import functionality via modal for JSON files and URLs in TextInputs component (32b5a5b)
- implement MAX_ADDONS and fix error returning (ae74926)
- implement pre-caching of the next episode (980682c)
- implement timeout constraints in preset options using MAX_TIMEOUT and MIN_TIMEOUT (e415a70)
- implement user pruning functionality with configurable intervals and maximum inactivity days (0bf6fcb)
- improve config handling, define all skip reasons, add env vars to disable addons/hosts/services, (a301002)
- improve formatting of zod errors when using unions (9c2a970)
- improve French language regex to include common indicators (163352a)
- improve handling of unsupport meta id and type (3779ea0)
- improve preset/parser system and add mediafusion, comet, stremthru torz, torbox, debridio, en, en+, en+ (b70a763)
- include preset id in formatter (6053855)
- make
BASE_URLrequired and disable self scraping by default (d572c04) - make caching more configurable and add to sample .env (1e65fd9)
- match years for series too, but don't filter out episode results without a year (8394f09)
- move 'custom' preset to the beginning (0b85ff3)
- parser: add support for additional video quality resolutions (144p, 180p, 240p, 360p, 576p) in regex parser (59d86ff)
- prefer results with higher seeders when deduping (aed775c)
- proxy fixes and log adjustments (091394b)
- remove duplicated info from download streams (4901745)
- remove useMultipleInstances and debridDownloader options for simplicity and force multiple instances. (8c0622e)
- rename API Key to Addon Password and update related help text in save-install component (b63813c)
- rename cache to cached in condition parser (db68a5c)
- replace custom HTML div with SettingsCard component for consistent styling (8611523)
- revert 89eac415a422189d80a3c3c66cde26762bd7f437 (34b57c9)
- service cred env vars, better validation, handling of encrypted values (61e21cd)
- start (3517218)
- stuff (0c9c86c)
- switch to different arrow icons and use built-in hideTextOnSmallScreen prop (8d307a0)
- ui improvements (7e031e5)
- ui improvements, check for anime type using kitsu id, loosen schema definitions (9668a15)
- ui improvments (39b1e84)
- update About component with new guide URLs and enhance Getting Started section (5232e38)
- update static file serving rate limiting and refactor file path handling (010b63c)
- update TMDB access token input to password type with placeholder (2378869)
- use
API_KEYas fallback forADDON_PASSWORDto maintain backwards compatability (5424490) - use button for log in/out (62911ad)
- use shorter function names in condition parser (3bd2751)
- use sliders for seeder ranges and fix some options not being multi-option (915187a)
- validate regexes on config validation (dd0f45c)
- (mediafusion) increase max streams per resolution limit to 500 (322b4f3)
- adapt queries for PostgreSQL and SQLite (e2834d5)
- adapt query for SQLite dialect in DB class (a7bb898)
- add back library marker to LightGDriveFormatter (871f54e)
- add back logo.png to v1 path for backwards compatability (ce5a5b9)
- add back y flag (0e0a18b)
- add block scope for array modifier handling in BaseFormatter (02a2885)
- add description for stremthru torz (6e7c142)
- add extras to cache key for catalog shuffling (1cdfc6e)
- add France option to DebridioTvPreset language selection (bd19d01)
- add missing audio tags to constant (fda5ffe)
- add missing braces in parseConnectionURI function for sqlite and postgres cases (807b681)
- add timeout to fetch requests in TMDBMetadata class to prevent hanging requests (1a0d57a)
- add validation for encrypted data format in decryptString function (843b535)
- add verbose logging for resources and fix addon catalog support (4daa644)
- adjust cache stat logging behaviour (d921070)
- adjust default rate limit values (aa98e7b)
- adjust grid layout in AddonFilterPopover (632fbf9)
- adjust grouping in season presence check logic (d89e796)
- adjust option name to keep backwards compatability with older configs (eb651b5)
- adjust spacing in predefined formatters and add p2p marker to torbox format (d8f5d1a)
- allow empty strings for formatter definitions (dba54f5)
- allow null for released in MetaVideoSchema (ca8d744)
- allow null value for description in MetaPreview (0f16575)
- allow null value in MetaVideoSchema (73b4d0b)
- always apply seeder ranges, defaulting seeders to 0 (0f5dd76)
- apply negativity to all addon and encode sorting (411ae7c)
- assign unique IDs to each stream to allow consistent comparison (673ecb2)
- await precomputation of sort regexes (56994ef)
- call await on all compileRegex calls (8e87004)
- carry out regex check for new users too (1555199)
- change image class from object-cover to object-contain in AddonCard component (734bd88)
- check if title matching is enabled before attempting to fetch titles (fd03112)
- coerce runtime to string type in MetaSchema for improved validation (cc6eea7)
- coerce year field to string type in ParsedFileSchema for consistent data handling (10bef68)
- comet: don't make service required for comet (826edae)
- constants: add back Dual Audio, Dubbed, and Multi (7c10930)
- core: actually apply exclude uncached/cached filters (413a29d)
- correct handling of year matching and improved normalisation (bd53adc)
- correct library marker usage in LightGDriveFormatter (2470ae9)
- correct spelling of 'committed' in UserRepository class (551335b)
- correctly handle negate flag (a65ef19)
- correctly handle overriden URLs for mediafusion (46e7e67)
- correctly handle required filters and remove HDR+DV as a tag after filtering/sorting (113c150)
- correctly handle undefined parsed file (8b85a53)
- correctly handle usenet results during deduping (153366b)
- correctly import/export FeatureControl (654b1bc)
- custom: replace 'stremio://' with 'https://' in manifest URL (0a4a761)
- custom: update manifest URL option to use 'manifestUrl' (6370ac7)
- decode data before attempting validation (bdf9a91)
- decrypt values for catalog fetching (6cf8436)
- default seeders to 0 for included seeder range (b0aea2d)
- default seeders to 0 in condition parser too (53123a3)
- default value to mediaflow if neither forced or proxy is defined and remove fallback from select value (61781b7)
- default version to 0.0.0 when not defined (f031f1a)
- don't fail on invalid external api keys when skip errors is true (c2db243)
- don't make base_url required (3d7b0da)
- don't make name required in MetaPreview schema (062247a)
- don't pass idPrefixes in manifest response (35ceb87)
- don't validate user data on retrieval within UserRepository (17873bb)
- enable passthrough on all stremio response schemas (377d215)
- encrypt forced proxy URL and credentials before assignment (e741de3)
- enhance Japanese language regex to include 'jpn' as an abbreviation (7a02f12)
- ensure debridDownloader defaults to an empty string when no serviceIds are present in StreamFusionPreset (886a8cb)
- ensure early return on error handling in catalog route (6cc20e1)
- ensure tmdb access token, rpdb api key, and password options are filtered out when exclude credentials is on (299a6d5)
- ensure transaction rollback only occurs if not committed in deleteUser method (67b188e)
- ensure uniqueness of preset instanceIds and disallow dots in instanceId (3a9be38)
- export formatZodError (af90131)
- fallback to undefined when both default and forced value are undefined for proxy id (efb57bf)
- formatters: add message to light gdrive and remove unecessary spacing (5cb1b0a)
- frontend: encode password when loading config (e8971df)
- frontend: load existing overriden type in newType (caeb282)
- frontend: pass seeder info through to formatter (2ec06a6)
- frontend: set default presetInstanceId to 'custom' to pass length check (ec7a19a)
- frontend: try and make dnd better on touchscreen devices (6aa1130)
- frontend: update filter options to use textValue to correctly show addon name when selected (6a87480)
- give more descriptive errors when no service is provded (c0b6fd3)
- handle when drag ends outside drag context (7a8655d)
- handle when item doesn't exist in preferred list (d728bb6)
- ignore language flags in Torrentio streams if Multi Subs is present (6d08d7c)
- ignore recursion checks for certain requests (d266026)
- improve error handling in TMDBMetadata by including response status and status text (2f37187)
- improve filename sanitization in StreamParser by using Emoji_Presentation to keep numbers and removing identifiers (714fedb)
- include overrideType in catalog modification check (db473f3)
- increase recursion threshold limit and window for improved request handling (cc2acde)
- log errors in more cases, correctly handle partial proxy configuration, correctly handle undefined value in tryDecrypt, only decrypt when defined (56734f0)
- make adjustments to how internal addon IDs are determined and fix some things (a6515de)
- make behaviorHints optional in manifest schema (313c6bc)
- make keyword pattern case insensitive (795adb3)
- make object validation less strict for parsed streams (e39e690)
- mediaflow: add api_password query param when getting public IP (00e305f)
- mediaflow: include api_password in public IP endpoint URL only (279ff00)
- mediafusion: correctly return encoded user data, and fix parsing (c6a6350)
- only add addons that support the type only when idPrefixes is undefined (d7355cb)
- only allow p2p on its own addon in StremThruTorzPreset (510c086)
- only carry out missing title check after checking addons and request types (eff8d50)
- only exclude a file with excludedLanguages if all its languages are excluded (2dfb718)
- only filter out resources using specified resources when length greater than 0 (cd78ead)
- only use the movie/series specific cached/uncached sort criteria if defined (049f65b)
- override stream parser for torz to remove indexer (f0a448b)
- parser: match against stream.description and apply fallback logic to stream.title (a1d2fc9)
- parser: safely access parsedFile properties to handle potential undefined values (e995f97)
- pass user provided TMDB access token to TMDBMetadata (d2f4dc1)
- potentially fix regex sorting (9771c7b)
- potentially fix sorting (887d285)
- prefix addon instance ID to ensure uniquenes of stream id (009d7d1)
- prevent fetching from aiostreams instance of the same user (963a3f7)
- prevent mutating options object in OrionPreset (f8b08b3)
- prevent pushing errors for general type support to avoid blocking requests to other addons (b390534)
- reduce timeout duration for resetting values in AddonModal to ensure new modals properly keep their initial values (9213d78)
- refine year matching logic in title filtering for movies (21f1d3e)
- remove check of non-existent url option in OpenSubtitlesPreset (dbd5dd6)
- remove debug logging in getServiceCredentialDefault (27932a5)
- remove emojis from filename (b8bbb17)
- remove log pollution (5b72292)
- remove max connections limit from PostgreSQL pool configuration (bff13dc)
- remove unecessary formatBytes function and display actual max size (5c9406f)
- remove unnecessary UUID assignment in UserRepository class (c8224bc)
- remove unused regex environment variables from status route (2fd0522)
- remove unused regex fields from StatusResponseSchema (dfef789)
- replace crypto random UUID generation with a simple counter for unique ID assignment in StreamParser (11b2204)
- replace hardcoded SUPPORTED_RESOURCES with supportedResources in NuvioStreamsPreset (4eeeb59)
- replace incorrect hardcoded SUPPORTED_RESOURCES with supportedResources in DebridioPreset (ed73f5d)
- restore TMDBMetadata import in main.ts and enable metadata export in index.ts (2cd7d4d)
- return original URL when no modifications are made in CometStreamParser (cbfb4b7)
- return url when no modifications are needed in JackettioStreamParser (4791f36)
- rpdbCatalogs: correct spelling of 'movies' to 'movie' (9e1960a)
- rpdb: improve id parsing logic and include type for tmdb (18621ca)
- safely access catalogs options and default to false for streamfusion (9c48fad)
- save preferred values when adjusting from select menu (2b329fe)
- set default sizeK value to 1024 in StreamParser and remove overridden method in TorrentioParser (a09dcea)
- set public IP to undefined when empty (32f90fb)
- simplify and improve validation checks (dde5af0)
- simplify duration formatting in getTimeTakenSincePoint function (f1afe5f)
- truncate addon name and update modal value states to handle changes in props (14f56d1)
- update addon name formatting in AIOStreamsStreamParser to prefix aiostreams addon name (eefa184)
- update AIOStream schema export and enhance AIOStreamsStreamParser with validation (edc310f)
- update Bengali regex to not match ben the men (90980c7)
- update cached sorting to prefer all streams that are not explicitly marked as uncached (b16f36d)
- update default apply mode for cached and uncached filters from 'and' to 'or' (3fe5027)
- update default value for ADDON_PASSWORD and SECRET_KEY (65a4c91)
- update Dockerfile to use default port fallback for healthcheck and expose (0ffca95)
- update duration state to use milliseconds and adjust input handling (3d43673)
- update error handling in OrionStreamParser to throw an error instead of returning an error stream for partial success (bb30b4a)
- update error message for missing addons to suggest reinstallation (78a0d7f)
- update formatter preview (f3d84bc)
- update GDriveFormatter to use 'inLibrary' instead of 'personal' (f6ef47f)
- update handling of default/forced values (c60ef6f)
- update help text to include selected proxy name rather than mediaflow only (af24d67)
- update MediaFlowProxy to conditionally include api_password in proxy URL for /proxy/ip endpoint (d0faecc)
- update MediaFusion logo URL (3648f94)
- update NameableRegex schema to allow empty name and remove useless regex check (96d355f)
- update Peerflix logo URL (ab1c216)
- update seeder condition in TorrentioFormatter to allow zero seeders (c890671)
- update service links (fea2675)
- update size filter constraints to allow zero values (4a8e9c3)
- update social link from Buy Me a Coffee to Ko-fi in DcUniversePreset (671567c)
- update table schema (f3b4088)
- update user data merging logic in configuration import (5ebb539)
- update user data reset logic (9bd9810)
- use correct input change handlers (6f3013c)
- use nullish coalescing for seeder info in formatter to allow values of 0 (3e5d581)
- use structuredClone for config decryption to ensure immutability (a67603d)
- wrap handling for join case in block (85a7775)
- wrap switch cases in blocks (16b208b)
- wrapper: allow empty arrays as valid input in wrapper class (c64a4f4)
- wrapper: enhance error logging for manifest and resource parsing by using formatZodError (ffc974e)