This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| ghcr.io/plexguide/huntarr | minor | `9.1.12` → `9.2.1` |
| [plexguide/huntarr](https://github.com/plexguide/huntarr) | minor | `9.1.12` → `9.2.1` |
---
### Release Notes
<details>
<summary>plexguide/huntarr (plexguide/huntarr)</summary>
### [`v9.2.1`](https://github.com/plexguide/Huntarr.io/releases/tag/9.2.1)
[Compare Source](https://github.com/plexguide/huntarr/compare/9.2.0...9.2.1)
### Patch Notes for 9.2.1
#### macOS app fix
**Issue:** Huntarr could fail to start on Mac — the app opened but the web interface never loaded (connection to 127.0.0.1:9705 failed).
**Cause:** The Mac app runs the server in a background thread for the menu bar. The app was registering shutdown signal handlers from that thread, which macOS only allows from the main thread, so it crashed during startup.
**Fix:** Signal handlers are now registered only when allowed. If the app is running in menu bar mode, it skips that step and logs it instead of crashing. The server starts normally and the menu bar icon and web UI work as expected.
***
#### Carousel arrows (Home & Requestarr)
**Issue:** On the Home and Requestarr discover sections (e.g. “Popular TV Shows”, “Popular Movies”, trending), it wasn’t obvious that the rows scroll sideways. Without a trackpad or touch screen, many users didn’t realize they could scroll.
**Fix:**
- **Right arrow** is always visible when there’s more content to the right, so it’s clear the row can scroll.
- **Left arrow** is hidden at the start. After you scroll right once, it appears and stays visible so you can scroll back.
This applies to all horizontal carousels: Home discover (Trending, Popular Movies, Popular TV) and Requestarr home (same three sections).
<img width="1791" height="808" alt="image" src="https://github.com/user-attachments/assets/32ff3270-97ea-4151-b609-24d01bbc8ba8" />
### [`v9.2.0`](https://github.com/plexguide/Huntarr.io/releases/tag/9.2.0)
[Compare Source](https://github.com/plexguide/huntarr/compare/9.1.12...9.2.0)
### Huntarr v9.2.0: Release Information
#### 1. The Core Architecture Shift: True Instance Independence
**The Change:**
We have fundamentally rewritten the background cycle management. In previous versions, instances were effectively tied to a single processing loop. This meant they didn't fully respect per-instance sleep times and often ran simply because the loop was cycling, or got stuck waiting for other instances.
**How it works now:**
Each App Instance is now scheduled on its own unique interval. The main system loop now only triggers an instance if its specific `next_cycle_time` has arrived. If no instances are due, the system sleeps until the soonest scheduled run.
**Why this matters (The "Big Change"):**
- **True Independence:** Your "4K Radarr" instance and your "Anime Sonarr" instance now run completely separately. One busy instance will no longer hold up the others.
- **Respects Configuration:** If you set an instance to sleep for 60 minutes, it will actually sleep for 60 minutes.
- **Upgrade Note:** When you upgrade, you may notice a change in rhythm. Instances will now execute strictly when *due*, rather than constantly cycling in a loop.
#### 2. Identity & Persistence (Instance IDs)
**The Problem:**
Previously, Huntarr identified instances by their display name. If you renamed an instance (e.g., changing "Sonarr" to "Sonarr 4K"), Huntarr treated it as a brand-new instance. This caused users to lose their processed items list, cycle history, and countdown timers.
**The Solution:**
We have introduced **Persistent Instance IDs**. Every instance is now assigned a stable, unique identifier in the database that never changes.
**The Benefit:**
- **Rename Freely:** You can now rename instances as often as you like without breaking anything.
- **Data Safety:** Your history, "processed" cache, and configuration stay intact regardless of name changes.
- **Docker Persistence:** We now save countdown timers to the database. If you restart your Huntarr Docker container, your timers won't reset to zero; they will pick up exactly where they left off.
#### 3. Granular Control: Tagging System
**The Change:**
We have removed the "Mass Toggle" for tagging and replaced it with three individual toggles.
**New Options:**
You can now independently enable/disable tags for:
1. **Missing**
2. **Upgrades**
3. **Shows Missing**
> **⚠️ Important for Upgraders:**
> By default, **all three toggles will be ON** after the update. If you previously had the mass toggle turned *off*, you must go into your instance settings and manually turn these off to match your previous preference.
#### 4. Swaparr Intelligence Upgrades
**Strike System Fix (Issue [#​687](https://github.com/plexguide/huntarr/issues/687)):**
Previously, Swaparr might strike a download for "No Progress" or "ETA Too Long" too early.
- **New Logic:** Strikes now *only* apply if the download has been running longer than the configured **Max Download Time**. This prevents false positives on large files that are just starting up.
**Manual Import Protection (Issue [#​706](https://github.com/plexguide/huntarr/issues/706)):**
We found that some downloads were hitting 100% completion but getting stuck in the queue because they needed manual import (e.g., due to a naming mismatch). Swaparr would incorrectly view these as "stalled" and remove them.
- **New Setting:** "Remove completed (100%) stalled" (Default: ON).
- **How to use:** Turn this **OFF** if you want Huntarr to ignore 100% completed downloads, allowing you time to manually import them without fear of deletion.
#### 5. Resource Management: Max Seed Queue
**The Feature:**
For users running Torrents, we have added a **Max Active Seeds** limit per instance.
**How it works:**
You can set a threshold (e.g., "50 active seeds"). Before running a cycle, Huntarr checks your client (qBittorrent or Transmission).
- **If Seeds >= Limit:** The cycle is skipped entirely.
- **If Seeds < Limit:** The cycle proceeds as normal.
- **Why?** This prevents Huntarr from adding more torrents to a client that is already overwhelmed or hitting tracker limits.
**HomePage**
<img width="1795" height="944" alt="image" src="https://github.com/user-attachments/assets/c4393c67-6da9-4afc-a374-6c31769c0ff1" />
**Instance Identifier** <img width="1792" height="918" alt="image" src="https://github.com/user-attachments/assets/54eee7b3-ab4f-44e7-ab3c-0eb863d19545" />
**Tags Rewritten** <img width="1796" height="884" alt="image" src="https://github.com/user-attachments/assets/11bd43cd-bae0-4aec-a6c2-2327be60acd6" />
**Max Seed Queue**
<img width="794" height="649" alt="image" src="https://github.com/user-attachments/assets/3b026e1f-5954-4463-8b38-cb5513c84bcf" />
</details>
---
### Configuration
📅 **Schedule**: 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zLjYiLCJ1cGRhdGVkSW5WZXIiOiI0My4zLjYiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->
Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/3740
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| ghcr.io/plexguide/huntarr | minor | `9.0.5` → `9.1.1` |
| [plexguide/huntarr](https://github.com/plexguide/huntarr) | minor | `9.0.5` → `9.1.1` |
---
### Release Notes
<details>
<summary>plexguide/huntarr (plexguide/huntarr)</summary>
### [`v9.1.1`](https://github.com/plexguide/Huntarr.io/releases/tag/9.1.1)
[Compare Source](https://github.com/plexguide/huntarr/compare/9.1.0...9.1.1)
- \[Time Zones] Additional support to ensure time zones hold (not an issue, but to prevent future fragmentation).
- \[Requestarr] Added the ability to add blacklisted genres in the settings so it’s always filtering genres and blacklistes those genre's everywhere. The blacklist genre cannot be selected in the TV and Movie settings (this is a good thing). This is useful for “news” and other categories of shows and movies you do not like!
- \[Home Page] Added an aggressive poller to prevent the front page from saying “Starting Cycle”.
<img width="850" height="507" alt="image" src="https://github.com/user-attachments/assets/6fa22a12-3ab4-4a9e-ab79-a1bbef83e7b3" />
### [`v9.1.0`](https://github.com/plexguide/Huntarr.io/releases/tag/9.1.0)
[Compare Source](https://github.com/plexguide/huntarr/compare/9.0.5...9.1.0)
### Huntarr v9.1
> \[!WARNING]
> **⚠️ CRITICAL: CONFIGURATION CHECK REQUIRED**
>
> Many settings previously categorized as "Global" have been migrated to **Per-Instance Configuration**.
>
> **Users are strongly advised to manually verify settings for EACH instance immediately after updating.**
>
> Parameters such as **Schedules, API Timeouts, Tagging, and 'Monitored Only'** are now specific to each app instance. Failure to verify these configurations may result in automation cycles failing to run or API limits resetting to default values.
#### 🚀 Major Features & Instance Changes
- **Total Instance Independence:** App Instances are now 100% independent. The dependency on a global "App Cycle" has been removed, allowing each instance to run on its own isolated schedule.
- **Homepage Visibility:** Instances now appear individually on the homepage. The "Combined Stat" view has been removed to provide granular visibility for each active instance.
- **Zero-Default Installs:** Fresh installations now initialize with **zero instances** by default. Additionally, any newly generated default instances can be deleted.
- **Faster Manual Cycles:** The process for manually resetting an App Cycle has been optimized to trigger execution significantly faster.
#### ⚙️ Configuration & Requestarr
- **Per-Instance Settings:** The following controls have been moved from Global/Advanced Settings to **Instance Settings**:
- Tagging System, "Monitored Only," and "Skip Future Episodes."
- API Timeout, CMD Wait Delay, CMD Wait Attempts, and Max Download Queue Size.
- **Requestarr Cooldown:** The default cooldown period has been reduced from **7 days** to **1 day**.
- **Requestarr Filters:**
- Issues with Voting and TMDB score filters have been resolved.
- "Slide Filters" have been fixed to prevent maximum values from being set lower than minimum values (and vice versa).
#### ⚡ Performance & Logic
- **Code Refactoring:** Legacy JSON structures have been removed and integrated directly into the codebase. Redundant JavaScript has been eliminated to improve application efficiency.
- **Smart API Delays:** A "Progressive Mode" has been added to CMD delays. This feature introduces progressive intervals to prevent API flooding (optimized for Sonarr).
- **Low GPU Mode:** This setting is now **enabled by default** for all new installations.
#### 📱 UI, Mobile & Logging
- **Mobile Redesign:** The mobile application interface has been completely redesigned for improved usability.
- **Visual Adjustments:**
- The sidebar "heart" icon now aligns correctly with other interface icons.
- System settings are now left-aligned (previously centered).
- Redundant statistics have been removed from the homepage.
- **Homepage Update:** The "Resources" section has been replaced with a dedicated "About" section.
- **Logging Improvements:**
- **Deduplicator:** A new system prevents duplicate logs with identical timestamps from cluttering the feed.
- **Spam Reduction:** Logic has been refined to prevent repetitive message generation.
- **User Control:** Debug Log generation can now be disabled entirely.
- **Clear Button:** The "Clear" function now permanently deletes all logs.
- **Windows (Experimental):** A feature has been added to attempt copying logs from AppData to the Huntarr installation log folder. *Note: This feature is currently untested.*
#### 🐛 Bug Fixes
- **Settings Save:** Resolved an issue where the "Save" button occasionally failed to register changes.
- **Hunt Manager:** Clearing the Hunt Manager now correctly deletes **all** associated hunt information.
- **Global API Timeout:** The deprecated global API timeout setting has been removed in favor of the per-instance configuration.
```
```
</details>
---
### Configuration
📅 **Schedule**: 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4wLjIiLCJ1cGRhdGVkSW5WZXIiOiI0My4wLjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImltYWdlIl19-->
Reviewed-on: #3607
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [volsync-target](https://github.com/backube/volsync) | minor | `0.5.0` -> `0.6.0` |
---
### Release Notes
<details>
<summary>backube/volsync (volsync-target)</summary>
### [`v0.6.0`](https://github.com/backube/volsync/blob/HEAD/CHANGELOG.md#060)
[Compare Source](https://github.com/backube/volsync/compare/v0.5.0...v0.6.0)
##### Added
- restic - allow passing in GOOGLE\_APPLICATION\_CREDENTIALS as a file
##### Changed
- ⚠️ Breaking change ⚠️ - Helm chart now manages VolSync CRDs
directly.\
Upgrading the VolSync Helm chart from an earlier version will produce the
following error:
```
Error: UPGRADE FAILED: rendered manifests contain a resource that already exists. Unable to continue with update: CustomResourceDefinition "replicationdestinations.volsync.backube" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "volsync"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "volsync-system"
```
To fix, apply the missing labels and annotations as mentioned in the error
message (your values may differ), then retry the upgrade:
```console
$ kubectl label crd/replicationdestinations.volsync.backube app.kubernetes.io/managed-by=Helm
customresourcedefinition.apiextensions.k8s.io/replicationdestinations.volsync.backube labeled
$ kubectl label crd/replicationsources.volsync.backube app.kubernetes.io/managed-by=Helm
customresourcedefinition.apiextensions.k8s.io/replicationsources.volsync.backube labeled
$ kubectl annotate crd/replicationdestinations.volsync.backube meta.helm.sh/release-name=volsync
customresourcedefinition.apiextensions.k8s.io/replicationdestinations.volsync.backube annotated
$ kubectl annotate crd/replicationsources.volsync.backube meta.helm.sh/release-name=volsync
customresourcedefinition.apiextensions.k8s.io/replicationsources.volsync.backube annotated
$ kubectl annotate crd/replicationdestinations.volsync.backube meta.helm.sh/release-namespace=volsync-system
customresourcedefinition.apiextensions.k8s.io/replicationdestinations.volsync.backube annotated
$ kubectl annotate crd/replicationsources.volsync.backube meta.helm.sh/release-namespace=volsync-system
customresourcedefinition.apiextensions.k8s.io/replicationsources.volsync.backube annotated
```
- VolSync privileged mover SCC installed at startup on OpenShift
- Syncthing upgraded to 1.22.1
- Updates to build with golang 1.19
##### Fixed
- ReplicationSource fixes for rsync, rclone and restic to enable mounting
ROX source PVCs as read-only
##### Security
- rclone mover updated to run with reduced privileges by default
- restic mover updated to run with reduced privileges by default
- syncthing mover updated to run with reduced privileges by default
- kube-rbac-proxy upgraded to 0.13.1
</details>
---
### Configuration
📅 **Schedule**: 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 is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zOS4xIiwidXBkYXRlZEluVmVyIjoiNDIuMzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiaW1hZ2UiXX0=-->
Reviewed-on: #2695
Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net>
Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>