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
todiscover.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
Docker
docker pull lakker/pulsarr:0.5.2