Skip to content

Release history

Maintainerr releases

Looks and smells like Seerr, does the opposite. A library maintenance tool for Plex and Jellyfin.

All releases

23 shown

Review required
v3.13.0 Breaking risk
Breaking upgrade Dependencies

Global/per‑group exclusions + OR rules

Review required
v3.12.1 Breaking risk
Breaking upgrade Dependencies

Concurrency rename + limit + failure tracking

Upgrade now
v3.12.0 Breaking risk
Dependencies

Emby support + Streamystats + Emby fixes

No immediate action
v3.11.2 Bug fix

Sonarr show deletion fix

Upgrade now
v3.11.1 Breaking risk
Dependencies

Jellyfin collection loop fix

v3.11.0 Breaking risk
Breaking changes
  • Overlay reset operations are now gated against concurrent processing runs (#2827).
Notable features
  • Force-processing support for overlay operations
  • Enhanced storage metrics with separate panels for reclaimable space by movies, shows, seasons, and episodes
Full changelog

Highlights

  • Added support for force-processing overlays and gated reset operations against concurrent processing runs (#2827).
  • Improved collection sorting: collections now apply sort order at save time and synchronize with the media server (#2860, #2868).
  • Enhanced storage metrics with detailed breakdowns for potential reclaimable space by movies, shows, seasons, and episodes (#2854).

Breaking Changes

  • Overlay reset operations are now gated against concurrent processing runs (#2827).

Features

  • Added force-processing support for overlay operations (#2827).
  • Enhanced storage metrics with separate panels for potential reclaimable space by movies, shows, seasons, and episodes (#2854).

Fixes

  • Fixed collection sorting to apply on save and synchronize with the media server (#2860, #2868).
  • Resolved issue where excluding a single episode incorrectly excluded all episodes of the same show (#2867).
  • Fixed storage metrics to merge shared volumes across hosts when byte-exact (#2852).
  • Corrected Jellyfin retry ID check to align with pre-filter logic (#2853).
  • Fixed issue where reclaimed bytes were not credited when sizeBytes was not yet cached (#2855).

Database migrations

  • Added a new mediaServerSort column to the collection table to store media server sort order.

Internal

  • Added typed TanStack Query test helpers and migrated UI spec mocks to use typed builders (#2863).
  • Added an architecture overview document detailing the monorepo structure, core components, and deployment guidelines (#2817).

Dependencies

  • Updated 5 dependencies, including notable updates to TypeScript and typescript-eslint.
v3.10.2 Bug fix
Notable features
  • Deduplicated reclaimable bytes and added per‑type cleanup byte counters in storage metrics
Full changelog

Highlights

  • Fixed version comparison logic to correctly detect updates for multi-digit version segments (#2838).
  • Improved storage metrics by deduplicating reclaimable bytes and adding per-type cleanup byte counters (#2833).

Fixes

  • Suppressed re-addition of items to collections after handler actions, preventing redundant notifications (#2837).
  • Corrected version comparison for multi-digit segments to ensure update detection (#2838).
  • Deduplicated reclaimable bytes in storage metrics and excluded collections without delete rules; added per-type cleanup byte counters (#2833).

Database migrations

  • Added a sizeBytes column to the collection_media table to track media size.

Dependencies

  • Updated 8 dependencies, including react-router-dom, postcss, and axios.
v3.10.1 Bug fix

Fixed EPIPE crash stabilizing canvas preview SSE streams.

Full changelog

Fixes

  • Fix EPIPE crash and stabilize canvas previews by hardening SSE stream client to handle late EPIPE errors gracefully (#2832).

Dependencies

  • Updated 6 dependencies, including notable packages: axios, @tanstack/react-query, and zod.
v3.10.0 Bug fix
Notable features
  • Compact image picker in overlay Properties panel for direct UI uploads
  • Cumulative cleanup totals section on Storage Metrics page
Full changelog

Highlights

  • Added a compact image picker in the overlay Properties panel, allowing users to upload images for overlay Image elements directly from the UI (#2814).
  • Fixed overlay template selection reverting to "Default" after saving a rule group by ensuring templates are loaded before applying changes (#2815).
  • Scaled overlay shape strokes in previews and renders to ensure consistent appearance between the editor and server output (#2803).

Features

  • Added a cumulative cleanup totals section to the Storage Metrics page, displaying aggregated counts of items, movies, and episodes handled across all collections (#2804).
  • Introduced the ability to upload images for overlay Image elements directly from the UI (#2814).

Fixes

  • Tightened upload filename guards and improved error handling for missing directories in overlay image and font uploads.
  • Replaced Intl.ListFormat with a custom helper to fix type-checking issues in the UI.
  • Fixed overlay template selection reverting to "Default" after saving a rule group (#2815).
  • Hardened server logging against stdio EPIPE errors to prevent crashes (#2812).
  • Guarded collection template mode in overlays.

Internal

  • Updated repository instructions to consolidate agent and Copilot guidance into a single AGENTS.md file (#2813).
  • Added new contributors to the changelog (#2806).

Dependencies

  • Updated 3 dependencies, including rolldown, @tanstack/eslint-plugin-query, and knip.
v3.9.0 Security relevant
Security fixes
  • Block path traversal in log file download endpoint
Notable features
  • Custom collection poster support with upload, fetch, and clear endpoints for Plex and Jellyfin
  • Cache Jellyfin collections and children to reduce redundant queries during rule execution
  • Add ntfy.sh as supported notification service
Full changelog

Highlights

  • Fix: Block path traversal in log file download endpoint to prevent unauthorized file access.
  • Feat: Add custom collection poster support, including upload, fetch, and clear endpoints, with integration for Plex and Jellyfin.
  • Fix: Unstick rules-collections lock to resolve "Collection handling is already running" errors and improve rule execution reliability.

Features

  • Cache Jellyfin collections and their children to reduce redundant queries during rule execution (#2800).
  • Add ntfy.sh as a supported notification service (#2769).
  • Replace Fider cc:user comment prefix with Discord notifications.

Fixes

  • Block path traversal in log file download endpoint.
  • Unstick rules-collections lock and clarify sw_watchers labels across media servers (#2801).
  • Fix overlay SSE EPIPE handling to prevent server crashes during transient failures (#2781).
  • Fix UI TypeScript configuration and resolve hidden type errors (#2776).
  • Fix overlays preset editing, cron discoverability, and tab gating (#2775).
  • Bound Plex request timeout and propagate watch-history errors (#2773).
  • Dedupe sibling-rule media events within a batch to reduce redundant notifications.
  • Stop cross-rule contamination for same-titled automatic collections (#2766).
  • Fix Fider stale-sweep to create the 'stale' tag on first run.

Performance

  • Harden rule-executor job management and SSE listener handling to prevent lock leaks (#2801).

Internal

  • Add automated Fider triage, invitation, re-evaluation, and stale workflows.
  • Tighten Fider triage script and improve handling of pre-existing matches.
  • Add "Behavioral fixes worth reviewing" section to docs-drift CI.
  • Restore version header and add "New Contributors" section to release notes.

Dependencies

  • Updated 10 dependencies, including typescript-eslint, react-hook-form, and nodemailer.
v3.8.0 Breaking risk
Breaking changes
  • Removed event-driven overlay processing for collections and rules
Notable features
  • Storage Metrics dashboard
  • Overlay templates system
  • Calendar page
Full changelog

Highlights

  • Added a new Storage Metrics dashboard for aggregating disk usage from Radarr/Sonarr root folders, deduplicating mounts, and surfacing reclaimable space. Includes accurate per-library size computation for Plex and Jellyfin.
  • Introduced overlay templates and refactored the overlay system to include new entities, services, and controllers. Added an overlay editor, template management features, and a font upload endpoint.
  • Introduced a Calendar page to the UI.
  • Implemented drag-and-drop reordering for rules and sections in the Rule Creator, improving usability and state management.

Breaking Changes

  • Removed event-driven overlay processing for collections and rules. Overlays now run only on the overlay schedule or via explicit actions (#2733).

Features

  • Added drag-and-drop reordering for rules and sections in the Rule Creator.
  • Added collection_siblings_lastViewedAt property to rules for aggregating the newest watched-at timestamp across a movie's collection siblings.

Fixes

  • Fixed DELETE_SHOW_IF_EMPTY in Sonarr to handle Seerr integration properly and added debug logs for cleanup skips (#2763).
  • Fixed useLockBodyScroll behavior to address scrolling issues caused by simultaneous modal closures (#2749).
  • Improved handling of watch history failures in Jellyfin and Plex, ensuring better error distinction and fail-closed behavior (#2744).
  • Fixed multiple issues with overlays, including preserving the isDefault flag, resolving font mismatches, and improving overlay notifications (#2723).
  • Fixed storage metrics to deduplicate same-host instances, improve badge colors, and refine capacity calculations for shared filesystems.
  • Fixed collection item action handling to improve validation, serialization, and UI consistency (#2730).
  • Fixed React hooks warnings by converting effect-driven data fetches to TanStack Query hooks and derived state (#2729).

Performance

  • Optimized storage metrics by deduplicating library sizes and improving error handling for Plex and Jellyfin (#2718).

Database Migrations

  • Added overlay_templates table for managing overlay templates.
  • Added overlay_settings table for storing overlay configuration.
  • Added overlay_item_state table for tracking overlay processing state, with a unique index on collectionId and mediaServerId.

Internal

  • Refactored the overlay system to support Jellyfin and align with the media server interface (#2756).
  • Simplified Rule Creator state management and promoted shared button components.
  • Retired the ACTIONS_TOKEN PAT in favor of GitHub App tokens for CI workflows (#2762).
  • Updated release process to exclude chore commits from release notes and generate notes using GitHub Models (#2740).
  • Added a docs drift report workflow to surface user-facing changes requiring documentation updates (#2745).

Dependencies

  • Updated 40 dependencies, including nodemailer, @typescript-eslint/eslint-plugin, prettier-plugin-tailwindcss, vite, @nestjs/swagger, and @tanstack/react-query.

New Contributors

  • @gssariev made their first contribution in https://github.com/Maintainerr/Maintainerr/pull/2644
  • @nbellowe made their first contribution in https://github.com/Maintainerr/Maintainerr/pull/2721
  • @MrLinford made their first contribution in https://github.com/Maintainerr/Maintainerr/pull/2723
  • @ionred made their first contribution in https://github.com/Maintainerr/Maintainerr/pull/2749
v3.7.0 New feature
Notable features
  • Explicit exists rule operators for filtering rules and collections
Full changelog

3.7.0 (2026-04-14)

Bug Fixes

  • count Sonarr monitored episodes accurately (#2684) (ba56941)
  • scope rule/collection pre-flight to media server only (#2581) (#2683) (3c65f25)
  • use canonical Plex collection item URI (c97a138)

Features

v3.6.0 Breaking risk
Breaking changes
  • Collection membership storage model changed
  • Downgrading to older Maintainerr versions is not supported; rolling back may lose collection membership details for items with both rule and manual inclusion
Notable features
  • Quality profile change action for Radarr and Sonarr
  • Plex connection resilience with auto re-discovery and manual override
v3.4.1 Bug fix

Fixed a bug in servarr that caused issues with identity validation during filtered API lookups.

v3.4.0 Bug fix
⚠ Upgrade required
  • Tautulli configuration is deleted when switching the media server to Jellyfin.
Notable features
  • Added per-provider metadata refresh action
  • Added ID validation and retry path for metadata refresh
  • Added overlay data endpoint for collections
v3.3.0 Bug fix

Fixed collection orphaning and duplicate issues. Resolved Jellyfin batch creation crash. Improved request-line size handling. Enhanced Jellyfin Items API usage. Improved logging with noise reduction and secret sanitization. Fixed UI search debouncing and loader spinners. Optimized routes and dependencies.

v3.1.0 New feature
Notable features
  • Missing episode rules
  • Jellyfin favorites rule property
v3.0.1 Bug fix

Fixed collection notification events to emit only after successful operations. Resolved Seerr addUser returning null.

v3.0.0 Breaking risk
Breaking changes
  • Database migrations not backward compatible
  • Multi-server schema requires fresh migration
Notable features
  • Jellyfin support
  • Multiple media server support
  • Collection size display
v2.26.1 Bug fix

Fixed source maps for production debugging, hidden test media in non-rule collections, and resolved rule editor crashes

Beta — feedback welcome: [email protected]