github Listenarrs/Listenarr v1.5.0-canary
Canary 1.5.0

pre-release2 hours ago

Summary

The automatic-search sweep ran on a hardcoded 6-hour cadence that also served as the "not searched since" cutoff, and it searched every eligible book back-to-back. On a large wanted list that hammers the indexers (and a shared Prowlarr). This makes the timing configurable and, per review, keeps the sweep cadence and the per-book eligibility separate: the worker can check hourly while each book is only searched once per cooldown.

Scope is timing only. The title-only fallback from the earlier revision is gone; that lane belongs to #1072 and the identity-matching follow-ups.

Changes

Added

  • ApplicationSettings.AutomaticSearchIntervalHours (default 1, clamped [1, 168]) — how often the worker sweeps for eligible books. Only the cadence of the check.
  • ApplicationSettings.AutomaticSearchCooldownHours (default 24, clamped [1, 720]) — how long a book stays ineligible after its last search. One shared cooldown for every book.
  • ApplicationSettings.AutomaticSearchBookDelaySeconds (default 5, clamped [0, 300]) — pause between consecutive books inside one sweep. 0 disables it. Manual "Search now" is unaffected.
  • AutomaticSearchTiming (HostedServices/Search/) — resolves and clamps the three from settings so AutomaticSearchService and AutomaticSearchProcessor share one definition; EligibilityCutoff(now) is now − cooldown.
  • Migration 20261021212418_AddAutomaticSearchTiming (+ Designer, snapshot). Column defaults match the property initializers so the existing singleton settings row behaves exactly like a fresh install.

Changed

  • AutomaticSearchService: the periodic runner's intervalProvider reads the sweep interval from settings each cycle (falls back to the default on a read error), so a change takes effect without a restart.
  • AutomaticSearchProcessor: the eligibility cutoff comes from the cooldown instead of the sweep interval; the per-book delay is applied between books (not after ...

Automated Canary build

Don't miss a new Listenarr release

NewReleases is sending notifications on new releases.