github jamcalli/Pulsarr v0.5.11

one day ago

Changes

🚀 New Features

IMDB Ratings Integration System

  • Complete IMDB Ratings Database: Automated daily synchronization with official IMDB datasets from datasets.imdbws.com
  • Advanced Content Router: New IMDB-based routing evaluator supporting sophisticated rating and vote count criteria
  • Compound IMDB Filtering: Support for filtering content based on both rating thresholds and minimum vote requirements
  • Intelligent Rating Evaluation: Comprehensive operator support including equals, greater than, between ranges, and array matching
  • Streaming Data Processing: Efficient parsing of compressed IMDB datasets with retry logic and exponential backoff
  • Background Database Updates: Non-blocking IMDB data population with scheduled daily refreshes at 2:30 AM

Enhanced Content Routing

  • IMDB Router Evaluator: Priority 80 evaluator for routing decisions based on IMDB ratings and vote counts
  • Compound Value Support: Advanced filtering allowing combinations like "rating >= 8.0 AND votes >= 10,000"
  • Range-Based Matching: Support for between operations with configurable min/max thresholds
  • Array Membership Testing: "in" and "notIn" operators for matching against lists of acceptable ratings

Advanced UI Components

  • IMDB Rating Input Component: Specialized input with vote count toggle and validation
  • Compound Value Handling: UI support for complex rating + vote count combinations
  • Range Input Controls: Min/max input pairs for between operations with proper validation
  • Real-time Validation: Form validation for compound IMDB objects and range comparisons

🔧 Technical Implementation

Database Architecture

  • New Table: imdb_ratings: Stores tconst, average_rating, and num_votes with proper indexing
  • Cross-Database Compatibility: Full support for both SQLite and PostgreSQL with optimized chunk sizes
  • Bulk Operations: Efficient insert/replace methods with conflict resolution and transaction management
  • Performance Optimization: Chunked processing (5000 records for PostgreSQL, 100 for SQLite)

Service Layer Expansion

  • ImdbService: Complete service handling ratings lookup, database updates, and statistics
  • Enhanced Streaming Utilities: New streamLines utility with retry logic and Retry-After header support
  • Database Methods: Specialized methods for IMDB operations including bulk replace and statistics
  • Plugin Integration: IMDB plugin with automated scheduling and background processing

API & Schema Updates

  • Enhanced Router Schemas: Extended condition schemas to support compound IMDB values
  • Validation Improvements: Enhanced isNonEmptyValue function for complex object validation
  • Type Safety: Complete TypeScript integration with proper type inference and validation
  • OpenAPI Updates: Regenerated API documentation reflecting new IMDB integration capabilities

🛠️ Critical Bug Fixes

  • Form Validation: Fixed "All conditions must be completely filled out" error when enabling IMDB vote count filtering
  • Delete Sync Validation: Resolved maxDeletionPrevention field validation to properly accept values between 1-100
  • API Timeout Enhancement: Increased Sonarr and Radarr API timeouts from 60 to 120 seconds to prevent failures during bulk operations

🔄 Migration Notes

Database Changes

  • Automatic Migration: New imdb_ratings table created automatically during startup
  • Initial Population: First-time IMDB dataset download and processing (several minutes)
  • Backwards Compatibility: All existing functionality remains unchanged

No user action required for existing installations - all changes are backward compatible.


Full Changelog: v0.5.10...v0.5.11
Docker Image: ghcr.io/jamcalli/pulsarr:v0.5.11
Upgrade Path: Standard update process - database migrations run automatically

  • IMDB Ratings Integration and Advanced Content Routing (#545) @jamcalli
  • feat: update anime and IMDB plugins to populate databases in the back… (#542) @jamcalli
  • Feature/imdb ratings router (#541) @jamcalli

Docker

docker pull lakker/pulsarr:0.5.11

Contributors

@jamcalli

Don't miss a new Pulsarr release

NewReleases is sending notifications on new releases.