v1.11.0
What's new since v1.10.1
Added
- Provider health names the gate holding a provider back — budget, credential pool, circuit breaker or auto-disable. Those gates lived inside the search loop, so a provider taking part in nothing still looked healthy.
- Search and download times are recorded separately, which makes "searches fine, downloads dead" visible for the first time.
- The provider test can fetch a real subtitle. Search and download use different credentials, so a search-only test passes while downloads are broken.
- Bulk "reset search attempts" on the Wanted page, plus a badge showing how long an item is parked. Slow mode is right while the subtitle is what is missing, and wrong once the install was.
- Optional alerting when a provider degrades quietly — auto-disabled, or still searching while nothing downloads. Off by default.
- Log files identify the instance that wrote them — version, platform, container, database, deployment mode and rotation window, stamped at start and on every rotation.
- The foreign-track sweep runs in batches and resumes after a restart, with per-file progress.
Fixed
- English hearing-impaired subtitles were deleted as Hindi.
Show.en.hi.srtparsed as languagehi, so a library keeping only English had every.en.hisidecar on its delete list — 621 files on one reported install. This was a data-loss path. - OpenSubtitles downloads recover on their own. The download token expires after 24 hours while search keeps working on the API key alone, so downloads failed indefinitely until a restart. A refused download now re-authenticates once and retries.
- Credential-free providers take part in searches again. Every provider needing no account was skipped whenever the request budget was on, which is the default; one install measured a search going from 2 participating providers to 23.
- A job that overruns its limit is asked to stop, and no longer claims to have ended. One sweep kept reading a library for sixteen hours after its run was recorded as finished, and pausing it did not help.
- Cleanup statistics return data instead of failing on every call on the default database.
- The webhook warning fires once per path per start rather than on every event.
- Published images no longer carry the maintainer's development logs. The default log path is relative, so an install that did not override it appended its own lines to a file that already contained a foreign machine's.
Changed
GET /logs/downloadreturns the anonymised support bundle (ZIP) instead of the raw log file. Pass?raw=1for the previous, unredacted behaviour — scripted callers of this endpoint need that parameter.- An unconfigured provider logs at INFO, not WARNING. In one real user log, 91% of all WARNING lines were this single class.
Tested via
v1.11.0-rc.1 through v1.11.0-rc.3 on the RC instance. The field-report fixes and the three feature requests that followed landed after rc.3 and were verified on the beta instance and on production directly.
Deployed: ghcr.io/abrechen2/sublarr:1.11.0
Docs: https://sublarr.de/docs/