github jamcalli/Pulsarr v0.13.0

one day ago

Changes

🚀 Feature Release - Watchlist Caps & Performance

Overview

Adds watchlist cap limits that restrict total items per user independent of periodic quotas, with full notification support across all channels.

Key Updates

Watchlist Caps (closes #1006)

  • Per-user item caps: Limit how many movies or shows a user can have on their watchlist at any time, enforced at both routing and sync time
  • Full notification support: Discord (webhook + DM), Apprise, and native webhooks via the new quota.cap_reached event
  • Quota removal UX: Confirmation dialog shows held request counts with an option to auto-approve them
  • New user defaults & bulk edit: Configure default caps for new users and apply caps across multiple users at once

Performance & Infrastructure

  • Background animations: Converted to HTML5 Canvas with 20fps throttle, reducing CPU/GPU overhead significantly
  • Docker: Added tini as PID 1 for proper zombie reaping and signal forwarding

Bug Fixes

  • Orphaned approval cleanup: Delete sync cleans up approved records whose content no longer exists in Radarr/Sonarr
  • Bulk tagging: Fixed concurrency limits and switched to add/remove mode instead of replace

Migration & Compatibility

Database migration required - runs automatically on startup. Adds watchlist_cap column to user_quotas and watchlist cap default/notification config fields to configs. Existing quotas are unaffected - caps default to null (disabled).

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.12.2...v0.13.0
Docker Images: lakker/pulsarr:0.13.0 | lakker/pulsarr:0.13.0-node

🚀 Features

  • feat(watchlist-caps): add watchlist cap limits with notifications and performance improvements (#1043) @jamcalli
  • feat(watchlist-caps): add watchlist cap system with notifications (#1039) @jamcalli
  • refactor(quota): add initial quota cap infrastructure and UI consolidation (#1020) @jamcalli

🐛 Bug Fixes

  • fix(services): limit bulk tag concurrency and deduplicate SSE cleanup (#1033) @jamcalli
  • fix(user-tags): use add/remove mode instead of replace for bulk tagging (#1032) @jamcalli
  • fix(quota): fix quota bypass, approval cleanup, and deletion confirmation (#1031) @jamcalli
  • fix(docker): add tini for proper PID 1 zombie reaping (#1022) @jamcalli

🧰 Maintenance

⚡ Performance

🔄 Dependencies

Docker

docker pull lakker/pulsarr:0.13.0

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

docker pull lakker/pulsarr:0.13.0-node

Contributors

@jamcalli, @renovate[bot] and renovate[bot]

Don't miss a new Pulsarr release

NewReleases is sending notifications on new releases.