Skip to content

Releases: Zzackllack/AniBridge

v2.4.4

14 Feb 23:53
v2.4.4
64109d5

Choose a tag to compare

AniBridge v2.4.4 introduces a significant breaking change by removing legacy in-app outbound proxy support, requiring users to switch to external VPN routing for outbound network requests. This release also brings extensive documentation improvements, including Mermaid diagram support, new provider documentation, and updated legal disclaimers, alongside various fixes and refactorings to enhance stability and maintainability.

Breaking Changes

  • Removed legacy in-app outbound proxy runtime, dropping support for PROXY_* outbound proxy settings. Users must now rely on external VPN routing (host VPN or sidecar) for outbound network operations. (b031a59)

New Features

None.

Other Changes

Fixed:

  • Improves Mermaid diagram rendering and caching logic by preserving original source, optimizing processing, and preventing unnecessary re-renders (ca494dc).
  • Updates integration links to align with the new clients section within the documentation (fe902bc).
  • Updates download directory references in documentation and configuration files to consistently use /data/downloads (5e6bd30).

Documentation:

  • Enhances documentation with Mermaid diagram support, including rendering configuration, custom styles, and a new Architecture Deep Dive page with visual diagrams (d501301).
  • Adds a context7 configuration file (a94f4a3).
  • Standardizes legal disclaimers across Prowlarr, Radarr, and Sonarr integrations, and adds new documentation for AniWorld, Megakino, and S.to providers (3e01a74).
  • Updates legal notices and disclaimers to clarify user responsibilities, compliance obligations, operational boundaries, and detailed information on third-party video hoster limitations (c6a55cd, c558d32, ca6e544).
  • Documents the new external-VPN-only networking policy in the .env example, README, and user/agent guides (4f60af1).

Style:

  • Normalizes provider banner dimensions and styles for consistent visual presentation across provider pages (f55f2ae).
  • Changes debug logs to trace level for datetime helper functions and job update processes to provide improved verbosity (a84db37).

Refactored:

  • Moves integration documentation into dedicated clients and providers subfolders for better organization (152e837).

Chores:

  • Cleans up unused environment variables in docker-compose.yaml and adds a new rate limit option (26b6118).
  • Bumps the project version from 2.4.3 to 2.4.4 (64109d5).

v2.4.3

11 Feb 21:47
v2.4.3
efaf9ba

Choose a tag to compare

This release (v2.4.3) primarily focuses on critical bug fixes to enhance stability and reliability, addressing issues with HLS download rate limiting and improving the startup process for Megakino by preventing stalls during domain resolution.

Breaking Changes

None.

New Features

None.

Other Changes

Fixed:

  • Normalize HLS bandwidth cap across fragment workers to ensure the configured DOWNLOAD_RATE_LIMIT_BYTES_PER_SEC is respected, rather than being multiplied by worker count. This includes an update to .env.example documentation (748704f).
  • Prevent Megakino startup stalls during mirror/domain resolution by introducing wall-time HTTP wrappers for resolver probes and disabling redundant sitemap fallback during primary domain resolution (035a3d0).

Chores:

v2.4.2

11 Feb 17:50
v2.4.2
b37e507

Choose a tag to compare

This v2.4.2 release for AniBridge focuses on significant improvements to the Torznab API, primarily enhancing series lookup accuracy and overall performance. Key updates include more precise title matching for Sonarr tvsearch queries, better handling of ID-based searches, and the introduction of caching mechanisms for SkyHook lookups.

Breaking Changes

None.

New Features

None.

Other Changes

  • Fixed:

    • Improved series lookup for Sonarr tvsearch queries, resolving false matches and adding fallback resolution for ID-based queries. (0bd8a63)
  • Documentation:

    • Added docstrings to search and results related files. (296822c)
  • Style:

    • Formatted Python code with Ruff. (a5db7ec)
  • Performance:

    • Implemented caching for SkyHook search terms and titles to reduce redundant API calls and optimized title scoring logic. (a4b9fe6)
  • Chores:

    • Bumped version to 2.4.2. (b37e507)

v2.4.1

11 Feb 16:49
v2.4.1
4fed2f4

Choose a tag to compare

