Skip to content

feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.29.0 ) - #325

Open
parsec-renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ghcr.io-maintainerr-maintainerr-3.x
Open

parsec-renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ghcr.io-maintainerr-maintainerr-3.x

Conversation

@parsec-renovate

@parsec-renovate parsec-renovate Bot commented May 14, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Update Change
ghcr.io/maintainerr/maintainerr minor 3.11.13.29.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

Maintainerr/Maintainerr (ghcr.io/maintainerr/maintainerr)

v3.29.0

Compare Source

Highlights

  • Trigger a targeted media server folder rescan immediately after an *arr delete to ensure items are removed from libraries without waiting for a full scan (#​3720).
  • Optimize collection size calculations to perform one sweep per collection instead of one per removed item, preventing media server flooding (#​3718).

Dependencies

v3.28.0

Compare Source

Highlights

  • Add support for Transmission as a download client for job cleanup (#​3693).
  • Correct the seeding time unit comparison for qBittorrent and ensure unlimited downloads seed for at least 23 hours (#​3692).

Features

  • Add Podman Quadlet example to the README (#​3694).

Fixes

  • Read no download client as null instead of defaulting to qBittorrent (#​3714).
  • Clear the download client URL when the client type changes.
  • Honour forced request removal for delete-show-if-empty actions (#​3691).

Database migrations

  • Added download_client_type column to the settings table.
  • Updated the download_client_type column to allow null values.

Dependencies

  • Bumped 25 dependencies including typescript-eslint, typeorm, and vitest.

New Contributors

v3.27.0

Compare Source

Highlights

  • Resolved an issue where items were incorrectly marked as manual in collections, preventing rule-based removal (#​3636).
  • Added new watcher list rules for Plex, Jellyfin, and Emby to filter by users who watched media since it was added (#​3532).

Fixes

  • Read the Sonarr episode list fresh before unmonitoring or deleting files (#​3676).
  • Increase HTTP timeouts to prevent premature deletion failures during large media server operations (#​3674, #​3673).
  • Improve UI error reporting for bulk actions to provide specific failure reasons (#​3643).
  • Drop rule-removal markers when a collection stops syncing (#​3644).
  • Correctly identify custom collections as siblings when guarding adoption (#​3641).
  • Clear cached collection children after a Plex collection mutation (#​3640).
  • Treat an unset deletion window as never instead of immediately (#​3639).
  • Report additions that failed due to missing media server collections (#​3638).
  • Prevent stale-link resync from incorrectly marking manual collection members as manual (#​3637).
  • Prevent calendar month skipping when navigating dates (#​3635).

Database migrations

  • Added a direction column to the collection_media_rule_removal table to track pending removal actions.

Internal

  • Refactor bulk outcome reporting to use the outcome object directly (#​3654).
  • Refactor rule capability checks to query server capabilities instead of server type (#​3642).
  • Transpile NestJS packages to support ESM under Jest (#​3628).

Dependencies

  • Updated 34 dependencies including NestJS, Jest, and various ESLint plugins.

v3.26.0

Compare Source

Highlights

  • Add Sportarr metadata provider for league artwork and descriptions (#​3606).
  • Add season view date rules for Plex, Jellyfin, and Emby (#​3531).

Features

  • Read native Sportarr IDs stamped by media server agents (#​3604).

Fixes

  • Fix Fider users endpoint pagination (#​3623).
  • Fix metadata provider ID parsing for non-numeric values (#​3620).
  • Fix settings repository reads to properly await database operations (#​3614).
  • Fix HTTP rate limiting and retry policy to respect declared wait times (#​3613).
  • Fix Sportarr metadata availability, refresh behavior, and UI display (#​3606).
  • Fix telemetry prompt to respect existing environment configuration (#​3608).

Internal

  • Document Playwright evidence expectations and outbound HTTP rules (#​3612, #​3613).
  • Document Podman devbox confinement (#​3531).
  • Update Sportarr ID helpers and metadata hub specifications (#​3604, #​3606).
  • Refactor UI refresh logic (#​3606).

Dependencies

New Contributors

v3.25.0

Compare Source

Highlights

  • Added anonymous weekly telemetry to help development track usage (#​3582).
  • Added a per-collection option to keep collections local to Maintainerr without syncing to the media server (#​3579).

Features

  • Added telemetry schedule visibility and support for the TELEMETRY=off environment variable (#​3592).

Fixes

  • Improved modal and dialog layout, including consistent close controls and improved responsiveness (#​3595, #​3600).
  • Fixed telemetry consent prompt to only appear for existing installs (#​3599).
  • Fixed Monaco editor loading by serving it locally and compressing assets (#​3592).
  • Removed telemetry information from the About page (#​3592).
  • Fixed collection teardown logic to prevent accidental deletion of shared collections when settings change (#​3579, #​3583).
  • Fixed *arr exclusion tag application when multiple instances are configured (#​3578).

Database migrations

  • Added keepInMaintainerrOnly column to the collection table.
  • Added telemetryEnabled column to the settings table.

Internal

  • Updated CI to allow the release PR to carry Weblate translations.

Dependencies

  • Updated 8 dependencies including react-hook-form, vite, and vitest.

v3.24.0

Compare Source

Highlights

  • Make the remaining UI strings translatable to support full localization (#​3510).
  • Automatically label issues and pull requests by media server to improve triage (#​3562).

Features

  • Report upstream API endpoint drift to detect breaking changes early (#​3541).
  • Link untranslated text hints to the Weblate engagement page (#​3560).

Fixes

  • Overlays: queue reverts behind runs, guard countdown math (#​3558), and ensure reset removes all drawn elements (#​3557).
  • Overlays: propagate episode countdowns to series when Plex hides seasons (#​3534) and map templates to visible artwork regions (#​3533).
  • Prevent collections from being incorrectly matched as movies (#​3550).
  • CI: gate labels on precision checks (#​3567), honour pinned servers on BoxSet reports, and drop unused AI_MODEL_ENDPOINT passthrough (#​3566).
  • UI: fix layout viewport overflow, clipped panel labels, and sort order (#​3560).
  • UI: remove BETA wording from the About page (#​3553).
  • i18n: give layer-visibility toggle unique Show/Hide strings (#​3554).
  • i18n: reject translations that change ICU argument structures (#​3548) or fail to compile (#​3546).
  • i18n: decode catalogs using pofile-ts to ensure validator matches runtime (#​3510).
  • CI: fix review job crashes by installing pofile-ts dependencies (#​3547).
  • UI: restore reachable loading states and fix event stream handling (#​3510).

Internal

  • Document Jellyfin 12 changes and collection collapsing safety (#​3572, #​3573).
  • Add translation status badge to README (#​3572).
  • Refactor i18n parsers, apply formatting, and harden review tooling (#​3510).
  • Fix release sync issues and judge checks by newest runs (#​3541).

Dependencies

v3.23.0

Compare Source

Highlights

  • Add lastPlayedAt rule for Plex, Tautulli, Tracearr, Streamystats, Jellyfin, and Emby (#​3505, #​3508).
  • Implement UI translation pipeline using Lingui and add initial translated strings (#​3486, #​3488).
  • Enable overlay countdowns on media items that leave the library alongside collection members (#​3471).

Features

  • Include media type, title, and provider IDs in webhook media item payloads (#​3464).

Fixes

  • Restrict overlay countdowns to only appear on media that the rule is configured to delete (#​3514, #​3515).
  • Batch collection removal notifications to prevent webhook rate limiting (#​3500, #​3506).
  • Ensure Fider bot re-checks post status before writing to prevent updates on closed requests (#​3499).
  • Improve calendar display by correctly naming seasons scheduled for removal (#​3472).
  • Clarify overlay template modes in the UI to distinguish between poster and title card templates (#​3475).
  • Rescue missing Swedish translation strings and improve catalog validation (#​3490, #​3491).

Performance

  • Optimize Test Media runs by preventing redundant Tracearr history re-reads (#​3483).

Internal

Dependencies

  • Update 25 dependencies including rolldown, turbo, and vite.

New Contributors

v3.22.1

Compare Source

Fixes
  • fix: add search results to a collection, and exclude globally from a collection page (#​3453)
  • fix(collections): size a collection in one read, not a request per item (#​3449) (#​3451)
  • fix(tracearr): keep watcher rules working and re-check a stale server binding (#​3450)
  • fix(ui): keep the glass panels blurred in the production build
  • fix(tracearr): bind to the Tracearr server that tracks the managed media server (#​3446)
  • fix(ui): drop the Tracearr-only unconfigured warning
Performance
  • perf(maintenance): clear the daily sweeps with one read, not one per row (#​3452)
Other
  • test(ui): catch a vendor prefix written after its standard property
Dependencies
  • 1 dependency update (dompurify)

v3.22.0

Compare Source

Database migrations
  • 1785714034481-AddTracearrSettings.ts
Features
  • feat(ui): keep the media actions reachable while the grid scrolls (#​3443)
  • feat(collections): studio sorting for Plex, and manual/excluded sorts on collection media (#​3430)
  • feat(media-server): read metadata for many items in one request (#​3432)
  • feat(rules): scope watch statistics to one user (#​3426)
  • feat: bulk media actions from one shared modal (#​3411)
  • feat(notifications): notify when a Maintainerr update is available (#​3414)
  • feat: add studio rules, sorting, and bulk exclusions (#​3393)
  • feat(rules): add Tracearr watch history application (#​3387)
Fixes
  • fix(download-client): keep the qBittorrent session on 5.2+ (#​3437) (#​3438)
  • fix: address release-review findings across rules, collections and integrations (#​3436)
  • fix(collections): read collection media parents in one request (#​3435)
  • fix(seerr): keep the other seasons' requests when one has none (#​3433)
  • fix(collections): keep the enrichment reads under SQLite's parameter cap (#​3431)
  • fix(plex): read collection children ids from the listing, not per child (#​3429)
  • fix(seerr): only report a removal or a sync that actually happened (#​3428)
  • fix(settings): normalise trailing slashes off service URLs instead of rejecting them (#​3422)
  • fix: reject the identifiers that turn a single delete into a bulk one (#​3420)
  • fix(rules): scope Sonarr season rules to the season being evaluated (#​3419)
  • fix(seerr): key the forced media removal on the collection type (#​3418)
  • fix(sonarr): require a season number before any season-scoped action (#​3417)
  • fix(emby): user-scope the item reads that decide a collection's fate (#​3413)
  • fix: harden the appliance against cross-origin reads, unvalidated settings bodies, HTML in email and world-writable code (#​3407)
  • fix(rules): say which integration a stalled rule group is waiting on (#​3402)
  • fix(rules): keep items that cannot be looked up out of NOT_EXISTS matches (#​3406)
  • fix(rules): keep Plex watchlist rules working when a user's watchlist is private (#​3400)
  • fix(rules): stop a failed arr disk space read counting as a real figure (#​3401)
  • fix(rules): stop shows without a league alias pinning Sportarr rules forever (#​3405)
  • fix(rules): stop items with no external IDs pinning arr and Seerr rules forever (#​3403)
Refactors
  • refactor(rules): name the rule group DTO for what it holds (#​3425)
Other
  • docs(release-review): audit the dependency tree before tagging
  • test(jellyfin): cover the batch metadata read, with a date the clock cannot move
  • test(emby): stop the metadata parity test racing the clock (#​3434)
  • test(ui): unmount rendered components after every test in one place (#​3409)
Dependencies

v3.21.1

Compare Source

Fixes
  • fix(rules): answer a status code when a rule group cannot be saved, and drop the add modal's fetch effects (#​3385)
  • fix(collections): report manual add failures, and the defects that cause them (#​3383)
  • fix(collections): add a whole show to a season or episode collection (#​3381) (#​3382)
Dependencies
  • 2 dependency updates (js-yaml, brace-expansion)

v3.21.0

Compare Source

Database migrations
  • 1785498159951-AddCollectionLeftoverCleanup.ts
Features
  • feat(actions): clean up dangling symlinks left by a per-file *arr delete (#​3377)
  • feat: clean up leftover media folder after a per-file *arr delete (#​3200)
  • feat(metadata): number season and episode posters and resolve their metadata (#​3366)
Fixes
  • fix(actions): keep the leftover-cleanup fences intact on a failed listing (#​3375)
  • fix(actions): stop claiming a media-server delete strands the folder (#​3373)
  • fix: make the delete and prefetch logs report what actually happened (#​3372)
  • fix(actions): report the leftover-cleanup skip for items not tracked in the *arr (#​3371)
  • fix(ui): stop nesting the in-use rule list inside a paragraph
  • fix: add missing space in the take-action-after-days hint
Performance
  • perf(media-server): scope the watch-history prefetch to the library being evaluated (#​3368)
Refactors
  • refactor: drop underscore-prefixed identifiers (#​3367)
Other
  • docs: drop the contributor notes; the code is the reference
  • docs: move contributor notes out of docs/ into .github/notes
  • docs: drop the duplicated collection-poster page for the docs site
  • docs: drop the in-repo leftover-cleanup page for the docs site
  • docs: make the TypeORM migration commands actually runnable

v3.20.1

Compare Source

Highlights

  • Fixed Jellyfin and Emby metadata handling to prevent incorrect rule matches when metadata reads fail (#​3364).
  • Improved performance for Jellyfin and Emby by caching per-item metadata reads, reducing redundant requests (#​3355, #​3363).
  • Resolved issues with Plex collections being duplicated or orphaned, ensuring accurate synchronization (#​3344, #​3353).

Fixes

  • Fixed Jellyfin and Emby metadata handling to fail closed when metadata reads fail, preventing incorrect rule matches (#​3364).
  • Fixed Plex watched-state rules to use native watched state, resolving inaccuracies in rule matching (#​3352).
  • Fixed issues with media server collections being duplicated or orphaned, and resolved errors with manual collections not being recognized (#​3344, #​3353).

Performance

  • Improved Jellyfin performance by serving container favorites from the watch snapshot, reducing redundant requests (#​3356, #​3357).
  • Improved Jellyfin and Emby performance by caching per-item metadata reads, significantly reducing redundant metadata requests (#​3355, #​3363).

Dependencies

New Contributors

v3.20.0

Compare Source

Highlights

  • Added Sportarr as a native application connection, enabling direct integration with its API and introducing a "Has upcoming events" rule property for shows (#​3306, #​3335).
  • Improved Jellyfin watch state resolution, reducing API calls and improving performance for show-level watch properties (#​3337, #​3345, #​3346).

Features

  • Added Sportarr as a native application connection (#​3306).
  • Introduced a "Has upcoming events" rule property for shows in Sportarr (#​3335).

Fixes

  • Linked the Sportarr docs button to its specific section in the settings modal.
  • Ensured the newest entry is displayed in the log viewer (#​3343).
  • Fixed overdue items being deleted despite postponed deletion dates (#​3334).
  • Prevented handler-removed items from being re-adopted as manual collection members (#​3327).
  • Updated postpone logs to display media titles instead of raw IDs (#​3326).

Performance

  • Optimized Jellyfin watch state resolution to reduce API calls for show-level watch properties (#​3337, #​3345, #​3346).

Database migrations

  • Added a new sportarr_settings table for Sportarr configuration.
  • Updated the collection table to include sportarrSettingsId and sportarrQualityProfileId columns.

Internal

  • Minor follow-up fixes and improvements for Sportarr integration (#​3335).

Dependencies

  • Updated 13 dependencies, including notable packages like @types/node, react-router-dom, and better-sqlite3.

New Contributors

v3.19.0

Compare Source

Highlights

  • Added per-item postpone deletion capability for collections, enabling external tools to manage media retention without disabling automatic deletion (#​3289).
  • Fixed transient internet lookup failures that previously emptied collections and reset deletion countdowns (#​3318).
  • Improved rule evaluation performance by memoizing metadata id-resolution across multiple services (#​3287, #​3290).

Features

  • Added per-item postpone deletion capability for collections, including an authenticated API endpoint and admin-UI control (#​3289).

Fixes

  • Prevented transient internet lookup failures from emptying collections and resetting deletion countdowns (#​3318).
  • Stopped re-adopting rule-removed orphans as manual members in collections (#​3298).
  • Removed orphaned @semantic-release/error@^3.0.0 from the lockfile (#​3317).

Performance

  • Memoized metadata id-resolution during rule evaluation to reduce redundant calls across multiple services (#​3287, #​3290).
  • Raised default cache key ceiling to 1200 for improved API response caching during rule sweeps (#​3284, #​3286).

Database migrations

  • Added collection_media_rule_removal table with unique indexing to track rule-based media removal from collections.

Internal

  • Bounded external API response cache key counts to prevent memory exhaustion during bulk rule sweeps (#​3284, #​3286).

Dependencies

  • 27 dependency updates, including major bumps for @semantic-release/git, @typescript-eslint/parser, and @semantic-release/changelog.

v3.18.0

Compare Source

Highlights

  • Fixed Jellyfin season-level watch marks propagating to rule getters, resolving staleness in the watch cache (#​3281).
  • Added Seerr requester names to the "Media About to be Handled" notification (#​3270).
  • Improved Plex watch-history prefetching by showing progress updates during long sweeps (#​3255).

Features

  • Added Seerr requester names to the "Media About to be Handled" notification (#​3270).

Fixes

  • Fixed Jellyfin season-level watch marks propagating to rule getters, resolving staleness in the watch cache (#​3281).
  • Applied the watched threshold in Tautulli sw_lastWatched rule filters (#​3264).
  • Fixed "Media Handled" notifications to display the media title instead of a generic message (#​3263).
  • Improved Plex watch-history prefetching by showing progress updates during long sweeps (#​3255).
  • Fixed collection membership reconciliation to fail closed on collection-children read failures across all media servers (#​3248).
  • Updated Docker container to launch the server directly via node instead of npm run start to avoid unnecessary processes and log noise.

Dependencies

v3.17.1

Compare Source

Fixes

  • Fix Sonarr episode file deletion logic to handle slow or timed-out unmonitor PUT responses, ensuring files are deleted only after confirmation (#​3229).

Dependencies

v3.17.0

Compare Source

Highlights

  • Added new rule properties for Sonarr and Radarr, enabling advanced filtering and scoping capabilities for media management (#​3095, #​3222, #​3223).
  • Fixed server startup issue on older CPUs or minimal VM models by handling sharp library compatibility (#​3184).
  • Improved library reconciliation to handle transient errors and clarified error messaging for unavailable libraries (#​3226).

Features

  • Added seasonFileRank rule property for Sonarr, enabling season-level rolling windows (#​3223).
  • Added movieTitle and movieId rule properties for Radarr, allowing movie-specific scoping (#​3222).
  • Added episodeFileRank rule property for Sonarr with seriesTitle and seriesId scoping (#​3095).

Fixes

  • Hardened library reconciliation against transient errors and clarified error messaging for unavailable libraries (#​3226).
  • Fixed manual "Add to collection" for Jellyfin by supporting hex-GUID context.id (#​3225).
  • Updated rule-builder labels for rank properties to improve clarity and readability (#​3224).
  • Resolved issue where missing libraries were misinterpreted as empty during automatic collection creation (#​3203, #​3211).
  • Addressed server crash during startup on pre-x86-64-v2 CPUs by handling sharp library loading (#​3184).

Performance

  • Improved defense against potential code scanning alert related to untrusted checkout in GitHub Actions (#​3209).

Database migrations

  • Backfilled the operator field in stored rules to ensure explicit values for section and within-section operators, preventing unintended behavior changes.

Internal

  • Documented LOG_LEVEL environment override and health probe endpoints (#​3210).

Dependencies

  • Updated 28 dependencies, including sharp, typescript-eslint, eslint, and prettier.

New Contributors

v3.16.0

Compare Source

Highlights

  • Sonarr/Radarr tags can now be written from Maintainerr collections and exclusions (#​3162).
  • Fixed Seerr rule evaluation for large libraries by implementing bulk-prefetching (#​3170).
  • Resolved issue where Sonarr season array corruption caused incorrect part_of_latest_season rule results (#​3169).

Features

  • Added functionality to write Sonarr/Radarr tags based on Maintainerr collections and exclusions (#​3162).

Fixes

  • Increased Sonarr/Radarr ID lookup timeout to 20 seconds for slow servers (#​3181).
  • Fixed Seerr rule evaluation by bulk-prefetching requests to avoid rate-limiting and degraded matches (#​3170).
  • Prevented mutation of shared Sonarr season arrays, resolving incorrect part_of_latest_season rule results (#​3169).
  • Fixed collection log cleaning to avoid TypeORM errors on undefined ruleGroup (#​3168).

Database migrations

  • Added tagInArr column to the collection table to support Sonarr/Radarr tagging.

Dependencies

  • Updated 24 dependencies, including notable packages: TypeScript, Prettier, Vite, and React Query.

v3.15.3

Compare Source

Highlights

  • Improved Plex rule evaluation performance by prefetching watch history in bulk, reducing API calls and enhancing efficiency (#​3082).
  • Standardized UI action buttons with consistent corner radii, text styles, and theme colors (#​3143, #​3144).

Fixes

  • Log benign SSE client disconnects without a stack trace to reduce log noise (#​3145).
  • Initialize the active media server adapter immediately after a switch to prevent false connection-test failures.
  • Dropped BETA tag from notifications and marked download client as BETA.
  • Fixed ExecuteButton corner radius to align with the shared Button component (#​3144).
  • Standardized action buttons on the shared Button component and ensured consistent theme colors (#​3143).
  • Explicitly installed corepack in the dev container for compatibility with Node 26+ (#​3141).

Performance

  • Optimized Plex rule evaluation by prefetching watch history in bulk, reducing redundant API calls (#​3082).

Internal

  • Updated documentation for the development environment, including devbox workflows and agent confinement models.
  • Fixed stale workspace path in agent documentation (/home/maintainerr-dev -> /workspace).

Dependencies

  • Updated 1 dependency: explicitly installed corepack for Node 26+ compatibility.

v3.15.2

Compare Source

Highlights

  • Fixed transient failure handling for Sonarr and Radarr lookups, preventing data loss during rule evaluations under heavy load (#​3125, #​3128, #​3139).
  • Resolved issues with Jellyfin/Emby automatic collections, ensuring proper handling of empty collections and preventing resurrection of deleted media-server links (#​3129, #​3134, #​3135, #​3137).
  • Improved Streamystats watchlist handling by inheriting parent show information for season/episode-level rules, preventing unintended deletions or unmonitoring (#​3127, #​3133).

Fixes

  • Fixed transient failure handling for Sonarr and Radarr lookups, ensuring fail-closed behavior to prevent data loss during rule evaluations under heavy load (#​3125, #​3128, #​3139).
  • Resolved issues with Jellyfin/Emby automatic collections:
    • Fixed empty collections not healing properly for Jellyfin/Emby servers (#​3129, #​3134).
    • Prevented resurrection of deleted media-server links when handling empty collections (#​3135).
    • Removed redundant empty-collection delete logic for Jellyfin/Emby, retaining only the repopulation path (#​3137).
  • Improved Streamystats watchlist handling by inheriting parent show information for season/episode-level rules, preventing unintended deletions or unmonitoring (#​3127, #​3133).

Dependencies

v3.15.1

Compare Source

Highlights

  • Fixed Plex sw_lastWatched getter to correctly return null for shows never watched, resolving a TypeError when accessing empty watch history (#​3102).
  • Fixed Emby collection creation to include an initial item, avoiding HTTP 500 errors for empty collections (#​3097).
  • Fixed Radarr import-list exclusions to correctly handle "already excluded" HTTP 400 responses as success (#​3096, #​3099).

Fixes

  • Fixed Plex sw_lastWatched getter to correctly return null for shows never watched, resolving a TypeError when accessing empty watch history (#​3102).
  • Fixed Emby collection creation to include an initial item, avoiding HTTP 500 errors for empty collections (#​3097).
  • Fixed Emby collection creation to skip remote creation for empty collections, preventing HTTP 500 errors (#​3098).
  • Fixed Radarr import-list exclusions to correctly handle "already excluded" HTTP 400 responses as success (#​3096, #​3099).
  • Fixed Radarr exclusion handling to avoid misreporting non-duplicate validation errors as success (#​3099).
  • Fixed Plex collections to self-heal when stale/corrupt records reject every item add (#​3094).
  • Fixed metadata resolution for movie/show IDs to correctly resolve from the item itself instead of its parent (#​3100).

Performance

  • Increased timeout for OverlayRenderService render tests to avoid CI flakiness during sharp-based image processing (#​3101).

Internal

  • Updated README feature wording.

Dependencies

v3.15.0

Compare Source

Highlights

  • Added functionality to delete items from the download client and manage collection membership within the media server.
  • Optional integration for qBittorrent to remove completed downloads when Radarr/Sonarr deletes media (#​3054).
  • Plex connection fixes: updated server discovery to use v2 API and improved connection probe reliability (#​3063).

Features

  • Added item deletion and collection management features in the media server.
  • Optional download-client integration for qBittorrent to clean up completed downloads when Radarr/Sonarr removes media (#​3054).

Fixes

  • Fixed Plex connection probe to use /identity endpoint and updated server discovery to use v2 API resources (#​3063).
  • Resolved overlay rendering issues with uniform style scaling, rotation anchoring, and improved font register logging (#​3057).
  • Improved metadata handling to retain media-server IDs unless corroborated by provider data, with additional checks for year agreement (#​3011).

Database migrations

  • Added new columns to the settings table for download client configuration, including URL, credentials, and deletion settings.

Internal

  • Removed unused Plex API helpers: getWatchlist and getDiscoverDataUserState (#​3064).

Dependencies

  • Updated 8 dependencies, including typescript-eslint, @types/node, and react-hook-form.

v3.14.0

Compare Source

Highlights

  • Added /api/health endpoints with liveness and readiness checks for monitoring and integration with tools like Kubernetes and Docker Compose (#​3029).
  • Collection handler now skips media currently being streamed to avoid disrupting active viewers (#​3027).
  • Fixed issue where saving log settings would overwrite an active LOG_LEVEL environment variable override (#​3053).

Features

  • Added /api/health e

Important

✂ PR body was truncated to here.


Configuration

📅 Schedule: (in timezone America/New_York)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@github-actions

github-actions Bot commented May 14, 2026

Copy link
Copy Markdown
--- kubernetes/apps/media/maintainerr/app Kustomization: flux-system/maintainerr HelmRelease: media/maintainerr

+++ kubernetes/apps/media/maintainerr/app Kustomization: flux-system/maintainerr HelmRelease: media/maintainerr

@@ -17,13 +17,13 @@

     controllers:
       maintainerr:
         containers:
           app:
             image:
               repository: ghcr.io/maintainerr/maintainerr
-              tag: 3.11.1@sha256:11fa7153bb4100b92f0b14509dbbd8921097fc6afd0ed7a5babf41a76c78bad4
+              tag: 3.29.0@sha256:7487d374290e59add65407ec295629e489f9057dbf18e2a9dff70d6201ffb6f9
             probes:
               liveness:
                 enabled: true
               readiness:
                 enabled: true
               startup:

@github-actions

github-actions Bot commented May 14, 2026

Copy link
Copy Markdown
--- HelmRelease: media/maintainerr Deployment: media/maintainerr

+++ HelmRelease: media/maintainerr Deployment: media/maintainerr

@@ -37,13 +37,13 @@

         runAsUser: 2000
       hostIPC: false
       hostNetwork: false
       hostPID: false
       dnsPolicy: ClusterFirst
       containers:
-      - image: ghcr.io/maintainerr/maintainerr:3.11.1@sha256:11fa7153bb4100b92f0b14509dbbd8921097fc6afd0ed7a5babf41a76c78bad4
+      - image: ghcr.io/maintainerr/maintainerr:3.29.0@sha256:7487d374290e59add65407ec295629e489f9057dbf18e2a9dff70d6201ffb6f9
         livenessProbe:
           failureThreshold: 3
           initialDelaySeconds: 0
           periodSeconds: 10
           tcpSocket:
             port: 6246

@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 7821b53 to 7b24dfe Compare May 21, 2026 16:56
@parsec-renovate parsec-renovate Bot changed the title fix(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.11.2 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.12.0 ) May 21, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 7b24dfe to 8c66751 Compare May 23, 2026 22:19
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.12.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.12.1 ) May 23, 2026
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.12.1 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.13.0 ) May 28, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 8c66751 to dfcce2a Compare May 28, 2026 15:10
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from dfcce2a to 742dccd Compare June 5, 2026 23:29
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.13.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.14.0 ) Jun 5, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 742dccd to f8fce7a Compare June 9, 2026 17:42
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.14.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.15.0 ) Jun 9, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from f8fce7a to 7b8c6f7 Compare June 17, 2026 09:40
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.15.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.15.1 ) Jun 17, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 7b8c6f7 to 34a7cb0 Compare June 20, 2026 13:36
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.15.1 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.15.2 ) Jun 20, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 34a7cb0 to c6238dd Compare June 23, 2026 20:45
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.15.2 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.15.3 ) Jun 23, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from c6238dd to f62c3cc Compare June 28, 2026 09:05
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.15.3 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.16.0 ) Jun 28, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from f62c3cc to e146d1f Compare July 5, 2026 03:07
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.16.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.17.0 ) Jul 5, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from e146d1f to 5b00e56 Compare July 8, 2026 18:32
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.17.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.17.1 ) Jul 8, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 5b00e56 to c1cce75 Compare July 18, 2026 16:20
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.17.1 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.18.0 ) Jul 18, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from c1cce75 to e2bc871 Compare July 18, 2026 17:22
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from e2bc871 to caf237a Compare July 27, 2026 07:10
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.18.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.19.0 ) Jul 27, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from caf237a to 77cd0d9 Compare July 29, 2026 23:23
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.19.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.20.0 ) Jul 29, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 77cd0d9 to c0135ba Compare July 30, 2026 18:32
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.20.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.20.1 ) Jul 30, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from c0135ba to f01e831 Compare August 1, 2026 13:32
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.20.1 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.21.0 ) Aug 1, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from f01e831 to a60d0e4 Compare August 2, 2026 01:36
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.21.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.21.1 ) Aug 2, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from a60d0e4 to 1267655 Compare August 7, 2026 17:18
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.21.1 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.22.0 ) Aug 7, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 1267655 to 9cff189 Compare August 9, 2026 20:09
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.22.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.22.1 ) Aug 9, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 9cff189 to 6bebb0b Compare August 17, 2026 21:08
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.22.1 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.23.0 ) Aug 17, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 6bebb0b to 9f59213 Compare August 21, 2026 11:08
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.23.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.24.0 ) Aug 21, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 9f59213 to 7674cd7 Compare August 25, 2026 20:08
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.24.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.25.0 ) Aug 25, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 7674cd7 to d9cfd00 Compare August 30, 2026 14:08
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.25.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.26.0 ) Aug 30, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from d9cfd00 to 42a77b5 Compare September 5, 2026 16:09
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.26.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.27.0 ) Sep 5, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from 42a77b5 to c1145bb Compare September 12, 2026 00:22
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.27.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.28.0 ) Sep 12, 2026
@parsec-renovate
parsec-renovate Bot force-pushed the renovate/ghcr.io-maintainerr-maintainerr-3.x branch from c1145bb to 023c02e Compare September 16, 2026 14:10
@parsec-renovate parsec-renovate Bot changed the title feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.28.0 ) feat(container): update image ghcr.io/maintainerr/maintainerr ( 3.11.1 ➔ 3.29.0 ) Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants