Skip to content

release: Bazarr+ v2.5.2 (Murmuration)#290

Merged
LavX merged 5 commits into
masterfrom
development
Jul 7, 2026
Merged

release: Bazarr+ v2.5.2 (Murmuration)#290
LavX merged 5 commits into
masterfrom
development

Conversation

@LavX

@LavX LavX commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Release PR for Bazarr+ v2.5.2 (Murmuration), a focused Provider Hub patch.

WhisperAI transcriptions were killed at a hardcoded 30-second worker deadline regardless of the response/transcription timeouts configured (reported in "WhisperAI and 30 second worker timeout", #288). The host-side worker deadline now derives from the plugin's declared timeouts, with a new global general.provider_hub_worker_timeout default (Settings → General → Provider Hub) as the fallback.

Contents since v2.5.1:

No schema changes, no breaking changes. CI green on development; deploy-verified on the test server (real 95s Whisper transcription completes; killed at 30s under the old code). Merging to master triggers the Docker publish and Pages deploy; the tagged release follows.

LavX and others added 5 commits July 6, 2026 20:44
Provider Hub plugins run in a worker subprocess whose host-side deadline
(HubProxyProvider._request_timeout) defaulted to a hardcoded 30s and only
recognized the config keys worker_timeout/timeout_seconds/timeout. WhisperAI
declares response_timeout_seconds/transcription_timeout_seconds, so its worker
was killed at 30s regardless of the response/transcription timeouts users set
(reported as 'WhisperAI and 30 second worker timeout').

Derive the deadline from any *_timeout_seconds key the plugin declares (plus the
legacy keys and an explicit override), clamp the plugin value to the max before
adding a 30s margin so the worker's own timeout fires first, floor it by a new
global default, and cap it at 86400s. Add general.provider_hub_worker_timeout
(default 120) as the backstop for plugins that declare no timeouts.

Verified end to end: a real 95s Whisper transcription the old 30s deadline
killed now completes; unit tests cover the derivation, floor, margin, cap and
fallback.
Add a 'Default worker timeout' number field to Settings > General > Provider Hub,
bound to general.provider_hub_worker_timeout (30-86400s, default 120). It is the
fallback deadline for Hub plugins that do not define their own timeouts; plugins
like WhisperAI that set a transcription timeout override it.
The settings help said plugins 'override' the global default, but the code
treats it as a floor (max), so plugins with a longer timeout raise the deadline
above it. Reword the copy accordingly. Also fix the test comment that claimed
the host wall outlives the worker's own timeout above the cap, which only holds
because configured values are separately bounded to the cap. Addresses review
feedback.
fix(provider-hub): make plugin timeouts govern the worker deadline
Provider Hub patch on the v2.5 line: WhisperAI transcriptions are no longer
killed at a hardcoded 30-second worker deadline. The host-side deadline now
derives from the plugin's configured timeouts, with a new global default
worker-timeout setting as the fallback. No schema or breaking changes.

- package_info: Bazarr+ v2.5.2
- whatsNew: add 2.5.2 entry, bump latestWhatsNewVersion
- site: softwareVersion 2.5.2 + roadmap entry

Deploy-verified: clean boot, container reports package_info Bazarr+ v2.5.2.
@LavX
LavX merged commit 57fdeed into master Jul 7, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant