github jamcalli/Pulsarr v0.5.2

latest releases: v0.5.11-beta.1, v0.5.11-beta.0, v0.5.10...
20 days ago

Changes

Hotfix Release - Critical Plex API Update

⚠️ BREAKING CHANGE - REQUIRED UPDATE

This is a critical hotfix that addresses breaking changes in Plex's API infrastructure. Pulsarr will not function without this update.


🐛 Critical Bug Fixes

Fixed Plex API Endpoint Changes

  • Issue: Plex changed their discovery API endpoint from metadata.provider.plex.tv to discover.provider.plex.tv
  • Root Cause: Plex infrastructure migration broke all watchlist fetching functionality
  • Fix: Updated all Plex API calls to use the new discover.provider.plex.tv endpoint
  • Impact: Restores all watchlist functionality - without this fix, Pulsarr cannot fetch any watchlists
  • File: src/utils/plex.ts

Enhanced Plex API Security

  • Issue: X-Plex-Token was being passed in URL parameters, potentially exposing tokens in logs and proxies
  • Root Cause: Security vulnerability where authentication tokens could be leaked
  • Fix: Moved X-Plex-Token from URL parameters to HTTP headers for all Plex API calls
  • Impact: Improved security posture, prevents token leakage in server logs and proxy configurations
  • Files: src/utils/plex.ts (discover endpoint, metadata fetch, RSS generation)

Added Database Fallback for Watchlist Failures

  • Issue: When Plex API is unavailable or rate-limited, users lose access to their watchlist data
  • Root Cause: No fallback mechanism when Plex services are temporarily unavailable
  • Fix: Added database fallback that retrieves existing watchlist items when Plex API fails
  • Impact: Improved reliability - users maintain access to their watchlists even during Plex outages
  • Files: src/utils/plex.ts, src/services/plex-watchlist.service.ts

Enhanced GraphQL Rate Limit Handling

  • Issue: 429 rate limit responses from Plex GraphQL API were not properly identified
  • Root Cause: Generic error handling didn't distinguish rate limit errors from other failures
  • Fix: Added explicit 429 status code detection and proper RateLimitError classification
  • Impact: Better rate limit management and more targeted retry logic
  • File: src/utils/plex.ts

Improved Data Normalization

  • Issue: Database fallback could fail with malformed GUID/genre data from different storage formats
  • Root Cause: Inconsistent data types between JSON strings and arrays in database storage
  • Fix: Added robust data normalization using existing parseGuids utility and proper type safety
  • Impact: Reliable data handling across different storage formats, eliminated type casting issues
  • File: src/utils/plex.ts

🚨 Update Instructions

Immediate Action Required: Deploy this hotfix immediately to restore Plex functionality

  • fix: hotfix plex api url change and db fallback for watchlist fetch failures (#468) @jamcalli

Docker

docker pull lakker/pulsarr:0.5.2

Contributors

@jamcalli

Don't miss a new Pulsarr release

NewReleases is sending notifications on new releases.