github jamcalli/Pulsarr v0.14.0

12 hours ago

🚀 Feature Release - All Season Pilot Rolling, Management UI & Real-Time Sessions

Overview

Replaces Plex polling with a real-time Server-Sent Events (SSE) connection for instant session detection, notification delivery, and label syncing. Adds a bulk management UI for rolling monitored shows and a new "All Season Pilot Rolling" monitoring type.

Key Updates

Real-Time Plex SSE

  • Instant event processing: Playback events and library scan events are received in real time via a persistent SSE connection to your Plex server, with automatic reconnection and heartbeat monitoring
  • Faster rolling monitoring: Session expansion triggers immediately on playback start instead of waiting for the next polling cycle
  • Faster notifications & label syncing: Both Plex mobile notifications and label sync now process immediately on library scan completion
  • Status badge: Live connection indicator in the Plex Integration and Session Monitoring page headers with hover tooltips
  • Graceful fallback: All polling jobs remain as a safety net and automatically skip when SSE is active

All Season Pilot Rolling Monitoring

  • New monitoring type: Monitors the pilot episode (E01) of every season. When a user watches any season's pilot, that full season expands automatically. On inactivity reset, it reverts to pilots only
  • Automatic pilot seeding: A scheduled sync job detects newly added seasons and monitors/searches their E01 automatically
  • Every season visible in Plex: With Pilot or First Season Rolling, users only see S01 in Plex and may not know a show has 5 seasons. All Season Pilot Rolling gives every season an entrypoint so users can browse and watch whatever they want

Rolling Monitoring Management UI

  • Manage Rolling button: New button on the Session Monitoring page opens a searchable, sortable, paginated table of all Sonarr shows with enrollment status badges
  • Bulk operations: Select multiple shows and enroll, change monitoring type, or reset in a single action
  • Multi-instance support: Filter by Sonarr instance when running multiple setups

Trust Proxy & Auth IP Logging (closes #1053)

  • Real client IPs: request.ip now resolves to the actual client IP behind reverse proxies (nginx, Traefik, etc.), improving auth failure logs

Bug Fixes

  • Plex server discovery: Unreachable connections are filtered out via live reachability checks during auto-discovery
  • Connection priority: Non-relay connections now preferred over local relay connections
  • Webhook pilot fast-path: Pilot episodes for rolling shows notify immediately without waiting for the season queue
  • Season expansion race condition: Fixed Sonarr overwriting episode monitoring changes during post-add refresh
  • Progressive cleanup: Rolling show cleanup correctly handles mixed monitor/unmonitor episode batches

Migration & Compatibility

Database migration required - runs automatically on startup. Adds the allSeasonPilotRolling monitoring type and a sonarr_series_id column to the junction table (backfills incrementally).

Docker users

docker compose pull && docker compose up -d

Native installer users (Linux/macOS/Windows)

  • Linux: curl -fsSL https://raw.githubusercontent.com/jamcalli/Pulsarr/master/scripts/installers/linux/install.sh | sudo bash
  • Windows: Download the latest installer from Releases
  • macOS: Download the latest .dmg from Releases

Manual installation

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

Full Changelog: v0.13.0...v0.14.0
Docker Images: lakker/pulsarr:0.14.0 | lakker/pulsarr:0.14.0-node

Changes

🚀 Features

  • feat(session-monitoring): all season pilot rolling, management UI & real-time sessions (#1065) @jamcalli
  • feat(rolling): bulk enrollment and monitoring type management (#1064) @jamcalli
  • feat(ui): add Plex SSE connection status badge (#1062) @jamcalli
  • feat(auth): add trustProxy and log client IP on auth failures (#1060) @jamcalli
  • feat(sse): event-driven Plex session monitoring (#1052) @jamcalli
  • feat(rolling-monitor): add allSeasonPilotRolling monitoring option (#1051) @jamcalli

🐛 Bug Fixes

  • fix(plex): filter unreachable connections during server discovery (#1056) @jamcalli

🔄 Dependencies

Docker

docker pull lakker/pulsarr:0.14.0

Synology NAS / Legacy Systems (Linux kernel < 4.11):

docker pull lakker/pulsarr:0.14.0-node

Contributors

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

Don't miss a new Pulsarr release

NewReleases is sending notifications on new releases.