AniBridge v2.4.1 introduces a significant new feature, allowing users to configure a bandwidth limit for individual yt-dlp downloads through a new environment variable, enhancing control over network resource usage. This release also includes internal refinements to testing procedures.

Breaking Changes

None.

New Features

  • Add per-download bandwidth cap for yt-dlp operations, configurable via the new DOWNLOAD_RATE_LIMIT_BYTES_PER_SEC environment variable. This allows setting a bandwidth limit for downloads and includes validation for non-negative integers. (94ea2c8)

Other Changes

  • Fixed:
    • Improve download rate limit test handling for invalid values by ensuring proper configuration module reloading during tests. (0dd247f)

v2.4.0

10 Feb 21:38
v2.4.0
33d819f

Choose a tag to compare

AniBridge v2.4.0 is a maintenance release primarily focused on enhancing the stability of the build process. This update resolves a critical issue encountered during PyInstaller packaging on Windows, ensuring more reliable future releases.

Breaking Changes

None.

New Features

None explicitly.

Other Changes

Fixed:

  • fix(downloader): avoid aniworld argparse side effects during PyInstaller build - Resolved an issue where aniworld module imports caused SystemExit: 2 during PyInstaller analysis on Windows, by deferring imports to runtime (c61a7cf).

Chores:

  • Bump version from 2.3.2 to 2.4.0 (33d819f).

v2.3.2

10 Feb 21:32
v2.3.2
2485dc2

Choose a tag to compare

This v2.3.2 release for AniBridge primarily focuses on maintenance, including crucial dependency updates to improve stability and compatibility, as well as fixing a specific dependency-related installation issue, alongside routine code formatting.

Breaking Changes

None.

New Features

None explicitly.

Other Changes

Fixed:

  • 3f9a13d Update uvloop dependency with platform markers to avoid installation issues on specific platforms.

Style:

  • dee3234 Format Python code with Ruff.

Chores:

  • 38364a8 Bump the Python dependency group across the project, including updates for aniworld, anyio, beautifulsoup4, certifi, click, and npyscreen.
  • 2485dc2 Bump project version to 2.3.2.

v2.3.1

10 Feb 21:17
v2.3.1
be15c1f

Choose a tag to compare

AniBridge v2.3.1 primarily focuses on modernizing the project's dependency management by migrating from pip to uv, which brings significant improvements to installation speed and reliability. This release also includes important dependency updates and minor documentation enhancements. Users should be aware of a new minimum Python version requirement and changes to the local development setup.

Breaking Changes

  • AniBridge now requires Python 3.11 or newer. Users currently running older Python versions will need to upgrade their environment to continue using the latest version.
  • The project has fully migrated to uv for dependency management. This changes local development setup, Docker builds, and execution scripts. Users are advised to review the updated README.md and Dockerfile for the new commands and required uv installation, as pip is no longer used for dependency installation.

New Features

None.

Other Changes

Documentation

  • Updated AGENTS.md to clarify environment variable handling (0c0434d).

Style

  • Formatted Python code with Ruff (4935764).

Chores

  • Migrated the project to use uv for dependency management and execution, replacing pip and requirements files. This included comprehensive updates to documentation, the Dockerfile, Makefile, local build/startup scripts, and .gitignore for uv lock files (14494b5, a1e0f0c, 4054016, 96df0bf).
  • Updated various dependencies to their latest versions:
    • starlette from 0.48.0 to 0.49.1 (13a53ad)
    • urllib3 from 2.5.0 to 2.6.3 (f323d02)
    • python-multipart from 0.0.20 to 0.0.22 (740add9)
    • werkzeug from 3.1.3 to 3.1.5 (90a338a)
    • astral-sh/setup-uv GitHub Action from v6 to v7 (7d8f2bf)
    • @vue/server-renderer and vue (for docs) from 3.5.27 to 3.5.28 (6487877)
  • Bumped project version to 2.3.1 (be15c1f).

v2.3.0

10 Feb 20:09
v2.3.0
3eed9ef

Choose a tag to compare

This v2.3.0 release for AniBridge introduces significant enhancements to the Torznab API, including robust support for special episodes via metadata-backed mapping and the addition of movie search capabilities. Accompanying these features are critical documentation updates that provide guidance on STRM proxy limitations, HTTPS requirements for direct play, and detailed setup for handling AniWorld specials with Sonarr.

