github Viren070/AIOStreams v2.0.0

latest releases: 2025.09.05.2133-nightly, 2025.09.05.1552-nightly, 2025.09.02.2114-nightly...
2 months ago

2.0.0 (2025-06-19)

🚀 The Big Upgrades in v2 🚀

  • 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


✨ Feature Deep Dive - Get Ready for Control! ✨

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!
  • 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.


💾 Under The Hood: The New Database Foundation 💾

  • 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.

⚠️ Important Notes & Caveats for v2 ⚠️

  • 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.

🔧 Self-Hosting AIOStreams & Self-Hosting Guides 🔧

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.


💬 Join the AIOStreams Community on Discord! 💬

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:


❤️ Support AIOStreams Development ❤️

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.


🚀 Get Started with AIOStreams v2! 🚀

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!)

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!

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.

Features

  • 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 forcing public proxy urls, make password requirements less strict and use server logger type for server.ts, add /configure redirect (6640a42)
  • 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_URL required 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 89eac41 (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_KEY as fallback for ADDON_PASSWORD to 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)

Bug Fixes

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

Don't miss a new AIOStreams release

NewReleases is sending notifications on new releases.