github jamcalli/Pulsarr v0.4.17

latest releases: v0.8.2, v0.8.1, v0.8.0...
4 months ago

Changes

🚀 New Features

Service Availability Protection

  • Smart Service Health Checks prevent content addition when Radarr/Sonarr are unavailable
  • Structured Error Handling with new ExistenceCheckResult type for detailed status reporting
  • Bulk Sync Protection extends availability checks to periodic synchronization
  • Graceful Degradation maintains approval requests even when services are down

Enhanced Content Verification

  • Efficient TMDB/TVDB Lookups using dedicated API endpoints
  • Multi-Instance Support checks all configured instances before processing
  • Intelligent Deferral skips unavailable services for later retry

Periodic Reconciliation

  • Plex Pass Independent sync now runs regardless of RSS feed availability
  • 20-minute Forced Sync ensures content is processed even during RSS failures
  • Enhanced Fallback mechanisms for improved reliability

🐛 Bug Fixes

Critical Issues Resolved

  • Fixed misleading sync stats showing "added: 1321" when services were down
  • Prevented failed API calls during service outages
  • Corrected counter logic to only count successful additions
  • Resolved race conditions between immediate and bulk sync operations

GUID Matching Improvements

  • Centralized GUID utilities for consistent processing across services
  • Fixed duplicate detection with improved matching algorithms
  • Normalized GUID formats (provider://id → provider:id)

🔧 Technical Implementation

Core Changes

  • New Type System - ExistenceCheckResult interface for standardized responses
  • Service Methods - Added movieExistsByTmdbId() and seriesExistsByTvdbId()
  • Availability Checks - New methods in watchlist workflow for service health
  • Error Handling - Structured responses instead of exceptions

Modified Files

  • Service layer enhancements across Radarr/Sonarr managers and services
  • Watchlist workflow with comprehensive availability checking
  • New service result types for consistent error handling
  • GUID handler utilities with centralized processing

📊 Impact Summary

  • 6 files changed with ~400 lines of availability checking logic

  • Zero breaking changes - fully backward compatible

  • Prevents thousands of failed API calls during outages

  • Accurate reporting of actual successful operations

  • Maintained approval flow regardless of service availability

  • Service Availability Checks, Periodic Reconciliation & GUID Matching Improvements (#428) @jamcalli

  • 📝 Add docstrings to develop (#429) @coderabbitai

  • feat: add service unavailable checks before adding content to prevent approvals (#427) @jamcalli

  • feat: add periodic reconciliation regardless of plex pass status (#425) @jamcalli

  • feat: refactor guid matching and ensure central util usage (#423) @jamcalli

  • fix: added syncwatchlistitems to else clause (#422) @jamcalli

  • fix: disabled rules messing with processQueue (#421) @jamcalli

Docker

docker pull lakker/pulsarr:0.4.17

Contributors

@coderabbitai, @coderabbitai[bot] and @jamcalli

Don't miss a new Pulsarr release

NewReleases is sending notifications on new releases.