What's Changed
New features
- Added CLI and Python backend support for HentaiTV, AnimeIDHentai, and HentaiHaven, including keyword search. #327
- Added genre browsing to the Web UI and HTTP API. #317
- Added Moflix genre discovery and filtering through its public recommendation API.
- Made all public site models available from
aniworldandaniworld.models. - Unified search and genre entry points under
aniworld.search, with consistent genre discovery and result-limit handling. - Implemented
--keep-watchingfor continuing from an episode through the rest of its season.
CAPTCHA rewrite
- Rewrote the CAPTCHA backend from scratch and consolidated it into one module. #335
- Simplified checkbox interaction for Turnstile, hCaptcha, and reCAPTCHA, with ALTCHA verification and manual challenge interaction through the CLI browser or Web UI screenshot.
- Added configurable browser visibility, solve timeouts, manual interaction, and browser error logging:
ANIWORLD_CAPTCHA_VISIBLEANIWORLD_CAPTCHA_TIMEOUTANIWORLD_CAPTCHA_MANUALANIWORLD_CAPTCHA_DEBUG_LOG
- Removed obsolete CAPTCHA tuning options and improved browser cleanup and popup handling.
Fixes and improvements
- Fixed Moflix Cloudflare-protected browse, search, and metadata requests using the Chromium fallback.
- Fixed MegaKino genre filtering and hid genre controls while displaying keyword search results. #312
- Added Dark Reader exclusion to preserve the Web UI's appearance. #325
- Fixed Hanime CLI video URLs selecting an entire franchise instead of the requested video.
- Kept Syncplay forced to mpv without overwriting the player preference used for ordinary playback.
- Removed Syncplay password logging.
- Fixed duplicate log output.
- Refactored shared metadata parsing, decoding, and stream-resolution helpers.
- Expanded offline regression coverage, fixed Windows test compatibility and source-file decoding, and resolved lint failures.
- Updated search examples, README, configuration documentation, supported-site listings, and issue templates.
Upgrade notes
- Application settings now consistently use the
ANIWORLD_prefix. RenameMANGAFIRE_FORMATtoANIWORLD_MANGAFIRE_FORMATin deployment environments; existing app.envvalues migrate automatically. - Added missing
ANIWORLD_NO_MENU,ANIWORLD_KEEP_WATCHING, andANIWORLD_ENABLE_FILMOentries to.env.example. - CAPTCHA visibility now defaults to
auto: visible for CLI solves and off-screen for Web UI/background helpers. - The compatibility module
aniworld.web.captchawas removed. Python integrations should import fromaniworld.playwright.captcha. - Removed Cineby and obsolete LoadX, Luluvdo, and Streamtape implementations.
Full Changelog: v.5.1.1...v.5.2.0