Skip to content

v2.2.0

Choose a tag to compare

@github-actions github-actions released this 06 Feb 02:00
· 85 commits to main since this release
v2.2.0
7c95c2c

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)