Breaking Changes

None.

New Features

  • 54d7cf7 Implement metadata-backed specials mapping, adding functionality for resolving special episode mappings from queries and requests.
  • 32c3920 Enhance Torznab API with movie support and ID hints, including new query parameters and updated documentation for AniWorld specials/extras.
  • 3234de1 Add special probe function to enhance availability checks for mapped AniWorld special coordinates, utilizing caching for improved reliability.

Other Changes

Fixed:

  • 8847e26 Fix VitePress API metadata and canonical URL generation, improving SEO by populating dynamic API operation titles and descriptions.
  • 577bbab Ensure season and episode are checked for None in the downloader.
  • 46609af Add release name override from title hint in the download_episode function, enhancing download flexibility.
  • 2bb4a3c Stabilize specials mapping import and reduce redundant probes by reusing resolved mappings and handling AniWorld /filme 404s as "no specials".

Documentation:

  • 3cec2ca Add warnings about STRM proxy playback limitations, particularly regarding unstable playback in Jellyfin.
  • f8aeee6 Update STRM proxy and configuration documentation for HTTPS requirements, clarifying the need for HTTPS with Direct Play and reverse proxy setup.
  • e01f88e Remove markdown examples file as it is no longer needed.
  • 93153e9 Add detailed documentation for specials/extras handling via Sonarr, including strategies and a recommended design for AniWorld integration.
  • 67e02e4 Add hide-branding attribute to ApiOperations components in API documentation files for consistent appearance.
  • 8515430 Add docstrings to specials-extras related files, improving code clarity and maintainability.

Style:

  • 7722914 Format Python code with Ruff.
  • d0bed26 Format Python code with Ruff.

Tests:

  • 6083997 Add unit tests for specials mapping and utils functions.

Chores:

  • cd203a9 Bump vitepress-openapi from 0.1.13 to 0.1.14 in /docs (dependabot[bot]).
  • 119ea2d Update .gitignore to include .uv-cache and simplify .codex entries.

v2.2.0

06 Feb 02:00
v2.2.0
7c95c2c

Choose a tag to compare

AniBridge v2.2.0 introduces significant enhancements with the integration of Alembic for automatic database migrations and the debut of STRM proxy streaming, alongside various stability improvements and documentation updates.

Breaking Changes

None.

New Features

  • Added comprehensive Alembic database migration support, enabling automatic migrations on application startup with configurable behavior and migration scripts, and checks for existing tables. This includes updates to Docker and requirements to include Alembic. (87b5651, 16c43c0, e135674)
  • Implemented STRM proxy streaming functionality with configurable options for proxy mode, authentication (token and API key), and caching. This includes new endpoints for streaming and proxying STRM URLs, HLS playlist rewriting, and a new database table (StrmUrlMapping) for tracking episode-to-URL mappings. (d9b3b61, cbb3429, b1f4fc5)
  • Added support for an environment variable to define an allowlist for STRM proxy upstream hosts. (5990e28)
  • Enhanced logging capabilities by adding trace-level logs across various functions in the STRM proxy module. (48cec30)

Other Changes

Fixed:

  • Resolved a TYPE_CHECKING import issue for alembic.config. (0b944bc)
  • Fixed a broken link to the logo image. (94412f2)
  • Updated HLS and Range handling specifications with RFC references and resolved dead/broken links in STRM Proxy Stream spec files. (5aa80ee, 063befb)
  • Improved STRM resolution for the Megakino provider with enhanced error handling and provider preference logic. (592a451)
  • Added proxy path hints to preserve HLS extensions, which is crucial for playback compatibility with media servers like Jellyfin/ffmpeg. (47781a9)
  • Added TRACE level support to the standard library logging configuration. (214d632)
  • Implemented upstream host validation and allowlist support for the STRM proxy, enhancing security. (a41b2c4)
  • Corrected authentication logic to raise a ValueError for unknown STRM proxy authentication modes. (6bc8665)
  • Included an optional expiration timestamp in authentication parameters, addressing an issue where Jellyfin playback would stop after TTL expiration. (4d87e7b)

