github jamcalli/Pulsarr v0.8.3

3 hours ago

Changes

🚀 Feature Release - Native Webhooks

Overview

Adds native webhook support for integrating Pulsarr with external automation systems like Home Assistant, n8n, or custom services (closes #341). Configure endpoints through the UI and receive typed JSON payloads for 8 different event types.

Key Updates

Native Webhooks

  • 8 event types: media.available, watchlist.added, watchlist.removed, approval.created, approval.resolved, approval.auto, delete_sync.completed, user.created
  • Rich payloads: Each event includes relevant context - media details, routing decisions, user info, GUIDs
  • Custom auth headers: Support for Authorization headers (Bearer tokens, API keys)
  • Per-endpoint event filtering: Subscribe each endpoint to only the events it needs
  • Connection testing: Verify endpoints before saving with inline test buttons
  • Concurrency limits: Webhooks dispatch with rate limiting to avoid overwhelming targets

Webhook Management UI

  • New "Webhooks" section in Settings → Notifications
  • Create, edit, delete, and toggle endpoints
  • Test existing endpoints directly from the card
  • View which events each endpoint subscribes to

Typed Payloads

  • Full Zod schemas for all webhook payloads
  • OpenAPI documentation for payload structures
  • Consistent envelope format: { event, timestamp, data }
  • Routing details included where applicable (instance, quality profile, root folder, tags)

Breaking Changes

  • Node.js 24.12.0 required: Upgraded from Node.js 24.11.1 (patch update)
  • Docker users: No action needed, image includes correct version
  • Manual installations: Update Node.js before upgrading Pulsarr

Manual installation upgrade:

node --version  # Should show 24.x.x
nvm install 24 && nvm use 24
# Then update Pulsarr normally

Technical Changes

  • New /v1/webhooks/endpoints CRUD API
  • Webhook dispatch integrated into notification orchestration
  • sent_to_native_webhook tracking in notification records
  • Shared enrichment data computed once, used across all channels

Migration & Compatibility

Docker users - No action required, pull latest image

Manual installation users - Must be on Node.js 24.x before updating:

node --version  # Verify you're on Node.js 24.x
# If not, install Node.js 24:
nvm install 24 && nvm use 24
# Then update Pulsarr normally
git pull origin master
npm install
npm run migrate
npm run build
npm run start:prod

Database migrations (automatic on startup):

  • 071: Drops deprecated sent_to_webhook column, triggered_by_user_ids column, and unused watchlist triggers
  • 072: Adds webhook_endpoints table for storing endpoint configurations
  • 073: Cleans up orphaned public notifications
  • 074: Adds new notification type enum values

Full Changelog: v0.8.2...v0.8.3
Docker Image: lakker/pulsarr:0.8.3

🔄 Dependencies

Docker

docker pull lakker/pulsarr:0.8.3

Contributors

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

Don't miss a new Pulsarr release

NewReleases is sending notifications on new releases.