Pulsarr 1.0 is a milestone release. The interface has received a complete facelift, with every page redesigned and a new guided onboarding flow that walks first-time users through connecting Plex, Sonarr and Radarr. These changes address the most common feedback from the community, which was that the UI and configuration were confusing to navigate. Logging has also been refined, so info-level output now records each action as a single readable line.
No breaking changes.
Changes
🚀 Features
- feat(client): rebuild the web UI (#1536) @jamcalli
- feat(docs): rebuild the docs site on Fumadocs and rewrite the README for it (#1542, #1544) @jamcalli
- feat(notifications): add channel tests and rebuild delivery pipeline (#1495) @jamcalli
- feat(plex): negotiate the best owned server connection and probe access (#1488) @jamcalli
- feat(watchlist-exclusions): add a paged item list and bulk endpoints (#1500) @jamcalli
- feat(tmdb): show digital and physical release dates from Radarr (#1546) @jamcalli
- feat(watchlist): refuse manual syncs while the workflow is starting (#1490) @jamcalli
🐛 Bug Fixes
- fix(client): align route tags, synced instances, user tags and Discord hints with behaviour, point help links at the new docs paths, and size poster and QR skeletons by aspect ratio for Safari (#1543, #1545, #1547) @jamcalli
- fix(router): highest priority rule decides approval and quota bypass (#1476) @jamcalli
- fix(session-monitor): fix missed rolling expansions and clean up the service (#1511) @jamcalli
- fix(status): ignore Arr import-list exclusions when syncing statuses (#1539) @RamazanKara
- fix(watchlist): match show type case-insensitively when resolving posters (#1541) @storybored379
🧰 Maintenance
- refactor(logging): log one line per routing outcome and move per-item and boot narration to debug (#1548, #1553) @jamcalli
- refactor(stats): rename grabbed-to-notified metric to request-to-ready (#1473) @jamcalli
- fix(ci): mention release roles in Discord posts and fire beta on published (#1530) @jamcalli
🔄 Dependencies
- fix(deps): raise undici override to 6.29.1 for CVE-2026-109869 (#1538) @jamcalli
- chore(deps): update dependency happy-dom to v21 [security] (#1537) @renovate[bot]
- chore(deps): update bun to v1.4.4 (#1527, #1528, #1529) @renovate[bot]
- chore(deps): update node.js to v24.22.1 (#1519) @renovate[bot]
- chore(deps): update dependency jsdom to v30 (#1554) @renovate[bot]
- chore(deps): update dependency cn to ^0.5.0 (#1552) @renovate[bot]
- chore(deps): lock file maintenance (#1465) @renovate[bot]
- chore(deps): update github actions (#1504, #1550) @renovate[bot]
- chore(deps): update docker/login-action digest to 81c6f93 (#1549) @renovate[bot]
Docker
docker pull lakker/pulsarr:1.0.0
Synology NAS / Legacy Systems (Linux kernel < 4.11):
docker pull lakker/pulsarr:1.0.0-node