Documentation:

  • Added specifications for database migration options, STRM proxy stream functionality (including HLS playlist rewriting, HTTP Range support, security, caching, and an implementation plan), and examples for streams and M3U8 files. (80d6e98, 1d8cc7a, a415381, 2f43a8b, fe4c92a)
  • Updated documentation across the project for Alembic migrations, database setup, STRM proxy mode, new configuration options (STRM_PROXY_MODE, STRM_PUBLIC_BASE_URL, STRM_PROXY_AUTH, STRM_PROXY_SECRET, STRM_PROXY_CACHE_TTL_SECONDS), and new API endpoints. (aed16de, 1cdf431, 9ae8c2c, dee5d26)
  • Added comprehensive docstrings to the strm/proxy-stream module, improving code readability and maintainability. (e052d7a)
  • Included warnings and troubleshooting notes for Sonarr import issues with .strm files, suggesting workarounds like manual imports or disabling "analyze video files." (d17a82c, 8a76415)

Style:

Refactored:

  • Cleaned up and moved Docker Compose files for development to the /docker directory. (8d2c886)
  • Enhanced and simplified async client management for upstream requests, including streamlining logic, improving error handling, and adding validation for STRM request parameters. (fadd069, 3acf5a4)

Performance:

  • Converted blocking functions to asynchronous operations and introduced a shared async client for upstream streaming requests to optimize resource usage and improve non-blocking I/O. (1196e65)

Tests:

  • Disabled database migration on startup for test environments to prevent unintended migrations during testing. (befff3a)

Build:

None.

CI/CD:

  • Enhanced release notes structure and formatting within CI/CD to provide clearer and more organized documentation. (5691ad5)

Chores:

  • Performed housekeeping by moving CODE_OF_CONDUCT.md, CONTRIBUTING.md, SECURITY.md, and README.md into the .github/ folder. (73fbfdd)
  • Added a Docker Compose file for development, including VPN configuration, to facilitate local setup with related services like Sonarr, Radarr, Prowlarr, and Jellyfin. (76c127f)

v2.1.0

03 Feb 01:37
v2.1.0
d05a5e5

Choose a tag to compare

AniBridge v2.1.0 delivers key feature enhancements including new language attributes for Torznab feeds, improved domain resolution resilience, and robust CORS configuration for the API. This release also focuses on developer experience with a major migration to Ruff for code formatting and a comprehensive update of documentation, including a refactored API reference.

Breaking Changes

  • 9889823 The structure of the API documentation has been refactored, impacting how API endpoints are presented and integrated. This also affects users relying on direct links to specific API job descriptions, which are now replaced by an OpenAPI specification component.

New Features

  • 6d91d93 Torznab feeds now include audio language and subtitle language attributes, improving classification and filtering for tools like Sonarr.
  • 86eece2 Enhanced Megakino mirror domain fetching with a sitemap fallback for improved resilience.
  • 2d3eccf Implemented new logging configuration and an intercept handler to better integrate Loguru with the standard logging module.
  • Added CORS middleware and configuration options to manage cross-origin requests, including new environment variables for setup. (85bf7ed, 4a72a9b)

Other Changes

  • 8b4212b Improved performance of Megakino mirror domain fetching through concurrent processing.
  • 675431e Fixed an issue with Torznab max workers helper and prevented repeated global logging configuration resets.
  • Migrated Python code formatting and linting from Black to Ruff, including updates to documentation, CI workflows, and related fixes for dependency installation and import statements. (921283f, ed23840, 696ae41, 788f4c3, e249798, 6b4a610, d8608fc, 9c07873)
  • 321dd16 Updated development setup instructions to include uv installation on various platforms.
  • c210271 Refactored logger configuration setup into cli and main modules for earlier initialization and better warning capture.
  • Various documentation updates including new Radarr integration guides, removal of Docker Compose documentation, a quickstart video walkthrough, enhanced contributing guidelines, an API OpenAPI spec import fix, release process documentation, and updates to documentation build dependencies. (0e32252, 03fbef5, 8c4db67, 4bab4bd, ecf87bc, aed2a2c, 76e51b3, 3a8912e)