github ttlequals0/MinusPod v2.90.1
2.90.1

pre-release4 hours ago

Added

  • Per-category segment actions (keep, beep, remove) now apply in the verification pass, not just pass 1. Kept spans become validator barriers so merges and end-extension cannot cut through them, overlapping beep and remove cuts are reconciled (beep wins contested audio, removes split around it), and the audio recut honors the same barriers. Ported from the kristofferR fork (#679).
  • DAI review safeguards: human review decisions (confirmed spans, trims, false-positive rejections) survive automatic boundary mutation, and measured DAI evidence (dai_core_spans) survives marker merges and splits. Confirmed spans clamp exactly, the newest correction wins, duplicate fragments of one approved span are rejected with an audit flag, and untranscribed sonic tails after a recovered CTA are removed. Ported from the kristofferR fork (#680).
  • VAD gap extension guardrails: adjacency-only gap extension is capped at 60 seconds; larger untranscribed gaps without signoff or resume context become held review markers with a large_vad_gap_extension hold reason, surfaced in the episode detail view. Held markers are never merged with other markers. Ported from the kristofferR fork (#677).
  • Benchmark: stealth/ox-alpha added to the 2026-08 sweep and the recommended models table, marked as promotional pricing (#674).

Fixed

  • Ollama reasoning effort is now sent as reasoning_effort through the OpenAI-compatible API. The previous options.think form was silently ignored, so the configured effort never reached the model (#678).
  • Review hardening of the ported changes: kept audio is barriered on every render path (pass 1 and manual recut, not only the pass-2 recut); pattern-defined keeps never fuse with plain keeps before action precedence applies; plain confirmations keep their multi-fragment auto-accept; a false-positive rejection extending past an adjusted span survives the adjustment; and pass-2 kept-span conflicts are screened against false-positive corrections before being held for review.
  • A boundary adjustment still clamps a re-detection to its approved bounds and accepts it, but no longer bypasses the ad reviewer: stored bounds can go stale on a DAI feed whose ad timing drifts between fetches. Audio a re-detection covers beyond both the reviewed bounds and the approved span now validates as its own marker instead of being silently discarded by the clamp.

Security

  • Episode artwork reads, stale artwork cleanup, and feed-directory deletion now join paths through the containment helper (resolve-and-verify) instead of raw path concatenation, closing the open CodeQL path-injection findings on storage.py. All three sites were already guarded by input validation; this makes the containment provable and adds traversal regression tests.

Changed

  • Dependency bumps: anthropic 1.0.0 (temperature now routed via extra_body, since the 1.0 SDK removed sampling parameters from messages.create), openai 3.3.1, gunicorn 26.1.0, huggingface-hub 1.28.0, idna 3.19 (#676); vite 8.2.2, lucide-react 1.33.0, @tanstack/react-query 5.101.4, happy-dom 20.11.6, globals 17.11.0, docker/setup-buildx-action 4.3.0 (#663-#670).

Don't miss a new MinusPod release

NewReleases is sending notifications on new releases.