github jamcalli/Pulsarr v0.8.0

latest release: v0.8.1
one day ago

Changes

🚀 Feature Release - Adaptive RSS/ETag mode switching, deferred routing, Docker health checks

Overview

Major improvements to watchlist workflow reliability and performance. Automatic mode switching adapts to Plex RSS CDN cache duration, RSS friend attribution works directly without GUID matching, Docker deployments get native health checks, and external API calls include descriptive User-Agent headers for better monitoring.

Key Updates

Watchlist Workflow Improvements (closes #795)

  • Automatic mode switching: Detects RSS CDN cache duration and switches to ETag mode when needed
    • Checks Cache-Control headers (s-maxage) on startup and during reconciliation
    • Falls back to ETag polling if CDN cache exceeds 5 minutes
    • Automatically switches back to RSS mode when cache settings improve
  • Direct RSS attribution: RSS feeds now include friend UUIDs in author field - no more GUID matching required after sync
  • Deferred routing queue: Handles Radarr/Sonarr downtime gracefully - items queued and processed when services recover
  • Faster friend syncs: UUID-based caching eliminates duplicate database queries during polling
  • ETag caching: Avoids re-downloading unchanged RSS feeds, reducing bandwidth
  • Staggered polling: Non-RSS users get 5-minute staggered ETag polling instead of GraphQL-only
  • Better startup: Reduced log verbosity and improved error handling during initialization

Docker Health Check

  • Native support: /health endpoint works with Docker HEALTHCHECK directive
  • Reverse proxy compatible: Handles base path configurations correctly

API Improvements (closes #794)

  • User-Agent headers: External API calls (Plex, TMDB) now include Pulsarr/<version> for better monitoring and debugging

Bug Fixes

  • Log rotation (closes #799): Compressed logs now correctly named .log.gz instead of .log (migration 067)
  • Pino upgrade: Logger upgraded to v10 with standardized patterns across all services
  • RSS parsing: Genres now normalized to match database format

Migration & Compatibility

Docker users:

docker pull lakker/pulsarr:latest
# or specific version
docker pull lakker/pulsarr:0.8.0

Manual installation:

git pull origin master
npm install
npm run migrate
npm run build
npm run start:prod

Database migrations - Automatic on startup:

  • Migration 067: Renames rotated log files from .log to .log.gz
  • Migration 068: Removes deprecated temp_rss_items table

Full Changelog: v0.7.6...v0.8.0
Docker Image: lakker/pulsarr:0.8.0

🔄 Dependencies

Docker

docker pull lakker/pulsarr:0.8.0

Contributors

@actions-user, @jamcalli, @renovate[bot] and renovate[bot]

Don't miss a new Pulsarr release

NewReleases is sending notifications on new releases.