1.17.151 parses explicit anime release grammar such as Aud [JP], Sub [ES] and multi-language variants before generic title tokenization, normalizing role-specific audio/subtitle codes into the ranking profile. Releases that previously became UND now keep Japanese audio / Spanish subtitle priority for TorBox and other debrid routes. When an Easynews HTTP row is uniquely correlated to a real discovered BTIH and Easynews exposes no explicit track languages of its own, it inherits the torrent language profile without overriding stronger Easynews metadata. Diagnostics add languageProfileInherited and the final stream cache moves to v153.

What’s new
Recent AnimeSub+ releases and the changes that affect users.
1.17.150 fixes provider parity at the final visibility stage and safely correlates Easynews HTTP posts with already-discovered torrents. Easynews post hashes and 8-character filename CRCs are never treated as BitTorrent infoHashes; a direct post is linked to TorBox/other debrid routes only when an authoritative discovered 40-hex BTIH uniquely matches by BTIH, bracketed CRC32, or exact normalized release name. Once a real torrent release is selected, eligible provider siblings for that same BTIH are preserved after maxStreams/native-NZB selection, replacing lower-ranked unrelated rows when possible and allowing a tiny overflow only when no safe replacement exists. Diagnostics expose easynewsHttpTorrentLinks and providerParity. Final stream cache v152.
1.17.149 fixes source output quotas so they count unique releases/infoHashes instead of provider renderings. After the user ranking and provider-aware dedupe, the first accepted representation of a release consumes one slot for each quota-limited source that found it; TorBox, Real-Debrid, AllDebrid, Premiumize, P2P and other playback routes for that same release no longer spend additional source slots. Provider limits remain independent and still count visible rows per provider. Multi-source merged releases must have capacity in every newly-counted attributed source, preserving truthful source maxima. Output diagnostics now report sourceQuotaUnit=unique-release. Final stream cache v151.
1.17.148 restores provider parity for identical infoHashes. Provider availability probes remain bounded for performance, but a hash is no longer removed from TorBox, Real-Debrid, AllDebrid, Premiumize, Debrid-Link, Debrider, EasyDebrid, Offcloud, PikPak or Torrin merely because it fell outside that provider foreground probe window. Unprobed hashes remain selectable as unknown availability when uncached streams are allowed, while final deduplication remains provider/file-aware so Easynews NZB, P2P and every configured debrid can coexist for the same hash. hideUncached hides only provider rows authoritatively confirmed uncached; unprobed/deferred rows remain unknown and selectable. Real-Debrid local terminal checks now cover all visible eligible hashes. Stream cache v150.
1.17.147 fixes ACG.RIP episode discovery when its small query budget was spent on catalog SxxExxx syntax instead of the release-native absolute numbering used by the tracker. ACG.RIP now prioritizes season-identity local or `Title - absolute` searches before the broad title fallback, so One Piece 1180 is queried as `One Piece - 1180`. Single-file torrents may also bind a generic internal filename when the ACG.RIP search-row title already proved both media identity and exact episode; multi-file packs still require an exact file match/fileIndex. ACG.RIP route/search cache namespaces are invalidated. Index schema 55, discovery v68 and streams v149.
1.17.146 aligns AniBT throttling with the current documented endpoint quotas. Cold title-to-bgmId lookups on /api/seasons/anime are globally paced to one request every 3 seconds by default, leaving headroom below the shared 30/minute seasonal pool. Metadata and RSS now have separate cooldowns; HTTP 429 honors Retry-After exactly, while missing Retry-After uses a short bounded fallback instead of a forced 30-minute lockout. A metadata throttle can fall back to the separately-limited public magnet RSS, and a successful fallback keeps AniBT operational. Legacy RSS cooldown cache is invalidated. Index schema 54, discovery v67 and streams v148.
1.17.145 tunes Knaben from production timing evidence: when a proxy is configured it remains the only egress path, Knaben requests force HTTP/1.1, response size is hard-capped to 15 rows even with legacy 25-row configuration, the maximum response window is capped at 25, and transport timeout cooldown has a 90-second floor. This avoids the slower direct route (observed HTTP 503) and reduces pressure on Knaben during its documented high API load. Index schema 53, discovery v66 and streams v147.
1.17.144 makes torrent-source health severity reflect user impact instead of every internal exception. One failure after a recent healthy result is shown as an operational transient failure and only consecutive failures escalate to degraded. Tokyo Toshokan detail-page enrichment is now optional telemetry: RSS hashes remain operational when details.php times out, with the detail failure preserved as a warning. Knaben timeout text is shortened to transport, timeout and received-byte evidence. Index schema 52, discovery v65 and streams v146.
1.17.143 gives ACG.RIP a last-resort native-RSS route for networks that cannot reach its origin from either VPS egress or local SOCKS/WARP. Direct HTML and the configured source proxy are still attempted first; only after transport failure AnimeSub+ queries ACG.RIP native .xml feed through the configurable rss.sakisakura.moe reverse proxy, which also carries the selected .torrent download. Successful fallback is treated as an operational transport and is cached to minimize third-party traffic. Index schema 51, discovery v64 and streams v145.
1.17.142 restores TsukiHime NZB reliability after optional source proxies were introduced: API calls and NZB descriptor downloads now share the source proxy policy, automatically fall back to the pre-1.17.140 direct route on proxy transport failure, and use the configurable official storage.tsukihime.org endpoint. ACG.RIP now treats its proxy as optional too: cURL 97 can retry local-DNS SOCKS and then direct egress, while parsed links are canonicalized to the selected host. Index schema 50, discovery v63 and streams v144.
1.17.141 hardens three unstable public sources. Knaben sends smaller exact-match requests, narrows verified anime queries to Anime categories, avoids remote seed sorting, uses identity encoding/connection close and stops after enough hashes. ACG.RIP canonicalizes to www and retries cURL 97 SOCKS5-hostname failures through the same proxy with local DNS, never leaking to direct egress. Tokyo Toshokan enriches only packs/ambiguous rows and retries failed RSS/detail requests on its official tokyo-tosho.net mirror. Index schema 49, discovery v62 and streams v143.
1.17.140 extends isolated optional loopback SOCKS/HTTP egress to every native torrent/discovery source that uses AnimeSub HTTP transport. Each source has its own *_PROXY_URL switch; secondary detail and .torrent fetches reuse the same source proxy, and proxy mode participates in source/discovery/index cache identity. Empty keeps direct egress. Index schema 48, discovery v61 and streams v142.
1.17.139 adds isolated loopback SOCKS/HTTP egress for Knaben, Torlock and ACG.RIP. Knaben lowers response size, raises its effective timeout and records the actual transport/timeout in failures; Torlock can bypass datacenter 403 blocks and serves bounded stale cache on transient failures; ACG.RIP uses the same proxy for search and .torrent downloads with stale search fallback. Index schema 47, discovery v60 and streams v141.
1.17.138 adds ACG.RIP as a native direct anime torrent source. Search HTML is cached and only the strongest candidates resolve their .torrent metadata, yielding the exact infohash, ordered file list and fileIndex for packs. Knaben queries are reduced to a bounded high-seeder result set, legacy 8-second timeouts get a 12-second floor, and transport timeouts open a short shared cooldown instead of replaying aliases. Index schema 46, discovery v59 and streams v140.
1.17.137 removes Erai-Raws NZB · EasyNews as a selectable/runtime source. The normal Erai-raws torrent source remains available. Saved profiles containing eraiRawsNzb drop it automatically during normalization; discovery, stats/runtime scheduling and per-source visibility no longer activate it. Cache namespaces are bumped to index schema 45, discovery v58 and streams v139.
1.17.136 retrieves NZB descriptors from the official Erai-Raws feed or its year/season/show/quality directory. Easynews provides NNTP playback without requiring its search index to find the release. The configured API token and optional website session stay on the server. Official NZB URLs now survive stream filtering; login failures are reported separately from empty results. Index schema 44, discovery v57, streams v138.
1.17.135 makes Easynews itself the primary Erai-Raws NZB index instead of requiring a torrent-side Erai-Raws release first. AnimeSub+ searches Easynews RSS from the resolved media identity, accepts only subjects explicitly tagged Erai-Raws with the correct title/episode/quality, preserves the physical enclosure tuple only for dl-nzb, and uses the official Erai-Raws feed only as optional validation/enrichment. This removes the torrent-hash/title coupling that could leave a known playable Usenet release at 0 links. Index schema 43, discovery v56 and streams v137.
1.17.134 fixes the Erai-Raws NZB zero-link root cause in Easynews RSS matching. Easynews release subject/title and physical enclosure filename are now treated as separate identities: the Usenet subject validates Erai-Raws, media identity, episode and quality, while the exact enclosure filename/hash/extension/sig are preserved only for dl-nzb token generation. Downstream matching keeps the official Erai-Raws title so obfuscated Easynews filenames cannot be rejected later. RSS parsing follows the hash-leaf extension contract, search parameters match the minimal sS=5 contract, rejection-stage diagnostics are exposed, and empty stream/discovery/index caches are invalidated. Index schema 42, discovery v55 and streams v136.
1.17.133 rebuilds Erai-Raws NZB around the Easynews selector format that actually feeds dl-nzb. Easynews RSS sS=5 is now the end-to-end selector source, avoiding ambiguous private JSON field layouts, every official Erai-Raws quality is searched independently, and multiple reposts per resolution can survive. The generated selector keeps its search query so a stale sig can be refreshed automatically at playback before retrying NZB generation. The private budget rises to 8 seconds by default and request diagnostics separate official releases, Easynews rows, matched NZBs and qualities; public Stats counts Easynews rows versus actually validated links. Index schema 41, discovery v54 and streams v135.
1.17.132 fixes Erai-Raws NZB delivery after discovery. Easynews-generated selectors are now strictly user/account-scoped and are merged only into the current stream request, never the shared PersistentIndex or discovery cache. The private supplement runs even when P2P/debrid is enabled, native NZB stream identity includes source + descriptor so sibling NZB sources cannot shadow Erai-Raws, and hollow Easynews NZB XML is rejected. Index schema 40, discovery v53 and streams v134.
1.17.131 rebuilds Erai-Raws NZB around the official Erai-Raws feed instead of AnimeTosho. Current Erai releases are discovered from erai-raws.info, matched privately in the active Easynews account, and converted to a real NZB through Easynews own NZB-generation endpoint; credentials never enter the descriptor URL. All project references to the legacy AnimeTosho .xyz feed hostname move to feed.animetosho.net. Index schema 39, discovery v52 and streams v133.
1.17.130 adds Erai-Raws NZB as an independent EasyNews-only source. It searches AnimeTosho only for [Erai-raws] releases, keeps only trusted NZB descriptors, and sends them through the existing EasyNews NNTP/NNTPS transport. The selector requires an active validated EasyNews account, remains independent from the Erai-raws torrent source, and is excluded from P2P/debrid routing. Index schema 38, discovery v51 and streams v132.
1.17.129 adds declarative cross-numbering stream identities. Bleach remains one 17-season catalog: classic S1-S16 uses tt0434665 and catalog S17 maps to tt14986406 S1-S4 internally. AnimeSub+ accepts the same TYBW episode as IMDb cour numbering, continuous TYBW S01Exx, unified Bleach S17Exx, or franchise absolute 367+, without loosening global matching. Metadata resolver v6, discovery v50, index schema 37 and streams v131.
1.17.128 adds current-season/installment identity. When a catalog folds an anime sequel or cour into a later season, AnimeSub+ maps the requested absolute episode through the AniList SEQUEL chain, searches the current installment aliases first, accepts local/current-installment and absolute numbering, and keeps base-series absolute releases valid. Bleach TYBW is accepted for the corresponding Bleach season while Dragon Ball Z still rejects Kai/Daima. Metadata resolver v5, discovery v49, Easynews direct-search v4 and streams v130.
1.17.127 makes Easynews HTTP use the franchise-aware identity matcher instead of legacy title similarity.
1.17.126 audits source identity evidence as ID_PROVEN, ID_INFERRED or TEXT_ONLY; only proven IDs bypass strict title identity.
1.17.125 introduces hybrid ID-first matching while keeping strict title validation for text-only sources.
1.17.124 tightens text-source title identity so franchise siblings such as Dragon Ball Daima/Kai are not accepted for Dragon Ball Z.
1.17.123 adds passive source-to-provider routing observability. AnimeSub+ now records, without extra requests, which merged torrent candidates from each discovery source actually enter each native debrid availability window and how many receive provider-confirmed ready/cache evidence. /stats exposes a 7-day Source → Provider table beside the already-existing final-link attribution, making it possible to distinguish source discovery, debrid routing, provider readiness and final visible links. Stream behavior, source catalogue and provider selection are unchanged.
1.17.122 completes the end-to-end TsukiHime NZB/EasyNews delivery fix. Native NZB streams are no longer suppressed by a similar EasyNews HTTP result; readiness now requires every selected NZB source instead of any one source; and the final max-stream selection preserves at least one eligible stream per selected native-NZB source when available. Passive Stats now warns when an NZB source finds results but delivers zero links. Index schema 36, discovery v45, streams v128.
1.17.121 gives TsukiHime NZB full EasyNews parity. Multiple NZB descriptors can now coexist for the same infoHash, so AnimeTosho no longer shadows TsukiHime when both index the same release. Each provider creates its own EasyNews/NNTP stream plan and source attribution. EasyNews-only first access can complete TsukiHime NZB through a lightweight list-level lookup without torrent-detail hydration. Index schema 35, discovery v44, streams v127.
1.17.120 removes only AniRena from active sources because its public search is browser-challenged, and replaces it with AnimeGarden through its structured Open API. AnimeGarden contributes magnet/infoHash torrent resources to the normal P2P/debrid pipeline. Existing configurations migrate only the selected AniRena switch to AnimeGarden; every other source remains unchanged. Index schema 34, discovery v43, streams v126.
1.17.119 corrects TsukiHime semantics: the old visible TsukiHime Direct source is now TsukiHime Torrents. It ignores hoster links and HEAD media probes, keeps the real 40-hex BTIH/infoHash, and hydrates torrent details through /torrents/btih/{btih} when available. These rows now enter normal P2P/debrid processing; TsukiHime NZB remains separate. Index schema 33, discovery v42, streams v125.
1.17.118 makes public stats passive and lightweight: /stats and /stats.json never launch provider probes, and a short local report snapshot avoids repeated aggregation.
1.17.117 repairs SubsPlease cross-episode caching, adds AniRena title/local episode fallbacks and rejects unexpected search HTML. Knaben respects its shared IP rate limit and Retry-After without immediate retries. Source health retains recent positive evidence separately from the last query, counts effective cache lookups and skips inapplicable checks. Direct remains restricted to playable videos. Discovery v40, streams v123, index schema 32.
1.17.116 repairs TsukiHime against real API responses: torrent details retain the nested anime relation without losing files or the release ID; NZB URLs are built from has_nzb using the official storage route. Direct validates video Content-Type with HEAD, excludes browser verification pages and works without P2P/debrid. AniList, MAL and AniDB lookups have a documented /search/torrents fallback. Native languages and sizes are preserved, with independent Direct/NZB selection. Index schema 31, discovery v39, streams v122.
1.17.115 replaces the guessed TsukiHime generic /search integration with the current entity API flow: AniList anime lookup, exact episode/movie release lookup, then /torrents/{id} detail hydration. HTTP 404 is treated as a clean catalogue miss, successful release data is cached once and shared by Direct/NZB, and storage.tsukihime.org is trusted for TsukiHime NZB descriptors. AniNZB is retired from Configure, defaults, discovery and source health because the previously assumed public Newznab endpoint returns HTTP 404 and no stable documented replacement API is available; saved AniNZB selections are discarded during normalization. Discovery v38, stream-result v121.
1.17.114 repairs TsukiHime Direct, TsukiHime NZB and AniNZB/EasyNews discovery. AniNZB stops spending its source budget on a mandatory caps preflight, uses one bounded HTTP attempt, searches episode-first instead of broad title-only queries, marks verified episode rows structurally and can reuse a recent successful cache during transient timeouts. TsukiHime learns the working API search contract, accepts additional JSON envelopes, validates episodes from structured fields or release titles and also keeps stale-on-error results. NZB descriptor downloads use one bounded request and /stats preserves both the start and end of long transport errors. Discovery v37, stream-result v120.
1.17.113 fixes the public changelog translation registry. The 1.17.111 and 1.17.112 texts already existed, but their keys were missing from the I18nV11773 allow-list, so the page displayed changelog_v117111/changelog_v117112 literally. Both keys are now registered and a regression test verifies that recent changelog entries resolve to real text instead of untranslated key names.
1.17.112 retires TorBox Search from active torrent discovery because the official search-api.torbox.app service is unavailable and TorBox publishes no equivalent replacement search endpoint. It is removed from Configure, defaults, source statistics and active discovery; existing saved torboxSearch selections are silently discarded. This does not disable the TorBox debrid provider: TorBox can still resolve/cache torrents discovered by Nyaa, AnimeTosho, Knaben, Comet, StremThru Torz and the remaining sources.
1.17.111 hardens TorBox Search outages. DNS failures for the official search-api.torbox.app endpoint are now classified as Public API unavailable instead of Unknown/Error, the diagnostic keeps the full hostname without a truncated transport exception, and an exact credential-scoped query can reuse previous cached TorBox Search results for up to TORBOX_SEARCH_STALE_TTL (24 hours by default) while the upstream is unavailable. Other torrent sources continue normally and TorBox Search retries automatically after the shared cooldown; no unofficial replacement hostname is invented.
1.17.110 fixes false Degraded/Error debrid health. Global provider health no longer treats one user account or credential failure as an upstream outage, while real player direct-resolution success is retained as recovery evidence. AllDebrid no longer uses v4.1 magnet/status as an arbitrary-hash list-time cache probe by default because the documented account-magnet schema does not expose an info-hash and the call consumes the shared API rate limit; unknown hashes remain playable and resolve on open. Timeout, 429, 5xx and maintenance still count as provider-wide failures. The legacy AllDebrid probe can be re-enabled with ALLDEBRID_LIST_AVAILABILITY_PROBE=1.
1.17.109 cleans the environment template after the TorBox Search DNS fix. TORBOX_SEARCH_DNS_PREFLIGHT, TORBOX_SEARCH_DNS_PREFLIGHT_TTL and TORBOX_SEARCH_DNS_COOLDOWN_SECONDS now have one canonical definition only; the contradictory legacy PREFLIGHT=1 block is removed, preventing dotenv load order from accidentally re-enabling the raw DNS preflight. The remaining duplicate Nyaa/AnimeTosho domain declarations are also consolidated. No discovery or playback behavior changes beyond removing ambiguous configuration.
1.17.108 fixes two false/broken source diagnostics. TorBox Search keeps the current official search-api.torbox.app endpoint but no longer rejects it with AnimeSub+'s raw A/AAAA preflight by default; the system HTTP resolver/libcurl is authoritative and only a real cURL DNS failure opens the shared cooldown. AniNZB no longer assumes the historical api.aninzb.moe/api route is a valid public Newznab API: it performs a bounded cached t=caps endpoint discovery, classifies 404/no compatible Newznab endpoint as Public API unavailable instead of a permanent red runtime error, and retries discovery only after a long cooldown. Torrent-source health v3, discovery v34, stream v117.
1.17.107 fixes misleading health for TorBox and provider-dependent torrent sources. TorBox recovers from stale historical circuit telemetry as soon as the live circuit is closed and newer traffic succeeds. TorBox Search is now explicitly user-TorBox-dependent instead of globally Not configured, and it records health only after a real private search. TsukiHime NZB and AniNZB discovery no longer require EasyNews credentials in the shared index; EasyNews is required only for playback. TsukiHime uses consolidated OR exact/absolute-episode queries with progressive fallback, while AniNZB detects Newznab/HTML errors instead of reporting false empty results. Torrent-source health v2, index schema 30, discovery v33, stream v116.
1.17.106 hardens APBay and AniBT for high-user-count instances. The Pirate Bay now uses a 7-day positive search cache like AIOStreams, one precise query by default, shared cross-worker single-flight, a global request-start interval, 14-day stale fallback and one-hour 429 cooldown. AniBT adds shared single-flight, long bgmId caching, ETag/If-None-Match 304 refreshes, paced RSS requests, stale-on-error and a 30-minute rate-limit cooldown; the global magnet RSS fallback is only used when no bgmId can be resolved, never as a second request after an exact-feed 429. Discovery cache v32 and stream cache v115.
1.17.105 repairs AniBT against its current public API and makes The Pirate Bay/APBay rate-limit resilient. AniBT replaces the obsolete /api/bgm/search call with /api/seasons/anime?query=..., uses the canonical /rss/anime.xml feed without explicit limit=100, and falls back to /rss/magnets.xml?q=... exactly like current Jackett integration. APBay now serializes requests, limits query variants, caches successful searches for hours, caches empty searches briefly, keeps a 48h last-good fallback, honors Retry-After on HTTP 429 and opens a global cooldown instead of repeatedly hammering the API. /stats reports rate-limited/degraded sources as warnings rather than permanent failures. Discovery cache v31 and stream cache v114.
1.17.104 fixes TorrentGalaxy source opt-out persistence. TorrentGalaxy remains enabled by default for brand-new configurations, but an explicit saved source list is now authoritative: unchecking TorrentGalaxy in Configure no longer causes Config::normalize() to auto-add it again when every other source is selected. Stream cache v113.
1.17.103 adds TorrentGalaxy.one as a normal native torrent source using direct HTML scraping, with no external API or additional browser runtime. It searches Anime plus TV/Movies categories, supports pagination, extracts title/size/seeders/leechers, resolves the detail-page magnet to infoHash, participates in debrid/P2P discovery and appears in /stats torrent-source health. Stream cache v112.
1.17.102 fixes Easynews seeking. The resolver now validates and forwards the player byte Range to the authenticated Easynews GET, caches the clean CDN Location per Range and returns a no-store 307 with Vary: Range so a later seek cannot reuse the initial bytes=0-0 redirect. This follows the GET+Range compatibility approach introduced by Easynews++ 2.6.2. Easynews redirect cache v8 and stream cache v111.
1.17.101 simplifies /stats and restores operational provider visibility. A new Provider status panel uses anonymous recent real traffic to show Operational, Degraded, Error or Untested state, configured users, links delivered in the last 7 days, cache/P2P contribution, remote p95 latency and last successful observation. Repeated Today/7/30-day blocks are replaced by one activity summary, source usage is reduced to configured/contributing sources, 7-day provider/resolver activity is shown once, and the 30-day daily table is collapsed by default. No VIP-general providers are reintroduced.
1.17.100 removes the complete general-content VIP torrent catalogue and every FlareSolverr/WARP integration. VIP membership remains only as an entitlement reserved for future anime test providers, with zero providers enabled in this release. Historical vip:* selections are discarded, no VIP source can bypass the anime gate, duplicate normal/VIP providers are impossible, the VIP source health table is hidden when empty, and all VIP_DIRECT_*/FLARESOLVERR deployment variables are removed. Stream cache v110.
1.17.99 repairs VIP source completion and APBay egress. Completeness-first now gives FlareSolverr/WARP sources one bounded concurrent browser window instead of killing them at the generic 3-5 second foreground budget; Prowlarr gets its own bounded allowance. The Pirate Bay/APBay can use a dedicated or shared loopback SOCKS proxy and automatically reuses the existing Wolfmax WARP proxy when present. Wolfmax search/detail budgets are widened only when browser-backed discovery is active. Direct cache v12 and stream cache v109.
1.17.98 keeps the complete Wolfmax4k download chain on the WARP-backed path. Cloudflare-sensitive HTML/search/download-gate steps stay inside FlareSolverr with cookies preserved, while the final binary .torrent is fetched through the optional loopback VIP_DIRECT_WOLFMAX4K_PROXY_URL so bencode bytes remain intact. Direct cache v11 and stream cache v108.
1.17.97 repairs the VIP sources that were reporting real errors in /stats. Wolfmax4k now fetches its search token/cookies and POSTs directly to the current admin JSON search API instead of scraping the obsolete /buscar?q= route; MejorTorrent now uses the current paged /busqueda/page/1 search endpoint with a clean title query. Wolfmax4k, MejorTorrent and EXT can automatically use the operator-wide FlareSolverr endpoint when configured. /stats adds a sanitized Detail field with the latest HTTP/timeout/token/parser error. Direct cache v10 and stream cache v107.
1.17.96 fixes the apparent availability loop in non-anime/VIP listings. Preferred Audio OR Subtitles is no longer a hidden outer bucket: the combined language match is evaluated exactly at the first Audio/Subtitles position in the user sort chain, so Availability Priority 1 stays globally ready → cloud/uncached → P2P without restarting for a second language group. Duplicate P2P rows for the same infoHash/file discovered by multiple VIP sources are also collapsed while preserving every source attribution; distinct debrid providers remain separate playback choices. Stream cache v106.
1.17.95 makes native VIP sources observable from /stats: Wolfmax4k, EXT, TorrentGalaxy, MejorTorrent, MediaFusion and the rest now expose anonymous last-check state plus daily/7-day/30-day checks and valid-result counts. VIP source IDs are also preserved in returned-link and provider × source delivery telemetry instead of being discarded as non-anime sources. ElfCache is removed completely from the provider/source catalogue, configuration and deployment variables. Direct-source cache v9 and stream cache v105.
1.17.94 completes native VIP discovery: Wolfmax4k, EXT, TorrentGalaxy and MejorTorrent are queried directly instead of through Torrentio, MediaFusion uses its direct server-global Stremio endpoint, and YTS remains native. EXT can use the operator's FlareSolverr endpoint for Cloudflare-protected pages. MejorTorrent migrates old saved domains to the current base. ElfCache remains a true direct adapter but is disabled by default until the operator supplies a real native ElfCache endpoint; AnimeSub+ never disguises AIOStreams/Torrentio as ElfCache. Direct-source cache v8 and stream cache v104.
1.17.93 removes the Torrentio ES/LATAM, Europe and Global+ VIP profiles and replaces them with independently selectable Wolfmax4k, EXT, TorrentGalaxy, YTS, MejorTorrent and ElfCache sources. YTS stays native/direct; the four Torrentio-backed indexers are queried one provider at a time with no debrid credentials, while ElfCache is a separate configurable Stremio source. Legacy ES/LATAM and Global+ selections migrate to their surviving provider-specific sources. Stream cache v103.
1.17.92 aligns language priority with Torrentio: any configured audio/subtitle language match, including generic upstream release-language evidence, enters the top language bucket before availability/quality when provider grouping is off. Torrentio receives the union of audio + subtitle priorities and its multiline language flags are retained. Generic evidence affects ranking without inventing a role; Multi-Subs stays subtitle-only and bare MULTI remains generic unless audio evidence exists. Stream cache v102.
1.17.91 makes the preferred Audio OR Stream-subtitles gate depend on confirmed role-aware language evidence instead of any positive language hint. Ambiguous release tokens such as a bare SPA may still break ties but no longer qualify as preferred audio/subtitles. Explicit role metadata, Multi markers and release/fansub subtitle evidence still qualify, while terminal Cast/Castellano and Latino/LATAM release markers are recognized as Spanish/LatAm audio. Stream cache v101.
1.17.90 makes preferred stream-language matching a global ungrouped ranking gate. When provider grouping is disabled and Audio and/or Stream subtitles participates in ranking, every release matching configured preferred audio OR preferred embedded/release subtitles is listed before releases matching neither. If Availability is explicitly priority 1, readiness remains the outer bucket and language matching is applied immediately inside each availability tier. Other criteria then rank inside the language bucket. Stream cache v100.
1.17.89 changes stream-language ranking to OR semantics before role-specific tie-breaks. When Audio or Stream subtitles is part of the ranking, any release matching the configured preferred audio OR preferred embedded/release subtitles stays above releases matching neither; the selected Audio/Subtitles criteria then preserve JPN/SPA/LAT and SPA/LAT/Multi priority inside that preferred-language bucket. Stream cache v99.
1.17.88 fixes mixed-provider ranking when Availability is followed by preferred stream subtitles. EasyNews Direct and cached debrid are now the same ready bucket, so Spanish → Latin → Multi can decide the next ranking level instead of EasyNews receiving a hidden transport advantage. Provider order still stays inactive while provider grouping is disabled. Stream cache v98.
1.17.87 improves missing audio/subtitle labels without guessing track roles. DUAL/TRI/MULTI scene grammar is parsed in order, structured provider languages use the full catalogue, Prowlarr/Torznab generic language metadata is kept separate from explicit audio/subtitle fields, and Dutch is normalized to DUT. Stream cache v97.
1.17.86 fixes incomplete first-load stream coverage. VIP/non-anime discovery now completes the foreground provider wave by default instead of stopping after the early settle threshold, cold debrid availability is checked in the same request, provider concurrency expands fairly up to 16, and responses with deferred debrid work are never cached. Stream cache v96.
1.17.85 fixes Configure provider persistence for the anime sources added in 1.17.83/1.17.84. Their checkboxes were posted correctly but the encrypted compact token mask had no assigned bits, so they disappeared after save/reload. New non-reused bits now preserve TsukiHime Direct/NZB, AniNZB, Mikan, DMHY, SubsPlease, AniBT, Prowlarr Native and Generic Torznab. Cache v95.
1.17.84 adds native Prowlarr search through /api/v1/search across every enabled Prowlarr indexer. Prowlarr Native is separate from Generic Torznab, sends only the Prowlarr API key, normalizes torrent hashes, seeders and indexer metadata, and keeps Usenet rows out of the torrent pipeline. Generic Torznab remains available for Jackett, Bitmagnet and other Torznab-compatible endpoints. Cache v94.
1.17.83 adds TsukiHime Direct, TsukiHime NZB via EasyNews, AniNZB via EasyNews, Mikan Project, DMHY, SubsPlease and AniBT for anime; plus optional MediaFusion, Generic Torznab/Prowlarr and Bitmagnet for general content. Direct/NZB rows are isolated from P2P/debrid, language metadata participates in ranking, and the planMs, EasyNews, fast-lane and TorBox DNS fixes remain intact.
1.17.82 expands normal-content VIP discovery with three optional Torrentio profiles: ES/LATAM (MejorTorrent, Wolfmax4k, Cinecalidad), Europe (Comando, BluDV, MicoLeaoDublado, Torrent9, ilCorSaRoNeRo, BestTorrents, Rutor/Rutracker) and Global+ (1337x, EXT, KickassTorrents, TorrentGalaxy, MagnetDL). AnimeSub+ requests hash/P2P streams only and keeps debrid credentials local; the planMs batch fix, EasyNews restoration and TorBox DNS cooldown remain unchanged.
1.17.81 restores full EasyNews VIP coverage after the latency investigation identified planMs as the real bottleneck. EasyNews keeps its original 5-second request timeout, 4.5-second search budget, complete V3 page set and real V2 fallback; generic VIP progressive settling, the planMs batch fix and TorBox DNS cooldown remain unchanged. Diagnostics now report EasyNews plans and selected links.
1.17.80 makes TorBox Search DNS failures resilient: the first cURL 6 or missing A/AAAA result opens a shared 15-minute cooldown, cached TorBox Search results remain usable during the outage, and the next request after expiry automatically probes the upstream again.
1.17.79 makes the VIP settle decision cache-aware: fresh cached providers now count as settled/useful before the network wave, so one cold or stalled provider cannot force /stream to wait for the full foreground budget. When cached coverage is already sufficient, remaining providers get a short opportunistic window and continue in the post-response slow lane.
1.17.78 removes a Real-Debrid planning N+1: episode-terminal markers for all torrent hashes are now loaded with one batched hot-cache lookup instead of one Valkey GET per candidate. Per-stage plan diagnostics were added.
1.17.77 makes the VIP fast lane truly progressive: /stream stops waiting after a short settle window once enough distinct providers have answered, while unfinished providers move to the post-response slow lane. Provider network timings and a safe per-user CLI diagnostic were added for real-server troubleshooting.
1.17.76 rebuilds VIP stream loading around a fast lane and a post-response slow lane. All VIP/EasyNews V3 requests may start concurrently under one player-facing deadline; V2 fallback, timed-out providers and TorBox file enrichment no longer extend /stream. Non-anime identity is cached per IMDb series/movie and local timeout results are never cached as empty.
1.17.75 fixes long /stream waits for non-anime IMDb titles routed through VIP sources. Foreground anime verification now uses bounded single-attempt metadata checks, and optional TorBox file-list enrichment can no longer multiply its timeout. Based directly on 1.17.73; VIP source coverage and the 12-second discovery budget are unchanged.
1.17.73 fixes persistence and enforcement of per-source/provider visible-link limits. The encrypted configuration format now stores both quota maps, so values survive Save/refresh and are available to /stream. The final stream cache namespace is also bumped to avoid reusing pre-fix responses.
1.17.72 improves desktop readability of the maximum-links-per-provider controls with wider provider rows, labels and selectors, while preserving responsive layouts on tablet and mobile.
1.17.71 adds independent maximum visible-link limits per normal/VIP source and per playback provider. Quotas are applied after the complete user ranking, so the best language/subtitle/quality results survive; discovery and provider availability checks are not cut.
1.17.70 improves stream loading without cutting sources or results: duplicate /stream requests are coalesced with Valkey single-flight, VIP and EasyNews cache reads/writes are batched, EasyNews V3 and the main VIP sources share the same concurrent HTTP wave, TorBox Search joins that wave, and shared VIP source cache stampedes are reduced.
1.17.69 fixes the VIP regression from 1.17.68: EasyNews VIP always runs in the foreground again when enabled and configured, the reliable 1.17.67 search budgets and TorBox Search path are restored, and only the responsive VIP crown/card layout is kept.
1.17.68 speeds up VIP loading: TorBox Search joins the same concurrent wave as the other sources, cache lookups are batched, duplicate hashes are deduplicated before providers, and EasyNews VIP uses cache-first/background warming when enough torrents already exist. It also fixes VIP crown/card responsive layout on mobile.
1.17.67 adds YTS and EZTV as direct VIP sources. YTS queries the current official API by IMDb and runs only for non-anime movies; EZTV queries its JSON API by IMDb, filters the exact SxxExx episode, and runs only for non-anime series. Both have independent *_ENABLED=1/0 switches and do not pass through Torrentio, Peerflix or AIOStreams.
1.17.66 keeps only EasyNews, The Pirate Bay, Comet, Knaben, Torlock, TorBox Search, Zilean DMM and StremThru Torz in VIP. Anime titles use normal sources only; VIP sources run only for verified non-anime content, preventing duplicate searches when both variants are enabled.
1.17.65 adds EasyNews VIP to the unified VIP sources. It uses the user’s configured Easynews provider to search non-anime content, does nothing without that provider, and can be disabled with VIP_DIRECT_EASYNEWS_ENABLED=0.
1.17.64 repairs direct VIP sources: YTS migrates to the current API, BitSearch uses bitsearch.eu, TorrentFunk uses its native JSON API, detail pages recognize labelled infohashes, and /debug/stream adds per-VIP-source diagnostics.
1.17.63 adds an independent *_ENABLED=1/0 switch for every VIP torrent source. Setting it to 0 hides the source from Configure, blocks it in direct discovery and immediately invalidates the /stream cache; anime-filter bypass remains limited to VIP sources that are enabled.
1.17.62 removes all category limits from VIP The Pirate Bay and Comet. VIP The Pirate Bay uses APBay with cat=0 (all categories), while VIP Comet applies no category allow-list; both continue to bypass the anime filter only inside the VIP pipeline.
1.17.61 restores The Pirate Bay and Comet to VIP as separate direct integrations; their VIP variants bypass the anime filter while the normal sources keep it.
1.17.60 removes duplicate VIP sources and makes every VIP source a direct, independent torrent integration; only VIP bypasses the anime filter.
Unifies all VIP torrent sources into one VIP block, merges duplicate sources, and hides internal aggregator names.
Adds one-month VIP access with one-time rotating codes, visible expiry and VIP-only Torrentio, Peerflix and AIOStreams source adapters without the anime-only restriction.
The Status control now fully replaces the former green Nyaa availability indicator in the Configure header. Nyaa Online is removed from the footer and UI, the old /nyaa-status polling route is removed, and the header Status/Estado button is driven only by AnimeSub+ /health while linking to the public UptimeRobot page.
The Configure footer is simplified: the left label is now Nyaa Online, the UptimeRobot /health hint is removed, and the public status button keeps the fixed label Status instead of changing to Operational, Degraded or Unavailable. The health check still drives the button color and continues linking to the configured public status page.
AnimeSub+ now exposes a dependency-aware /health endpoint for UptimeRobot instead of a fixed alive response. Critical runtime, encryption, configuration-storage and manifest checks return HTTP 503 when the addon cannot operate; optional index/Valkey failures are reported as degraded while staying online. The Configure page adds a live footer status indicator and can link to a public UptimeRobot page through UPTIMEROBOT_STATUS_URL.
Public statistics are redesigned around actionable aggregate data. The obsolete Real-Debrid real-Cloud-by-source and speculative-Download-by-source tables are removed. /stats now shows stored-configuration adoption by provider/playback path and discovery source, active days, non-empty request rate, links per request, cached share, resolver direct-success rate, and provider × source attribution for links actually returned. The 30-day daily view omits empty days, and the public changelog now includes the previously missing 1.17.51-1.17.53 releases.
Rolled back the Easynews PLAY regressions introduced by 1.17.51/1.17.52. AnimeSub+ again performs one authenticated GET with Range bytes=0-0 and redirects disabled, then hands the first clean HTTPS Location to the player with HTTP 307. Server-side redirect walking, stale-CDN probes and retry loops were removed; the resolved URL cache is a conservative five minutes in easynews:resolved:v7 and credentials never leave the validated Easynews request.
Easynews external-player handoff was hardened with bounded retries for transient transport/408/425/429/5xx failures inside the same resolver request. The v6 resolved cache stored a timestamp and could probe stale credential-free CDN targets before reuse; HTTP 307 was retained and diagnostics added retry/result fields plus optional retry/cache-probe controls.
Easynews PLAY was simplified around V3 primary search with V2 only as query fallback, no synchronous stream pre-resolution and no hidden codec ranking. Stream order follows the user ranking chain. TorBox keeps resolver → requestdl → CDN with account library/cached readiness evidence, provider-specific playback URL caching and hash + provider + file deduplication.
Playback logic is simplified. Easynews API V3 is now primary with V2 only as a failed-query fallback, while AnimeTosho NZB/NNTP remains separate extra coverage. Synchronous pre-resolution and codec-based ranking are removed: stream order follows only the configured user ranking chain, and Easynews resolves on PLAY then reuses a longer credential-free CDN cache with failure invalidation. TorBox treats account library/cached state as readiness evidence, keeps PLAY as resolver → requestdl → CDN, stores playback URLs in a TorBox-specific cache namespace, and debrid deduplication now uses hash + provider + file.
Android TV playback is improved in two places. The first selected Easynews HTTP rows are pre-resolved within a strict concurrent budget so the player can receive a clean CDN URL directly instead of traversing an addon redirect on PLAY; a stable account+upstream cache lets listing and playback reuse the same resolution. Audio ranking now keeps language priority dominant but prefers otherwise-equivalent AAC/MP3/Opus releases over EAC3/DDP/AC3/DTS/TrueHD/FLAC, and known risky codecs are marked TV warning without hiding them or transcoding.
Easynews HTTP audio-track playback now follows the current Easynews++ player contract. Every direct Easynews stream, including MP4, is marked notWebReady so Stremio uses its native demuxer instead of assuming the container guarantees browser-compatible audio. The signed Easynews resolver also hands the clean CDN to the player with HTTP 307, preserving GET/HEAD and Range probes. Exact filename/videoSize, credential-free resolution, HTTP-first search and AnimeTosho NZB fallback remain unchanged.
Easynews HTTP playback no longer embeds username/password in player URLs. Stremio receives a signed AnimeSub+ resolver URL; AnimeSub+ loads the saved Easynews credentials server-side, performs a tiny authenticated GET with Range bytes=0-0, and redirects the player to the clean HTTPS Easynews CDN target. Short-lived CDN resolution is cached by credential fingerprint, resolver errors never relay WWW-Authenticate, and the HTTP-first + AnimeTosho NZB/NNTP hybrid architecture remains unchanged.
Easynews is now hybrid and HTTP-first. AnimeSub+ searches the Easynews web index directly with a bounded two-query anime plan and returns authenticated HTTPS media URLs with exact filename/videoSize, so compatible files start faster and Stremio Web no longer depends on NZB/NNTP support. AnimeTosho NZB playback is retained as fallback/extra coverage: a successful direct first response warms AnimeTosho in the deferred queue, while a direct miss falls back to the old foreground NZB path. Direct search responses are privately cached by credential fingerprint, duplicate HTTP/NZB releases are suppressed conservatively, and no credentials are stored in shared hot-cache values.
Aligned debrid playback with Torrentio-style media handling. TorBox CDN range prewarm is removed completely; playable containers now use the same broad extension set across TorBox, Real-Debrid and resolver filenames. TorBox filters non-video files, preserves original file indexes, selects exact filename/file index first and uses the largest playable video only as a final fallback. Direct media handoff returns to HTTP 302, while notWebReady is no longer forced globally: known MP4 can stay web-ready and other/unknown containers stay native. videoHash/videoSize/filename, user_ip CDN selection and 1.17.44 WebVTT subtitles remain intact.
Fixed Stremio external subtitle loading failures caused by ASS/SSA payloads. AnimeSub+ now sniffs the real subtitle body instead of trusting the URL extension and converts SRT, ASS and SSA to WebVTT inside the same-origin subtitle proxy before playback. Fresh proxy URLs are cache-busted, existing proxy descriptors remain compatible, and subtitle/stream cache namespaces are refreshed.
Fixed first-load track readiness for cached TorBox playback. AnimeSub+ now forwards TorBox opensubtitles_hash as Stremio videoHash, best-effort warms the first and last media ranges of a newly minted lightning CDN URL, and prefetches subtitle base results after /stream is flushed. A racing first /subtitles request briefly waits for that warm base cache instead of immediately returning no tracks. Easynews/NZB remains protected from automatic subtitle-prefetch I/O.
Fixed the remaining video-without-audio path shared by cached Real-Debrid and TorBox streams. Every debrid resolver URL now forces Stremio's native/non-web-ready playback path because /resolve is a redirector, not the final MP4. AnimeSub+ no longer invents stream.mkv when the exact media filename is unknown, and direct CDN redirects use HTTP 307. RD Cloud/Download rules remain unchanged.
Fixed the regression where one Stremio episode open could be split into different playback coordination keys while asynchronous discovery was still enriching fileIndex/batch metadata. Episode single-flight/direct/burst caches now use stable logical episode identity, while fileIndex is still used to select the real media file. The branded Preparing/Unavailable MP4 assets also carry a silent AAC stereo track so a fallback cannot initialize the player as video-only before the real MKV. Playback cache namespaces and final streams were refreshed.
Real-Debrid availability is now strict: ☁ is reserved for torrents RD itself reports as pending in the account, while plausible but unverified hashes are explicit ⬇ Download candidates only when uncached results are enabled. Zilean/DMM and other discovery signals can discover, rank and precache hashes but can no longer manufacture Cloud evidence. Learned successful playback remains valid for 8 hours, and public stats separate Cloud from Download outcomes by source.
Public statistics now attribute every attempted unconfirmed Real-Debrid cloud to the whitelisted discovery sources that contributed its merged hash. /stats and /stats.json show per-source attempts, Direct, Preparing, Unavailable and success rate, making it possible to identify whether Zilean DMM, Comet, Nyaa or another source is producing weak RD cloud candidates without storing hashes, titles, tokens, IPs or credentials. Existing history is not backfilled.
Stream loading now waits briefly for the asynchronous index worker before sending Stremio its final JSON, and sparse first passes receive a bounded primary-source recovery. Partial publications are monotonic, so a late fast request can no longer overwrite a richer or complete worker row. Partial and empty-partial responses are no-store, while a genuine debrid availability cache miss gets one wider concurrent provider window so cached/cloud links do not appear only after reopening the episode.
First-time title loads now run a second bounded primary-source recovery only when the fast pass is empty, while the full index continues in the background. Real-Debrid reuses the complete account snapshot returned by /torrents and offers exact IMDb+episode DMM matches as unconfirmed cloud candidates until playback proves them cached. A public anonymous statistics page now reports returned cached/cloud/P2P links and real resolver outcomes by provider and discovery source for today, 7 days and 30 days.
The Pirate Bay is restored as a native user-selectable APBay JSON source while keeping Tokyo Toshokan, Torlock and private per-user TorBox Search. Its bounded queries still pass anime, title, episode and resolution validation and infoHash deduplication. A temporary APBay HTTP 429 may reuse a bounded stale successful cache while diagnostics retain the error; token compatibility, deployment controls and affected cache namespaces are restored.
Tokyo Toshokan is now a native source and searches not only release names but also paths inside multi-file torrents. Its detail enrichment preserves the real torrent file order and selects the exact Stremio fileIdx for batches such as [10].mkv. Torlock is also available through its public Anime Torznab feed with structured infoHashes and seeders. Both sources are bounded, cached, optional per user and run in the background full-index pass; discovery, index and final-stream caches are rebuilt.
The Pirate Bay has been removed from active discovery, configuration, diagnostics, deployment variables and the source selector after its public API repeatedly rate-limited production with HTTP 429. Existing configurations silently discard the retired bit. TorBox Search now uses each user's configured TorBox key as a private response supplement without persisting that credential or result set in the shared index; the operator index key is optional pre-population only, and affected caches are rebuilt.
Torrentio has been removed from active discovery, configuration, diagnostics and the source selector after its Cloudflare edge rejected both production egress routes. Its request, User-Agent, proxy and token-bit code are gone; existing configurations remain valid and silently discard the retired source, while affected caches are rebuilt.
Torrentio can now use an isolated loopback proxy when Cloudflare blocks the server IP. Set UPSTREAM_TORRENTIO_PROXY_URL to a local WARP, HTTP or SOCKS5 proxy; no other source or debrid provider uses it, diagnostics expose only the sanitized transport mode, and affected caches are refreshed.
Torrentio requests now use a browser-compatible User-Agent isolated from every other source, avoiding Cloudflare rejection of AnimeSubPHP traffic without forwarding user or debrid credentials. Discovery, index and final-stream caches are refreshed so earlier HTTP 403 results are retried immediately.
Torrentio's real multiline title metadata is now parsed for seeders, size and language flags before debrid availability checks. Exact-ID hashes remain eligible even with zero seeders, and provider-confirmed cached streams continue to bypass the minimum-seeders filter completely; affected caches and the persistent index are rebuilt.
Configuration saving is now durable for older installed manifest URLs as well as current u_* identifiers. Long encrypted identifiers receive a server-side encrypted override without changing the URL already installed in Stremio, and intentionally empty audio/stream-subtitle priority lists remain empty through normalization and token decoding.
Provider Priority now persists reliably: selecting Provider in any ranking slot automatically enables provider ordering, the Configure backend treats that explicit selection as authoritative even when a browser omits the companion checkbox, and the manual provider list is synchronized immediately before saving.
Torrin direct cache search now sends IMDb alone instead of accidentally narrowing exact searches with series-start year/title filters, accepts the documented file_name response field, and trusts structured IMDb/episode identity over release-name aliases. Sanitized search counts are now visible in performance diagnostics so cached TR hits and filtering can be verified in production.
Torrin now searches its official shared cache directly by IMDb, season and episode, so cached TR releases no longer depend on being rediscovered by Nyaa or another indexer. Native Store availability now uses the documented magnet parameter, Torrin-only hashes stay isolated from P2P and other debrid services, and final playback still uses Store link generation.
Active debrid services now remain visible as separate provider paths when uncached streams are allowed, so Torrin appears as TR instead of being collapsed behind another service. The fast availability window is 700 ms normally and 900 ms only with Torrin, deadline-limited checks remain unknown, and deferred listings refresh after at most 15 seconds.
Torrin's StremThru transport now sends availability hashes through the required repeated magnet query parameter, matching AIOStreams and preventing HTTP 400 “missing magnet” responses that hid every Torrin result when cached-only mode was enabled.
Torrin Debrid is now configurable with native and AIOStreams-compatible StremThru transports. AnimeSub+ uses the authenticated Store API for authoritative cache checks, magnet submission and polling, plus final signed-link generation; credentials stay out of Stremio URLs.
Erai-raws subtitle country tags are now mapped to their real languages and flags, including the dedicated RSS subtitle field and the full published Erai catalogue. These tags remain subtitle-only, participate in stream-subtitle ranking, and cannot be mistaken for audio or ordinary title words; old torrent caches were rebuilt.
Debrid playback is now stable across concurrent Stremio requests: every probe shares the same media destination to prevent video without audio, resolver URLs carry a reliable filename/extension for container detection, and already-cached TorBox torrents proceed directly to playback without a false Preparing screen.
Real-Debrid unknown clouds now require at least five seeders plus corroborating source, exact-file or strong-swarm evidence, while failures are remembered per hash and requested episode so a bad season pack does not keep returning for that episode. Torrentio was added only for infoHash/fileIdx discovery without receiving the RD credential and can never create a lightning badge by itself; stream, discovery and index caches were rebuilt.
Real-Debrid cloud rows now distinguish real account-pending torrents from arbitrary unknown hashes: Hide uncached debrid also removes unconfirmed RD clouds, error/dead/magnet_error/virus states are terminal, and unknown candidates require a live swarm when uncached results are enabled. Lightning remains reserved for strong immediate-availability evidence and the stream cache was invalidated so old false clouds do not survive.
Real-Debrid cache discovery now checks a much wider provider-specific candidate window, adds Zilean/DMM as cache-probe-only hash discovery, learns short-lived positives from completed account torrents, and shares terminal negative evidence for dead/blocked/unavailable hashes. Zilean/DMM candidates never become cloud/P2P rows unless a debrid provider independently proves them ready, reducing dead-cloud noise without inventing lightning badges.
Provider-aware debrid deduplication now keeps the same infoHash once per distinct provider only when that provider is cached/ready, while non-ready duplicates collapse to one fallback. Real-Debrid background precache now completes addMagnet → info → selectFiles so next-episode and P2P warm-ups actually start without manual action in the RD account.
Real-Debrid lightning playback now runs a bounded addMagnet → info → selectFiles → info state machine on the first open, treats downloaded as ready only when selected-file links exist, treats error/magnet_error/virus/dead as terminal, learns shared cache positives only after a successful final direct link, and limits learned positives to 8 hours to reduce stale lightning badges.
TorBox cached streams now fetch exact file metadata only after ranking, so the first player launch receives the real media filename and file index; generated TorBox CDN links also preserve the filename when supported. Subtitle timeouts are unchanged.
TorBox lightning playback now avoids false Preparing screens from parallel player probes, retries instant cache materialization for a bounded window, selects the CDN using the playback client IP, and marks debrid URL streams as non-web-ready when appropriate so MKV/multi-audio tracks initialize more reliably.
Improves long-running anime episode accuracy with Torrentio-style exactness. AnimeSub+ now distinguishes Stremio's requested season/episode from anime absolute numbering, preserves globally-numbered episodes such as One Piece S21E964, rejects adjacent absolute episodes, propagates the exact provider file index into playback, and hides unsafe multi-file P2P packs when no exact file index is known. Episode/discovery/index caches are invalidated so old mappings are not reused.
Fixes Stremio subtitle crashes by proxying third-party subtitle files through AnimeSub+ as clean same-origin UTF-8 bytes. Real-Debrid learned availability is now durable and file-selection aware like Torrentio: proven file-ID variants survive PHP workers/deployments, target episodes are selected instead of whole season packs, target-scoped operations prevent pack collisions, and official RD statuses/error codes are classified explicitly. Nyaa torrents participate in the same hash/file learned cache as every other source.
Real-Debrid cache recognition now mirrors Torrentio's learned-availability model: successful playback teaches a shared positive hash/file cache for five days, while account ownership remains private and downloading results invalidate stale positives. The Pirate Bay is added as a selectable torrent source through the public APBay JSON API, with anime/title/episode filters still enforced by AnimeSub+.
TorBox lightning now comes only from the native authoritative /checkcached result; TorBox Search can no longer override it. Cached TorBox playback now reuses account torrents, verifies download_present, briefly retries instant materialization, handles queued jobs, and uses a faster download-link redirect. Preparing and Unavailable are now reserved for genuinely pending or terminal states.
New neon gaming/anime Preparing and Unavailable videos with the AnimeSub+ logo. TorBox now uses a lightweight authoritative cache check without downloading file lists, reducing false cloud states and improving cache freshness.
Real-Debrid cloud playback now uses non-blocking single-flight, an exact-playback direct-link cache, season-pack video selection and branded status videos for transient/terminal failures, so Stremio no longer stays stuck on “Opening…”.
Real-Debrid cloud playback no longer runs addMagnet → info → selectFiles → info synchronously. AnimeSub+ submits the magnet once, polls the same operation separately, recovers “Torrent already active” races, and selects only the requested episode/file when possible, so the preparation screen appears promptly instead of an endless opening spinner.
Cloud debrid playback now shows the preparation screen after the first provider check instead of blocking for a long foreground polling window. AnimeSub+ keeps rechecking the same debrid job in the background after the redirect, and the preparation video was rebuilt without the oversized blue pseudo-button.
Smart Cache & Play now automatically re-checks cloud debrid streams before showing the holding screen. Real-Debrid owned torrents are treated as ready immediately, the new 10-minute AnimeSub+ branded video puts English first and Spanish second, and non-ready streams omit bingeGroup to reduce accidental next-episode autoplay.
Added opt-in P2P-to-debrid precaching and next-episode precaching. P2P stays direct; background warming follows the user’s ranking and provider preference, including known season rollover.
The full ranking chain is now strict even with provider grouping: Availability → Subtitles → Quality stays in that exact order, while Provider priority can be placed explicitly in any slot. Cloud debrid streams show a short preparing video instead of an endless spinner, and mixed Easynews + debrid loads no longer wait for Easynews before showing initial torrent results.
Real-Debrid now separates account-owned completed torrents from unknown global cache state; owned/unknown cache entries are credential-scoped, debug exposes the effective ranking settings, and Easynews no longer reserves result slots unless the operator explicitly enables it.
Debrid candidate checks are now ranking-neutral: changing Availability/Subtitles/Quality no longer changes which hashes are checked, so cached counts stay stable and only the final stream order changes.
Redesigned multi-provider ranking: cached debrid and Easynews now share one immediate-availability tier, subtitle/quality priorities apply sequentially, and provider grouping/order is optional.
Improved Nyaa/AnimeTosho audio and subtitle detection for short language codes, Dual/Multi/VOST tags, Raws groups and Asian-language markers, while keeping unconfirmed source hints non-visible.
The changelog now returns to the exact private configuration you came from, keeps that context when changing language, and the Jimaku instructions open the account page.
Complete subtitle translations, multilingual web changelog and consolidated upgrade documentation.
Deterministic Easynews NZB playback with a single selected video file.
Subtitle work is isolated from playback and uses non-blocking cache refreshes.
Native multilingual subtitles with personal SubDL/Jimaku API keys and anime-aware matching.
AllDebrid playback reliability improvements and optional local WARP proxy support.
Performance, provider health, indexing, source controls, language ranking and formatter improvements.