Skip to content

Releases: thoser666/Rivulet

Rivulet 0.65.0-alpha.297

Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Oct 17:58

Features

  • stabile Capture-Backends (#296), strukturierte Encoder-Erkennung (#295) und typisierte Früh-Validierung (#294) (#320)
  • Crashreport wie in OBS anbieten (Help → Crash reports, ohne Token, ohne Auto-Filing) (#305)
  • Crashreport als kopierfertigen Bugreport erzeugen (Settings, lokal, ohne Transport) (#299)
  • YouTube sendet ueber die offizielle Live-Streaming-API (Issue #100) (#291)
  • Steam-Erkennung laeuft auch auf Linux, ueber XDG statt Registry (#284)
  • Steam-Installationsverzeichnisse fuellen die Executable-Liste (#283)
  • Epic, GOG, Origin/EA app und Battle.net identifizieren (#281)
  • batch rendering — video from code (M7 W3, #189)
  • report which nondeterminism sources a run used (M7 W2a, #187) (#265)
  • rivulet inspect — pipeline inspector/diagnostics (M7 W5, #191) (#261)
  • track-model GUI — tracks panel, membership, persistence, i18n (#247)
  • container/remux parity for multi-track recordings (#242) (#246)
  • build per-bus pipeline branches with live track masters (#242) (#245)
  • per-track audio model — bus types, audio_tracks_v1, migration (#242) (#244)
  • log redacted pipeline plus GStreamer domain/code on construction failure (#243)
  • Steam game detection via local manifests (#239) (#240)
  • add injectable engine clock with virtual PTS stamping (#187) (#238)
  • add macOS Core Audio device capture for the Mixer (#231) (#237)
  • add Linux PipeWire device capture for the Mixer (#231) (#236)
  • real wry browser-source adapter with input forwarding and transparency (#227) (#228)
  • live-refresh the per-app process picker while it is open
  • live-refresh the WASAPI device picker while it is open
  • WASAPI device capture for mixer Output/Input sources (#229) (#230)
  • scene-item copy/paste with deterministic ids and paste-undo (#192) (#226)
  • wry/WebView2 browser-source POC via CapturePreview (#215) (#223)
  • per-platform stream title/game drafts in the stream-info editor (#214) (#220)
  • add replay-buffer and studio-mode v5 actions for full Stream Deck coverage (#219)
  • per-source rate limiting with visible suppression notices (#210)
  • parse YouTube engagement events (Super Chats/Stickers/members) from the Innertube poll feed (#209)
  • parse Kick engagement events (subs/gifts) from the Pusher chat stream (#208)
  • make the raid alert direction configurable (out/in/both) (#207)
  • resolve shared-chat room ids to channel logins via cached Helix lookup (#205)
  • attribute Twitch Shared Chat messages by source room (#203)
  • stream-info editor in the combined dock (#197)
  • headless rivulet-cli MVP with record subcommand (issue #186) (#194)
  • VOD track settings UI for the streaming view (issue #78) (#180)
  • VOD track third audio branch in dual-output recording (issue #78) (#179)
  • re-enable AccessKit and confirm destructive actions (#171)
  • combined alerts dock — one live list for all platforms (#166)
  • combined multi-platform chat dock — one list, one send box (#164)
  • sound/voice generation track for the AI Creative Studio (#162)
  • macOS system-loopback per-app fallback (Phase 5 of #154) (#160)
  • Linux PipeWire per-app audio capture backend (Phase 4 of #154) (#158)
  • WASAPI per-application capture backend (Phase 3, #154) (#157)
  • multi-track audio routing mixer (M6 #154 Phase 2) (#156)
  • multi-track audio routing engine core (M6, #154 Phase 1) (#155)
  • emit SceneSwitch, ChatConnect and RecordingError events (#152)
  • Phase 3 capability approval + install flow (registry + GUI) (#146)
  • complete Phase 2 WASM plugin runtime (wasmtime sandbox + lifecycle) (#142)
  • AUR PKGBUILD for Arch Linux (#140)
  • mobile & HTTP remote companion for LAN scenes/record/stream (M6) (#141)
  • native outbound Twitch EventSub WebSocket transport (M5) (#139)
  • opt-in loopback webhook receiver (M5) (#132)
  • Flathub Stage 2 preparation (M5) (#135)
  • Scoop bucket for Rivulet (no signing required) (#137)
  • WinGet Stage 2 preparation (M5) (#134)
  • native chat-dock alert ingestion (M5) (#130)
  • M5 opt-in, privacy-first usage telemetry (#128)
  • Spanish as third wiki language + topic report in wiki job (#125)
  • SignPath Foundation Windows signing path (#50) (#124)
  • Linux GPG signing and maintainer setup doc (#50) (#123)
  • auto-derive user-guide topics from GUI i18n keys (#121)
  • doc-freshness enforcement for wiki and user manual (#120)
  • host-boundary skip-path tests (Z96-3) (#118)
  • Windows COM host skeleton (Z96-2) with boundary tests (#117)
  • source delete hotkey (M5 OBS 32.2 parity) (#113) (#114)
  • restream, auto-clips, VST3 host boundary (#116)
  • complete multi-language support (M5) (#115)

Bug fixes

  • close Dependabot alert #5 by refreshing the stale fuzz lockfile (#334)
  • enumerate cameras on all platforms (#318) and close #294's E2E gap (#333)
  • bump tokio 1.53.1 to 1.53.3 for RUSTSEC-2026-0386 (#332)
  • update yanked clipboard-win 5.4.1 -> 5.4.3 (#331)
  • wasmtime 48.0.5 → 49.0.3, wasmtime-wasi → 49.0.3 und rustls → 0.23.46 (16 RUSTSEC-Advisories) (#321)
  • Doku-Assets aus der Manifest-Abdeckung ausschliessen (#286)
  • make the retry backoff and the filename renderer total (#273)
  • stop the PMT pre-scan from dropping the last audio track (#272)
  • parse H.265 recording streams so NVENC/x265 pipelines build (#255)
  • report a failed pipeline build once per session, not once per frame (#253)
  • colocate WebView2Loader.dll with the exe on every Windows build
  • speak the real v5 wire names so Stream Deck plugins can drive Rivulet (#212)
  • use the directional from_broadcaster_user_id raid condition (#204)
  • nightly is green again — alsa deps, drifted pins, tag regex (#173)
  • poll EventSub stats until subscriptions are created (#169)
  • arm EventSub API stub deadline on first request (#167)
  • weekly promotion sets a git identity before tagging (#165)
  • resolve the open code-scanning alerts (#112)

Documentation

  • record #327 (blocking stale-pins gate) and the develop ruleset change (#329)
  • Beta-Scope auf Windows + Linux festgelegt, Kriterium #4 ehrlich formuliert (macOS bewusst zurückgestellt) (#306)
  • Meilenstein eroeffnet — sechs Workstream-Issues plus belegter Ist-Zustand (#298)
  • M7-Abschlussbericht + korrekte Statuszeilen (Conditional Pass) (#290)
  • document and pin the dismissed Dependabot glib advisory (#271)
  • document the full branch-commit-PR-merge flow (#250)
  • document the WebView2Loader.dll copy step for local GUI runs
  • close the interim backlog milestone — README status, shipped #215 (#224)
  • mark M6.9 per-platform stream metadata (#214) as shipped (#221)
  • add interim backlog milestone for scene & stream polish (issues #214-#217) (#218)
  • Stream Deck connection steps in the obs-websocket section (#213)
  • design the automated winget-pkgs submission flow (#201)
  • document the stream-info editor in the combined chat dock (#198)
  • spec and workstream issues for the Automation & Determinism milestone (#193)
  • track F-M6-001/002 live-evidence follow-ups (#182/#183) (#184)
  • document global status surface and sync stale repo docs with the wiki (#181)
  • describe combined chat dock and OS-vault account model (#170)
  • creator toolkit completion report and milestone close (#168)
  • M6 status to In progress with per-criterion gate notes (#153)
  • AI settings placement — Settings page + Assistant tab (closes #149) (#151)
  • close M5 with honest annotations (#150)
  • M5 descope annotations — OBS-compat to M11, honest blockers (#148)
  • AI Creative Studio (Spark-like) roadmap acceptance + off-switches (#143)
  • mark global hotkeys, Discord RP and chat dock (M5) Done (#133)
  • record SignPath Foundation application as submitted (#131)
  • add ready-to-submit SignPath Foundation application draft (#126)
  • Z96-4 hosting contract, platform matrix, and gating (#122)
  • decompose #78 and #96 into subtasks (#111)

Build & packaging

  • bump the Windows GStreamer runtime pin to 1.28.6 (#108, #109) (#110)

CI

  • switch GitHub Actions updates to daily with one grouped PR (#330)
  • make the pin-staleness check a blocking PR check (#327)
  • SHA256SUMS aus einem getesteten Skript, plus Post-Publish-Verifikation (#285)
  • melde verrutschte Action-Pins bei jedem Push statt nur nachts (#280)
  • bump the stale rust-toolchain pin and stop treating branch drift as fatal (#279)
  • offene Code-Scanning-Alerts als Gate erzwingen (#274)
  • daily PAT expiry guard for SCOOP_BUCKET_TOKEN (#202)
  • bump codeql-action pins v4.38.0 -> v4.38.1 (#196)
  • delete temporary release branch after a successful release (#195)
  • extend apt package parity to all workflows (#178)
  • enforce apt package parity between ci.yml and nightly.yml (#175)
  • prepare every active channel once per week from weekly-latest (#145)

Tests

  • run the #293 examples in CI, link their overview, and drain the YouTube fixture request (#310)
  • M8 API-contract proof, wrapper regression guards, and honest delivery state (#307)
  • Frame-Budget-Gate misst den Producer-Pfad statt des Schedulers (#287)
  • pace the resource-report producer so the gate stops depending on machine load (#278)
  • stop the EventSub puppet test from losing a subscription POST (#275)
  • shared wait_until poll helper replaces hand-rolled deadline loops (#269)
  • poll async engine state instead of fixed sleeps (timing audit) (#267)
  • deterministic test helpers: golden frames, PTS/DTS, scene state (#266)
  • poll the log buffer instead of a fixed sleep in worker log tests (#264)
  • consolidate ci_pinning surface guards, phase 3 (Part of #231) (#262)
  • harden the per-track model (issue #242) with isolation, pad, and doc parity (#254)
  • unit-test the remux funnel fan-in with simulated tsdemux pad waves (#249)
  • pin shared-chat reply threading to the joined room's delivery id (#206)
  • require a git identity in every weekly-promotion committing step (#199)
  • M6 resource report — 6 routed sources with full filter chains within budget (#161)

Refactoring

  • parse workflow YAML structurally in guard scripts (Part of #231) (#263)
  • slim the pinning suite by origin-tested detail pins (phase 1+2) (#257)

Housekeeping

  • codeql-action v4.39.0 -> v4.39.1 nachgezog...
Read more

Rivulet 0.65.0-alpha.296

Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Oct 10:25

Features

  • stabile Capture-Backends (#296), strukturierte Encoder-Erkennung (#295) und typisierte Früh-Validierung (#294) (#320)
  • Crashreport wie in OBS anbieten (Help → Crash reports, ohne Token, ohne Auto-Filing) (#305)
  • Crashreport als kopierfertigen Bugreport erzeugen (Settings, lokal, ohne Transport) (#299)
  • YouTube sendet ueber die offizielle Live-Streaming-API (Issue #100) (#291)
  • Steam-Erkennung laeuft auch auf Linux, ueber XDG statt Registry (#284)
  • Steam-Installationsverzeichnisse fuellen die Executable-Liste (#283)
  • Epic, GOG, Origin/EA app und Battle.net identifizieren (#281)
  • batch rendering — video from code (M7 W3, #189)
  • report which nondeterminism sources a run used (M7 W2a, #187) (#265)
  • rivulet inspect — pipeline inspector/diagnostics (M7 W5, #191) (#261)
  • track-model GUI — tracks panel, membership, persistence, i18n (#247)
  • container/remux parity for multi-track recordings (#242) (#246)
  • build per-bus pipeline branches with live track masters (#242) (#245)
  • per-track audio model — bus types, audio_tracks_v1, migration (#242) (#244)
  • log redacted pipeline plus GStreamer domain/code on construction failure (#243)
  • Steam game detection via local manifests (#239) (#240)
  • add injectable engine clock with virtual PTS stamping (#187) (#238)
  • add macOS Core Audio device capture for the Mixer (#231) (#237)
  • add Linux PipeWire device capture for the Mixer (#231) (#236)
  • real wry browser-source adapter with input forwarding and transparency (#227) (#228)
  • live-refresh the per-app process picker while it is open
  • live-refresh the WASAPI device picker while it is open
  • WASAPI device capture for mixer Output/Input sources (#229) (#230)
  • scene-item copy/paste with deterministic ids and paste-undo (#192) (#226)
  • wry/WebView2 browser-source POC via CapturePreview (#215) (#223)
  • per-platform stream title/game drafts in the stream-info editor (#214) (#220)
  • add replay-buffer and studio-mode v5 actions for full Stream Deck coverage (#219)
  • per-source rate limiting with visible suppression notices (#210)
  • parse YouTube engagement events (Super Chats/Stickers/members) from the Innertube poll feed (#209)
  • parse Kick engagement events (subs/gifts) from the Pusher chat stream (#208)
  • make the raid alert direction configurable (out/in/both) (#207)
  • resolve shared-chat room ids to channel logins via cached Helix lookup (#205)
  • attribute Twitch Shared Chat messages by source room (#203)
  • stream-info editor in the combined dock (#197)
  • headless rivulet-cli MVP with record subcommand (issue #186) (#194)
  • VOD track settings UI for the streaming view (issue #78) (#180)
  • VOD track third audio branch in dual-output recording (issue #78) (#179)
  • re-enable AccessKit and confirm destructive actions (#171)
  • combined alerts dock — one live list for all platforms (#166)
  • combined multi-platform chat dock — one list, one send box (#164)
  • sound/voice generation track for the AI Creative Studio (#162)
  • macOS system-loopback per-app fallback (Phase 5 of #154) (#160)
  • Linux PipeWire per-app audio capture backend (Phase 4 of #154) (#158)
  • WASAPI per-application capture backend (Phase 3, #154) (#157)
  • multi-track audio routing mixer (M6 #154 Phase 2) (#156)
  • multi-track audio routing engine core (M6, #154 Phase 1) (#155)
  • emit SceneSwitch, ChatConnect and RecordingError events (#152)
  • Phase 3 capability approval + install flow (registry + GUI) (#146)
  • complete Phase 2 WASM plugin runtime (wasmtime sandbox + lifecycle) (#142)
  • AUR PKGBUILD for Arch Linux (#140)
  • mobile & HTTP remote companion for LAN scenes/record/stream (M6) (#141)
  • native outbound Twitch EventSub WebSocket transport (M5) (#139)
  • opt-in loopback webhook receiver (M5) (#132)
  • Flathub Stage 2 preparation (M5) (#135)
  • Scoop bucket for Rivulet (no signing required) (#137)
  • WinGet Stage 2 preparation (M5) (#134)
  • native chat-dock alert ingestion (M5) (#130)
  • M5 opt-in, privacy-first usage telemetry (#128)
  • Spanish as third wiki language + topic report in wiki job (#125)
  • SignPath Foundation Windows signing path (#50) (#124)
  • Linux GPG signing and maintainer setup doc (#50) (#123)
  • auto-derive user-guide topics from GUI i18n keys (#121)
  • doc-freshness enforcement for wiki and user manual (#120)
  • host-boundary skip-path tests (Z96-3) (#118)
  • Windows COM host skeleton (Z96-2) with boundary tests (#117)
  • source delete hotkey (M5 OBS 32.2 parity) (#113) (#114)
  • restream, auto-clips, VST3 host boundary (#116)
  • complete multi-language support (M5) (#115)

Bug fixes

  • enumerate cameras on all platforms (#318) and close #294's E2E gap (#333)
  • bump tokio 1.53.1 to 1.53.3 for RUSTSEC-2026-0386 (#332)
  • update yanked clipboard-win 5.4.1 -> 5.4.3 (#331)
  • wasmtime 48.0.5 → 49.0.3, wasmtime-wasi → 49.0.3 und rustls → 0.23.46 (16 RUSTSEC-Advisories) (#321)
  • Doku-Assets aus der Manifest-Abdeckung ausschliessen (#286)
  • make the retry backoff and the filename renderer total (#273)
  • stop the PMT pre-scan from dropping the last audio track (#272)
  • parse H.265 recording streams so NVENC/x265 pipelines build (#255)
  • report a failed pipeline build once per session, not once per frame (#253)
  • colocate WebView2Loader.dll with the exe on every Windows build
  • speak the real v5 wire names so Stream Deck plugins can drive Rivulet (#212)
  • use the directional from_broadcaster_user_id raid condition (#204)
  • nightly is green again — alsa deps, drifted pins, tag regex (#173)
  • poll EventSub stats until subscriptions are created (#169)
  • arm EventSub API stub deadline on first request (#167)
  • weekly promotion sets a git identity before tagging (#165)
  • resolve the open code-scanning alerts (#112)

Documentation

  • record #327 (blocking stale-pins gate) and the develop ruleset change (#329)
  • Beta-Scope auf Windows + Linux festgelegt, Kriterium #4 ehrlich formuliert (macOS bewusst zurückgestellt) (#306)
  • Meilenstein eroeffnet — sechs Workstream-Issues plus belegter Ist-Zustand (#298)
  • M7-Abschlussbericht + korrekte Statuszeilen (Conditional Pass) (#290)
  • document and pin the dismissed Dependabot glib advisory (#271)
  • document the full branch-commit-PR-merge flow (#250)
  • document the WebView2Loader.dll copy step for local GUI runs
  • close the interim backlog milestone — README status, shipped #215 (#224)
  • mark M6.9 per-platform stream metadata (#214) as shipped (#221)
  • add interim backlog milestone for scene & stream polish (issues #214-#217) (#218)
  • Stream Deck connection steps in the obs-websocket section (#213)
  • design the automated winget-pkgs submission flow (#201)
  • document the stream-info editor in the combined chat dock (#198)
  • spec and workstream issues for the Automation & Determinism milestone (#193)
  • track F-M6-001/002 live-evidence follow-ups (#182/#183) (#184)
  • document global status surface and sync stale repo docs with the wiki (#181)
  • describe combined chat dock and OS-vault account model (#170)
  • creator toolkit completion report and milestone close (#168)
  • M6 status to In progress with per-criterion gate notes (#153)
  • AI settings placement — Settings page + Assistant tab (closes #149) (#151)
  • close M5 with honest annotations (#150)
  • M5 descope annotations — OBS-compat to M11, honest blockers (#148)
  • AI Creative Studio (Spark-like) roadmap acceptance + off-switches (#143)
  • mark global hotkeys, Discord RP and chat dock (M5) Done (#133)
  • record SignPath Foundation application as submitted (#131)
  • add ready-to-submit SignPath Foundation application draft (#126)
  • Z96-4 hosting contract, platform matrix, and gating (#122)
  • decompose #78 and #96 into subtasks (#111)

Build & packaging

  • bump the Windows GStreamer runtime pin to 1.28.6 (#108, #109) (#110)

CI

  • switch GitHub Actions updates to daily with one grouped PR (#330)
  • make the pin-staleness check a blocking PR check (#327)
  • SHA256SUMS aus einem getesteten Skript, plus Post-Publish-Verifikation (#285)
  • melde verrutschte Action-Pins bei jedem Push statt nur nachts (#280)
  • bump the stale rust-toolchain pin and stop treating branch drift as fatal (#279)
  • offene Code-Scanning-Alerts als Gate erzwingen (#274)
  • daily PAT expiry guard for SCOOP_BUCKET_TOKEN (#202)
  • bump codeql-action pins v4.38.0 -> v4.38.1 (#196)
  • delete temporary release branch after a successful release (#195)
  • extend apt package parity to all workflows (#178)
  • enforce apt package parity between ci.yml and nightly.yml (#175)
  • prepare every active channel once per week from weekly-latest (#145)

Tests

  • run the #293 examples in CI, link their overview, and drain the YouTube fixture request (#310)
  • M8 API-contract proof, wrapper regression guards, and honest delivery state (#307)
  • Frame-Budget-Gate misst den Producer-Pfad statt des Schedulers (#287)
  • pace the resource-report producer so the gate stops depending on machine load (#278)
  • stop the EventSub puppet test from losing a subscription POST (#275)
  • shared wait_until poll helper replaces hand-rolled deadline loops (#269)
  • poll async engine state instead of fixed sleeps (timing audit) (#267)
  • deterministic test helpers: golden frames, PTS/DTS, scene state (#266)
  • poll the log buffer instead of a fixed sleep in worker log tests (#264)
  • consolidate ci_pinning surface guards, phase 3 (Part of #231) (#262)
  • harden the per-track model (issue #242) with isolation, pad, and doc parity (#254)
  • unit-test the remux funnel fan-in with simulated tsdemux pad waves (#249)
  • pin shared-chat reply threading to the joined room's delivery id (#206)
  • require a git identity in every weekly-promotion committing step (#199)
  • M6 resource report — 6 routed sources with full filter chains within budget (#161)

Refactoring

  • parse workflow YAML structurally in guard scripts (Part of #231) (#263)
  • slim the pinning suite by origin-tested detail pins (phase 1+2) (#257)

Housekeeping

  • codeql-action v4.39.0 -> v4.39.1 nachgezogen (#326)
  • Sechs veraltete Action-Pins innerhalb ihrer Major-Version ang...
Read more

Rivulet 0.65.0-alpha.295

Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Oct 05:34

Features

  • stabile Capture-Backends (#296), strukturierte Encoder-Erkennung (#295) und typisierte Früh-Validierung (#294) (#320)
  • Crashreport wie in OBS anbieten (Help → Crash reports, ohne Token, ohne Auto-Filing) (#305)
  • Crashreport als kopierfertigen Bugreport erzeugen (Settings, lokal, ohne Transport) (#299)
  • YouTube sendet ueber die offizielle Live-Streaming-API (Issue #100) (#291)
  • Steam-Erkennung laeuft auch auf Linux, ueber XDG statt Registry (#284)
  • Steam-Installationsverzeichnisse fuellen die Executable-Liste (#283)
  • Epic, GOG, Origin/EA app und Battle.net identifizieren (#281)
  • batch rendering — video from code (M7 W3, #189)
  • report which nondeterminism sources a run used (M7 W2a, #187) (#265)
  • rivulet inspect — pipeline inspector/diagnostics (M7 W5, #191) (#261)
  • track-model GUI — tracks panel, membership, persistence, i18n (#247)
  • container/remux parity for multi-track recordings (#242) (#246)
  • build per-bus pipeline branches with live track masters (#242) (#245)
  • per-track audio model — bus types, audio_tracks_v1, migration (#242) (#244)
  • log redacted pipeline plus GStreamer domain/code on construction failure (#243)
  • Steam game detection via local manifests (#239) (#240)
  • add injectable engine clock with virtual PTS stamping (#187) (#238)
  • add macOS Core Audio device capture for the Mixer (#231) (#237)
  • add Linux PipeWire device capture for the Mixer (#231) (#236)
  • real wry browser-source adapter with input forwarding and transparency (#227) (#228)
  • live-refresh the per-app process picker while it is open
  • live-refresh the WASAPI device picker while it is open
  • WASAPI device capture for mixer Output/Input sources (#229) (#230)
  • scene-item copy/paste with deterministic ids and paste-undo (#192) (#226)
  • wry/WebView2 browser-source POC via CapturePreview (#215) (#223)
  • per-platform stream title/game drafts in the stream-info editor (#214) (#220)
  • add replay-buffer and studio-mode v5 actions for full Stream Deck coverage (#219)
  • per-source rate limiting with visible suppression notices (#210)
  • parse YouTube engagement events (Super Chats/Stickers/members) from the Innertube poll feed (#209)
  • parse Kick engagement events (subs/gifts) from the Pusher chat stream (#208)
  • make the raid alert direction configurable (out/in/both) (#207)
  • resolve shared-chat room ids to channel logins via cached Helix lookup (#205)
  • attribute Twitch Shared Chat messages by source room (#203)
  • stream-info editor in the combined dock (#197)
  • headless rivulet-cli MVP with record subcommand (issue #186) (#194)
  • VOD track settings UI for the streaming view (issue #78) (#180)
  • VOD track third audio branch in dual-output recording (issue #78) (#179)
  • re-enable AccessKit and confirm destructive actions (#171)
  • combined alerts dock — one live list for all platforms (#166)
  • combined multi-platform chat dock — one list, one send box (#164)
  • sound/voice generation track for the AI Creative Studio (#162)
  • macOS system-loopback per-app fallback (Phase 5 of #154) (#160)
  • Linux PipeWire per-app audio capture backend (Phase 4 of #154) (#158)
  • WASAPI per-application capture backend (Phase 3, #154) (#157)
  • multi-track audio routing mixer (M6 #154 Phase 2) (#156)
  • multi-track audio routing engine core (M6, #154 Phase 1) (#155)
  • emit SceneSwitch, ChatConnect and RecordingError events (#152)
  • Phase 3 capability approval + install flow (registry + GUI) (#146)
  • complete Phase 2 WASM plugin runtime (wasmtime sandbox + lifecycle) (#142)
  • AUR PKGBUILD for Arch Linux (#140)
  • mobile & HTTP remote companion for LAN scenes/record/stream (M6) (#141)
  • native outbound Twitch EventSub WebSocket transport (M5) (#139)
  • opt-in loopback webhook receiver (M5) (#132)
  • Flathub Stage 2 preparation (M5) (#135)
  • Scoop bucket for Rivulet (no signing required) (#137)
  • WinGet Stage 2 preparation (M5) (#134)
  • native chat-dock alert ingestion (M5) (#130)
  • M5 opt-in, privacy-first usage telemetry (#128)
  • Spanish as third wiki language + topic report in wiki job (#125)
  • SignPath Foundation Windows signing path (#50) (#124)
  • Linux GPG signing and maintainer setup doc (#50) (#123)
  • auto-derive user-guide topics from GUI i18n keys (#121)
  • doc-freshness enforcement for wiki and user manual (#120)
  • host-boundary skip-path tests (Z96-3) (#118)
  • Windows COM host skeleton (Z96-2) with boundary tests (#117)
  • source delete hotkey (M5 OBS 32.2 parity) (#113) (#114)
  • restream, auto-clips, VST3 host boundary (#116)
  • complete multi-language support (M5) (#115)

Bug fixes

  • bump tokio 1.53.1 to 1.53.3 for RUSTSEC-2026-0386 (#332)
  • update yanked clipboard-win 5.4.1 -> 5.4.3 (#331)
  • wasmtime 48.0.5 → 49.0.3, wasmtime-wasi → 49.0.3 und rustls → 0.23.46 (16 RUSTSEC-Advisories) (#321)
  • Doku-Assets aus der Manifest-Abdeckung ausschliessen (#286)
  • make the retry backoff and the filename renderer total (#273)
  • stop the PMT pre-scan from dropping the last audio track (#272)
  • parse H.265 recording streams so NVENC/x265 pipelines build (#255)
  • report a failed pipeline build once per session, not once per frame (#253)
  • colocate WebView2Loader.dll with the exe on every Windows build
  • speak the real v5 wire names so Stream Deck plugins can drive Rivulet (#212)
  • use the directional from_broadcaster_user_id raid condition (#204)
  • nightly is green again — alsa deps, drifted pins, tag regex (#173)
  • poll EventSub stats until subscriptions are created (#169)
  • arm EventSub API stub deadline on first request (#167)
  • weekly promotion sets a git identity before tagging (#165)
  • resolve the open code-scanning alerts (#112)

Documentation

  • record #327 (blocking stale-pins gate) and the develop ruleset change (#329)
  • Beta-Scope auf Windows + Linux festgelegt, Kriterium #4 ehrlich formuliert (macOS bewusst zurückgestellt) (#306)
  • Meilenstein eroeffnet — sechs Workstream-Issues plus belegter Ist-Zustand (#298)
  • M7-Abschlussbericht + korrekte Statuszeilen (Conditional Pass) (#290)
  • document and pin the dismissed Dependabot glib advisory (#271)
  • document the full branch-commit-PR-merge flow (#250)
  • document the WebView2Loader.dll copy step for local GUI runs
  • close the interim backlog milestone — README status, shipped #215 (#224)
  • mark M6.9 per-platform stream metadata (#214) as shipped (#221)
  • add interim backlog milestone for scene & stream polish (issues #214-#217) (#218)
  • Stream Deck connection steps in the obs-websocket section (#213)
  • design the automated winget-pkgs submission flow (#201)
  • document the stream-info editor in the combined chat dock (#198)
  • spec and workstream issues for the Automation & Determinism milestone (#193)
  • track F-M6-001/002 live-evidence follow-ups (#182/#183) (#184)
  • document global status surface and sync stale repo docs with the wiki (#181)
  • describe combined chat dock and OS-vault account model (#170)
  • creator toolkit completion report and milestone close (#168)
  • M6 status to In progress with per-criterion gate notes (#153)
  • AI settings placement — Settings page + Assistant tab (closes #149) (#151)
  • close M5 with honest annotations (#150)
  • M5 descope annotations — OBS-compat to M11, honest blockers (#148)
  • AI Creative Studio (Spark-like) roadmap acceptance + off-switches (#143)
  • mark global hotkeys, Discord RP and chat dock (M5) Done (#133)
  • record SignPath Foundation application as submitted (#131)
  • add ready-to-submit SignPath Foundation application draft (#126)
  • Z96-4 hosting contract, platform matrix, and gating (#122)
  • decompose #78 and #96 into subtasks (#111)

Build & packaging

  • bump the Windows GStreamer runtime pin to 1.28.6 (#108, #109) (#110)

CI

  • switch GitHub Actions updates to daily with one grouped PR (#330)
  • make the pin-staleness check a blocking PR check (#327)
  • SHA256SUMS aus einem getesteten Skript, plus Post-Publish-Verifikation (#285)
  • melde verrutschte Action-Pins bei jedem Push statt nur nachts (#280)
  • bump the stale rust-toolchain pin and stop treating branch drift as fatal (#279)
  • offene Code-Scanning-Alerts als Gate erzwingen (#274)
  • daily PAT expiry guard for SCOOP_BUCKET_TOKEN (#202)
  • bump codeql-action pins v4.38.0 -> v4.38.1 (#196)
  • delete temporary release branch after a successful release (#195)
  • extend apt package parity to all workflows (#178)
  • enforce apt package parity between ci.yml and nightly.yml (#175)
  • prepare every active channel once per week from weekly-latest (#145)

Tests

  • run the #293 examples in CI, link their overview, and drain the YouTube fixture request (#310)
  • M8 API-contract proof, wrapper regression guards, and honest delivery state (#307)
  • Frame-Budget-Gate misst den Producer-Pfad statt des Schedulers (#287)
  • pace the resource-report producer so the gate stops depending on machine load (#278)
  • stop the EventSub puppet test from losing a subscription POST (#275)
  • shared wait_until poll helper replaces hand-rolled deadline loops (#269)
  • poll async engine state instead of fixed sleeps (timing audit) (#267)
  • deterministic test helpers: golden frames, PTS/DTS, scene state (#266)
  • poll the log buffer instead of a fixed sleep in worker log tests (#264)
  • consolidate ci_pinning surface guards, phase 3 (Part of #231) (#262)
  • harden the per-track model (issue #242) with isolation, pad, and doc parity (#254)
  • unit-test the remux funnel fan-in with simulated tsdemux pad waves (#249)
  • pin shared-chat reply threading to the joined room's delivery id (#206)
  • require a git identity in every weekly-promotion committing step (#199)
  • M6 resource report — 6 routed sources with full filter chains within budget (#161)

Refactoring

  • parse workflow YAML structurally in guard scripts (Part of #231) (#263)
  • slim the pinning suite by origin-tested detail pins (phase 1+2) (#257)

Housekeeping

  • codeql-action v4.39.0 -> v4.39.1 nachgezogen (#326)
  • Sechs veraltete Action-Pins innerhalb ihrer Major-Version angehoben (#325)
  • bump actions/upload-artifact from 7.0.1 to 7.0.2 (#313)
  • bu...
Read more

Rivulet 0.65.0-alpha.294

Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Oct 04:47

Features

  • stabile Capture-Backends (#296), strukturierte Encoder-Erkennung (#295) und typisierte Früh-Validierung (#294) (#320)
  • Crashreport wie in OBS anbieten (Help → Crash reports, ohne Token, ohne Auto-Filing) (#305)
  • Crashreport als kopierfertigen Bugreport erzeugen (Settings, lokal, ohne Transport) (#299)
  • YouTube sendet ueber die offizielle Live-Streaming-API (Issue #100) (#291)
  • Steam-Erkennung laeuft auch auf Linux, ueber XDG statt Registry (#284)
  • Steam-Installationsverzeichnisse fuellen die Executable-Liste (#283)
  • Epic, GOG, Origin/EA app und Battle.net identifizieren (#281)
  • batch rendering — video from code (M7 W3, #189)
  • report which nondeterminism sources a run used (M7 W2a, #187) (#265)
  • rivulet inspect — pipeline inspector/diagnostics (M7 W5, #191) (#261)
  • track-model GUI — tracks panel, membership, persistence, i18n (#247)
  • container/remux parity for multi-track recordings (#242) (#246)
  • build per-bus pipeline branches with live track masters (#242) (#245)
  • per-track audio model — bus types, audio_tracks_v1, migration (#242) (#244)
  • log redacted pipeline plus GStreamer domain/code on construction failure (#243)
  • Steam game detection via local manifests (#239) (#240)
  • add injectable engine clock with virtual PTS stamping (#187) (#238)
  • add macOS Core Audio device capture for the Mixer (#231) (#237)
  • add Linux PipeWire device capture for the Mixer (#231) (#236)
  • real wry browser-source adapter with input forwarding and transparency (#227) (#228)
  • live-refresh the per-app process picker while it is open
  • live-refresh the WASAPI device picker while it is open
  • WASAPI device capture for mixer Output/Input sources (#229) (#230)
  • scene-item copy/paste with deterministic ids and paste-undo (#192) (#226)
  • wry/WebView2 browser-source POC via CapturePreview (#215) (#223)
  • per-platform stream title/game drafts in the stream-info editor (#214) (#220)
  • add replay-buffer and studio-mode v5 actions for full Stream Deck coverage (#219)
  • per-source rate limiting with visible suppression notices (#210)
  • parse YouTube engagement events (Super Chats/Stickers/members) from the Innertube poll feed (#209)
  • parse Kick engagement events (subs/gifts) from the Pusher chat stream (#208)
  • make the raid alert direction configurable (out/in/both) (#207)
  • resolve shared-chat room ids to channel logins via cached Helix lookup (#205)
  • attribute Twitch Shared Chat messages by source room (#203)
  • stream-info editor in the combined dock (#197)
  • headless rivulet-cli MVP with record subcommand (issue #186) (#194)
  • VOD track settings UI for the streaming view (issue #78) (#180)
  • VOD track third audio branch in dual-output recording (issue #78) (#179)
  • re-enable AccessKit and confirm destructive actions (#171)
  • combined alerts dock — one live list for all platforms (#166)
  • combined multi-platform chat dock — one list, one send box (#164)
  • sound/voice generation track for the AI Creative Studio (#162)
  • macOS system-loopback per-app fallback (Phase 5 of #154) (#160)
  • Linux PipeWire per-app audio capture backend (Phase 4 of #154) (#158)
  • WASAPI per-application capture backend (Phase 3, #154) (#157)
  • multi-track audio routing mixer (M6 #154 Phase 2) (#156)
  • multi-track audio routing engine core (M6, #154 Phase 1) (#155)
  • emit SceneSwitch, ChatConnect and RecordingError events (#152)
  • Phase 3 capability approval + install flow (registry + GUI) (#146)
  • complete Phase 2 WASM plugin runtime (wasmtime sandbox + lifecycle) (#142)
  • AUR PKGBUILD for Arch Linux (#140)
  • mobile & HTTP remote companion for LAN scenes/record/stream (M6) (#141)
  • native outbound Twitch EventSub WebSocket transport (M5) (#139)
  • opt-in loopback webhook receiver (M5) (#132)
  • Flathub Stage 2 preparation (M5) (#135)
  • Scoop bucket for Rivulet (no signing required) (#137)
  • WinGet Stage 2 preparation (M5) (#134)
  • native chat-dock alert ingestion (M5) (#130)
  • M5 opt-in, privacy-first usage telemetry (#128)
  • Spanish as third wiki language + topic report in wiki job (#125)
  • SignPath Foundation Windows signing path (#50) (#124)
  • Linux GPG signing and maintainer setup doc (#50) (#123)
  • auto-derive user-guide topics from GUI i18n keys (#121)
  • doc-freshness enforcement for wiki and user manual (#120)
  • host-boundary skip-path tests (Z96-3) (#118)
  • Windows COM host skeleton (Z96-2) with boundary tests (#117)
  • source delete hotkey (M5 OBS 32.2 parity) (#113) (#114)
  • restream, auto-clips, VST3 host boundary (#116)
  • complete multi-language support (M5) (#115)

Bug fixes

  • bump tokio 1.53.1 to 1.53.3 for RUSTSEC-2026-0386 (#332)
  • update yanked clipboard-win 5.4.1 -> 5.4.3 (#331)
  • wasmtime 48.0.5 → 49.0.3, wasmtime-wasi → 49.0.3 und rustls → 0.23.46 (16 RUSTSEC-Advisories) (#321)
  • Doku-Assets aus der Manifest-Abdeckung ausschliessen (#286)
  • make the retry backoff and the filename renderer total (#273)
  • stop the PMT pre-scan from dropping the last audio track (#272)
  • parse H.265 recording streams so NVENC/x265 pipelines build (#255)
  • report a failed pipeline build once per session, not once per frame (#253)
  • colocate WebView2Loader.dll with the exe on every Windows build
  • speak the real v5 wire names so Stream Deck plugins can drive Rivulet (#212)
  • use the directional from_broadcaster_user_id raid condition (#204)
  • nightly is green again — alsa deps, drifted pins, tag regex (#173)
  • poll EventSub stats until subscriptions are created (#169)
  • arm EventSub API stub deadline on first request (#167)
  • weekly promotion sets a git identity before tagging (#165)
  • resolve the open code-scanning alerts (#112)

Documentation

  • record #327 (blocking stale-pins gate) and the develop ruleset change (#329)
  • Beta-Scope auf Windows + Linux festgelegt, Kriterium #4 ehrlich formuliert (macOS bewusst zurückgestellt) (#306)
  • Meilenstein eroeffnet — sechs Workstream-Issues plus belegter Ist-Zustand (#298)
  • M7-Abschlussbericht + korrekte Statuszeilen (Conditional Pass) (#290)
  • document and pin the dismissed Dependabot glib advisory (#271)
  • document the full branch-commit-PR-merge flow (#250)
  • document the WebView2Loader.dll copy step for local GUI runs
  • close the interim backlog milestone — README status, shipped #215 (#224)
  • mark M6.9 per-platform stream metadata (#214) as shipped (#221)
  • add interim backlog milestone for scene & stream polish (issues #214-#217) (#218)
  • Stream Deck connection steps in the obs-websocket section (#213)
  • design the automated winget-pkgs submission flow (#201)
  • document the stream-info editor in the combined chat dock (#198)
  • spec and workstream issues for the Automation & Determinism milestone (#193)
  • track F-M6-001/002 live-evidence follow-ups (#182/#183) (#184)
  • document global status surface and sync stale repo docs with the wiki (#181)
  • describe combined chat dock and OS-vault account model (#170)
  • creator toolkit completion report and milestone close (#168)
  • M6 status to In progress with per-criterion gate notes (#153)
  • AI settings placement — Settings page + Assistant tab (closes #149) (#151)
  • close M5 with honest annotations (#150)
  • M5 descope annotations — OBS-compat to M11, honest blockers (#148)
  • AI Creative Studio (Spark-like) roadmap acceptance + off-switches (#143)
  • mark global hotkeys, Discord RP and chat dock (M5) Done (#133)
  • record SignPath Foundation application as submitted (#131)
  • add ready-to-submit SignPath Foundation application draft (#126)
  • Z96-4 hosting contract, platform matrix, and gating (#122)
  • decompose #78 and #96 into subtasks (#111)

Build & packaging

  • bump the Windows GStreamer runtime pin to 1.28.6 (#108, #109) (#110)

CI

  • make the pin-staleness check a blocking PR check (#327)
  • SHA256SUMS aus einem getesteten Skript, plus Post-Publish-Verifikation (#285)
  • melde verrutschte Action-Pins bei jedem Push statt nur nachts (#280)
  • bump the stale rust-toolchain pin and stop treating branch drift as fatal (#279)
  • offene Code-Scanning-Alerts als Gate erzwingen (#274)
  • daily PAT expiry guard for SCOOP_BUCKET_TOKEN (#202)
  • bump codeql-action pins v4.38.0 -> v4.38.1 (#196)
  • delete temporary release branch after a successful release (#195)
  • extend apt package parity to all workflows (#178)
  • enforce apt package parity between ci.yml and nightly.yml (#175)
  • prepare every active channel once per week from weekly-latest (#145)

Tests

  • run the #293 examples in CI, link their overview, and drain the YouTube fixture request (#310)
  • M8 API-contract proof, wrapper regression guards, and honest delivery state (#307)
  • Frame-Budget-Gate misst den Producer-Pfad statt des Schedulers (#287)
  • pace the resource-report producer so the gate stops depending on machine load (#278)
  • stop the EventSub puppet test from losing a subscription POST (#275)
  • shared wait_until poll helper replaces hand-rolled deadline loops (#269)
  • poll async engine state instead of fixed sleeps (timing audit) (#267)
  • deterministic test helpers: golden frames, PTS/DTS, scene state (#266)
  • poll the log buffer instead of a fixed sleep in worker log tests (#264)
  • consolidate ci_pinning surface guards, phase 3 (Part of #231) (#262)
  • harden the per-track model (issue #242) with isolation, pad, and doc parity (#254)
  • unit-test the remux funnel fan-in with simulated tsdemux pad waves (#249)
  • pin shared-chat reply threading to the joined room's delivery id (#206)
  • require a git identity in every weekly-promotion committing step (#199)
  • M6 resource report — 6 routed sources with full filter chains within budget (#161)

Refactoring

  • parse workflow YAML structurally in guard scripts (Part of #231) (#263)
  • slim the pinning suite by origin-tested detail pins (phase 1+2) (#257)

Housekeeping

  • codeql-action v4.39.0 -> v4.39.1 nachgezogen (#326)
  • Sechs veraltete Action-Pins innerhalb ihrer Major-Version angehoben (#325)
  • bump actions/upload-artifact from 7.0.1 to 7.0.2 (#313)
  • bump github/codeql-action/init from 4.38.2 to 4.38.3 (#317)
  • bump rus...
Read more

Rivulet 0.65.0-alpha.293

Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Oct 03:38

Features

  • stabile Capture-Backends (#296), strukturierte Encoder-Erkennung (#295) und typisierte Früh-Validierung (#294) (#320)
  • Crashreport wie in OBS anbieten (Help → Crash reports, ohne Token, ohne Auto-Filing) (#305)
  • Crashreport als kopierfertigen Bugreport erzeugen (Settings, lokal, ohne Transport) (#299)
  • YouTube sendet ueber die offizielle Live-Streaming-API (Issue #100) (#291)
  • Steam-Erkennung laeuft auch auf Linux, ueber XDG statt Registry (#284)
  • Steam-Installationsverzeichnisse fuellen die Executable-Liste (#283)
  • Epic, GOG, Origin/EA app und Battle.net identifizieren (#281)
  • batch rendering — video from code (M7 W3, #189)
  • report which nondeterminism sources a run used (M7 W2a, #187) (#265)
  • rivulet inspect — pipeline inspector/diagnostics (M7 W5, #191) (#261)
  • track-model GUI — tracks panel, membership, persistence, i18n (#247)
  • container/remux parity for multi-track recordings (#242) (#246)
  • build per-bus pipeline branches with live track masters (#242) (#245)
  • per-track audio model — bus types, audio_tracks_v1, migration (#242) (#244)
  • log redacted pipeline plus GStreamer domain/code on construction failure (#243)
  • Steam game detection via local manifests (#239) (#240)
  • add injectable engine clock with virtual PTS stamping (#187) (#238)
  • add macOS Core Audio device capture for the Mixer (#231) (#237)
  • add Linux PipeWire device capture for the Mixer (#231) (#236)
  • real wry browser-source adapter with input forwarding and transparency (#227) (#228)
  • live-refresh the per-app process picker while it is open
  • live-refresh the WASAPI device picker while it is open
  • WASAPI device capture for mixer Output/Input sources (#229) (#230)
  • scene-item copy/paste with deterministic ids and paste-undo (#192) (#226)
  • wry/WebView2 browser-source POC via CapturePreview (#215) (#223)
  • per-platform stream title/game drafts in the stream-info editor (#214) (#220)
  • add replay-buffer and studio-mode v5 actions for full Stream Deck coverage (#219)
  • per-source rate limiting with visible suppression notices (#210)
  • parse YouTube engagement events (Super Chats/Stickers/members) from the Innertube poll feed (#209)
  • parse Kick engagement events (subs/gifts) from the Pusher chat stream (#208)
  • make the raid alert direction configurable (out/in/both) (#207)
  • resolve shared-chat room ids to channel logins via cached Helix lookup (#205)
  • attribute Twitch Shared Chat messages by source room (#203)
  • stream-info editor in the combined dock (#197)
  • headless rivulet-cli MVP with record subcommand (issue #186) (#194)
  • VOD track settings UI for the streaming view (issue #78) (#180)
  • VOD track third audio branch in dual-output recording (issue #78) (#179)
  • re-enable AccessKit and confirm destructive actions (#171)
  • combined alerts dock — one live list for all platforms (#166)
  • combined multi-platform chat dock — one list, one send box (#164)
  • sound/voice generation track for the AI Creative Studio (#162)
  • macOS system-loopback per-app fallback (Phase 5 of #154) (#160)
  • Linux PipeWire per-app audio capture backend (Phase 4 of #154) (#158)
  • WASAPI per-application capture backend (Phase 3, #154) (#157)
  • multi-track audio routing mixer (M6 #154 Phase 2) (#156)
  • multi-track audio routing engine core (M6, #154 Phase 1) (#155)
  • emit SceneSwitch, ChatConnect and RecordingError events (#152)
  • Phase 3 capability approval + install flow (registry + GUI) (#146)
  • complete Phase 2 WASM plugin runtime (wasmtime sandbox + lifecycle) (#142)
  • AUR PKGBUILD for Arch Linux (#140)
  • mobile & HTTP remote companion for LAN scenes/record/stream (M6) (#141)
  • native outbound Twitch EventSub WebSocket transport (M5) (#139)
  • opt-in loopback webhook receiver (M5) (#132)
  • Flathub Stage 2 preparation (M5) (#135)
  • Scoop bucket for Rivulet (no signing required) (#137)
  • WinGet Stage 2 preparation (M5) (#134)
  • native chat-dock alert ingestion (M5) (#130)
  • M5 opt-in, privacy-first usage telemetry (#128)
  • Spanish as third wiki language + topic report in wiki job (#125)
  • SignPath Foundation Windows signing path (#50) (#124)
  • Linux GPG signing and maintainer setup doc (#50) (#123)
  • auto-derive user-guide topics from GUI i18n keys (#121)
  • doc-freshness enforcement for wiki and user manual (#120)
  • host-boundary skip-path tests (Z96-3) (#118)
  • Windows COM host skeleton (Z96-2) with boundary tests (#117)
  • source delete hotkey (M5 OBS 32.2 parity) (#113) (#114)
  • restream, auto-clips, VST3 host boundary (#116)
  • complete multi-language support (M5) (#115)

Bug fixes

  • update yanked clipboard-win 5.4.1 -> 5.4.3 (#331)
  • wasmtime 48.0.5 → 49.0.3, wasmtime-wasi → 49.0.3 und rustls → 0.23.46 (16 RUSTSEC-Advisories) (#321)
  • Doku-Assets aus der Manifest-Abdeckung ausschliessen (#286)
  • make the retry backoff and the filename renderer total (#273)
  • stop the PMT pre-scan from dropping the last audio track (#272)
  • parse H.265 recording streams so NVENC/x265 pipelines build (#255)
  • report a failed pipeline build once per session, not once per frame (#253)
  • colocate WebView2Loader.dll with the exe on every Windows build
  • speak the real v5 wire names so Stream Deck plugins can drive Rivulet (#212)
  • use the directional from_broadcaster_user_id raid condition (#204)
  • nightly is green again — alsa deps, drifted pins, tag regex (#173)
  • poll EventSub stats until subscriptions are created (#169)
  • arm EventSub API stub deadline on first request (#167)
  • weekly promotion sets a git identity before tagging (#165)
  • resolve the open code-scanning alerts (#112)

Documentation

  • record #327 (blocking stale-pins gate) and the develop ruleset change (#329)
  • Beta-Scope auf Windows + Linux festgelegt, Kriterium #4 ehrlich formuliert (macOS bewusst zurückgestellt) (#306)
  • Meilenstein eroeffnet — sechs Workstream-Issues plus belegter Ist-Zustand (#298)
  • M7-Abschlussbericht + korrekte Statuszeilen (Conditional Pass) (#290)
  • document and pin the dismissed Dependabot glib advisory (#271)
  • document the full branch-commit-PR-merge flow (#250)
  • document the WebView2Loader.dll copy step for local GUI runs
  • close the interim backlog milestone — README status, shipped #215 (#224)
  • mark M6.9 per-platform stream metadata (#214) as shipped (#221)
  • add interim backlog milestone for scene & stream polish (issues #214-#217) (#218)
  • Stream Deck connection steps in the obs-websocket section (#213)
  • design the automated winget-pkgs submission flow (#201)
  • document the stream-info editor in the combined chat dock (#198)
  • spec and workstream issues for the Automation & Determinism milestone (#193)
  • track F-M6-001/002 live-evidence follow-ups (#182/#183) (#184)
  • document global status surface and sync stale repo docs with the wiki (#181)
  • describe combined chat dock and OS-vault account model (#170)
  • creator toolkit completion report and milestone close (#168)
  • M6 status to In progress with per-criterion gate notes (#153)
  • AI settings placement — Settings page + Assistant tab (closes #149) (#151)
  • close M5 with honest annotations (#150)
  • M5 descope annotations — OBS-compat to M11, honest blockers (#148)
  • AI Creative Studio (Spark-like) roadmap acceptance + off-switches (#143)
  • mark global hotkeys, Discord RP and chat dock (M5) Done (#133)
  • record SignPath Foundation application as submitted (#131)
  • add ready-to-submit SignPath Foundation application draft (#126)
  • Z96-4 hosting contract, platform matrix, and gating (#122)
  • decompose #78 and #96 into subtasks (#111)

Build & packaging

  • bump the Windows GStreamer runtime pin to 1.28.6 (#108, #109) (#110)

CI

  • make the pin-staleness check a blocking PR check (#327)
  • SHA256SUMS aus einem getesteten Skript, plus Post-Publish-Verifikation (#285)
  • melde verrutschte Action-Pins bei jedem Push statt nur nachts (#280)
  • bump the stale rust-toolchain pin and stop treating branch drift as fatal (#279)
  • offene Code-Scanning-Alerts als Gate erzwingen (#274)
  • daily PAT expiry guard for SCOOP_BUCKET_TOKEN (#202)
  • bump codeql-action pins v4.38.0 -> v4.38.1 (#196)
  • delete temporary release branch after a successful release (#195)
  • extend apt package parity to all workflows (#178)
  • enforce apt package parity between ci.yml and nightly.yml (#175)
  • prepare every active channel once per week from weekly-latest (#145)

Tests

  • run the #293 examples in CI, link their overview, and drain the YouTube fixture request (#310)
  • M8 API-contract proof, wrapper regression guards, and honest delivery state (#307)
  • Frame-Budget-Gate misst den Producer-Pfad statt des Schedulers (#287)
  • pace the resource-report producer so the gate stops depending on machine load (#278)
  • stop the EventSub puppet test from losing a subscription POST (#275)
  • shared wait_until poll helper replaces hand-rolled deadline loops (#269)
  • poll async engine state instead of fixed sleeps (timing audit) (#267)
  • deterministic test helpers: golden frames, PTS/DTS, scene state (#266)
  • poll the log buffer instead of a fixed sleep in worker log tests (#264)
  • consolidate ci_pinning surface guards, phase 3 (Part of #231) (#262)
  • harden the per-track model (issue #242) with isolation, pad, and doc parity (#254)
  • unit-test the remux funnel fan-in with simulated tsdemux pad waves (#249)
  • pin shared-chat reply threading to the joined room's delivery id (#206)
  • require a git identity in every weekly-promotion committing step (#199)
  • M6 resource report — 6 routed sources with full filter chains within budget (#161)

Refactoring

  • parse workflow YAML structurally in guard scripts (Part of #231) (#263)
  • slim the pinning suite by origin-tested detail pins (phase 1+2) (#257)

Housekeeping

  • codeql-action v4.39.0 -> v4.39.1 nachgezogen (#326)
  • Sechs veraltete Action-Pins innerhalb ihrer Major-Version angehoben (#325)
  • bump actions/upload-artifact from 7.0.1 to 7.0.2 (#313)
  • bump github/codeql-action/init from 4.38.2 to 4.38.3 (#317)
  • bump rustls from 0.23.43 to 0.23.45 in /fuzz (#308)
  • bump the wasm...
Read more

Rivulet 0.65.0-alpha.292

Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Oct 09:31

Features

  • stabile Capture-Backends (#296), strukturierte Encoder-Erkennung (#295) und typisierte Früh-Validierung (#294) (#320)
  • Crashreport wie in OBS anbieten (Help → Crash reports, ohne Token, ohne Auto-Filing) (#305)
  • Crashreport als kopierfertigen Bugreport erzeugen (Settings, lokal, ohne Transport) (#299)
  • YouTube sendet ueber die offizielle Live-Streaming-API (Issue #100) (#291)
  • Steam-Erkennung laeuft auch auf Linux, ueber XDG statt Registry (#284)
  • Steam-Installationsverzeichnisse fuellen die Executable-Liste (#283)
  • Epic, GOG, Origin/EA app und Battle.net identifizieren (#281)
  • batch rendering — video from code (M7 W3, #189)
  • report which nondeterminism sources a run used (M7 W2a, #187) (#265)
  • rivulet inspect — pipeline inspector/diagnostics (M7 W5, #191) (#261)
  • track-model GUI — tracks panel, membership, persistence, i18n (#247)
  • container/remux parity for multi-track recordings (#242) (#246)
  • build per-bus pipeline branches with live track masters (#242) (#245)
  • per-track audio model — bus types, audio_tracks_v1, migration (#242) (#244)
  • log redacted pipeline plus GStreamer domain/code on construction failure (#243)
  • Steam game detection via local manifests (#239) (#240)
  • add injectable engine clock with virtual PTS stamping (#187) (#238)
  • add macOS Core Audio device capture for the Mixer (#231) (#237)
  • add Linux PipeWire device capture for the Mixer (#231) (#236)
  • real wry browser-source adapter with input forwarding and transparency (#227) (#228)
  • live-refresh the per-app process picker while it is open
  • live-refresh the WASAPI device picker while it is open
  • WASAPI device capture for mixer Output/Input sources (#229) (#230)
  • scene-item copy/paste with deterministic ids and paste-undo (#192) (#226)
  • wry/WebView2 browser-source POC via CapturePreview (#215) (#223)
  • per-platform stream title/game drafts in the stream-info editor (#214) (#220)
  • add replay-buffer and studio-mode v5 actions for full Stream Deck coverage (#219)
  • per-source rate limiting with visible suppression notices (#210)
  • parse YouTube engagement events (Super Chats/Stickers/members) from the Innertube poll feed (#209)
  • parse Kick engagement events (subs/gifts) from the Pusher chat stream (#208)
  • make the raid alert direction configurable (out/in/both) (#207)
  • resolve shared-chat room ids to channel logins via cached Helix lookup (#205)
  • attribute Twitch Shared Chat messages by source room (#203)
  • stream-info editor in the combined dock (#197)
  • headless rivulet-cli MVP with record subcommand (issue #186) (#194)
  • VOD track settings UI for the streaming view (issue #78) (#180)
  • VOD track third audio branch in dual-output recording (issue #78) (#179)
  • re-enable AccessKit and confirm destructive actions (#171)
  • combined alerts dock — one live list for all platforms (#166)
  • combined multi-platform chat dock — one list, one send box (#164)
  • sound/voice generation track for the AI Creative Studio (#162)
  • macOS system-loopback per-app fallback (Phase 5 of #154) (#160)
  • Linux PipeWire per-app audio capture backend (Phase 4 of #154) (#158)
  • WASAPI per-application capture backend (Phase 3, #154) (#157)
  • multi-track audio routing mixer (M6 #154 Phase 2) (#156)
  • multi-track audio routing engine core (M6, #154 Phase 1) (#155)
  • emit SceneSwitch, ChatConnect and RecordingError events (#152)
  • Phase 3 capability approval + install flow (registry + GUI) (#146)
  • complete Phase 2 WASM plugin runtime (wasmtime sandbox + lifecycle) (#142)
  • AUR PKGBUILD for Arch Linux (#140)
  • mobile & HTTP remote companion for LAN scenes/record/stream (M6) (#141)
  • native outbound Twitch EventSub WebSocket transport (M5) (#139)
  • opt-in loopback webhook receiver (M5) (#132)
  • Flathub Stage 2 preparation (M5) (#135)
  • Scoop bucket for Rivulet (no signing required) (#137)
  • WinGet Stage 2 preparation (M5) (#134)
  • native chat-dock alert ingestion (M5) (#130)
  • M5 opt-in, privacy-first usage telemetry (#128)
  • Spanish as third wiki language + topic report in wiki job (#125)
  • SignPath Foundation Windows signing path (#50) (#124)
  • Linux GPG signing and maintainer setup doc (#50) (#123)
  • auto-derive user-guide topics from GUI i18n keys (#121)
  • doc-freshness enforcement for wiki and user manual (#120)
  • host-boundary skip-path tests (Z96-3) (#118)
  • Windows COM host skeleton (Z96-2) with boundary tests (#117)
  • source delete hotkey (M5 OBS 32.2 parity) (#113) (#114)
  • restream, auto-clips, VST3 host boundary (#116)
  • complete multi-language support (M5) (#115)

Bug fixes

  • wasmtime 48.0.5 → 49.0.3, wasmtime-wasi → 49.0.3 und rustls → 0.23.46 (16 RUSTSEC-Advisories) (#321)
  • Doku-Assets aus der Manifest-Abdeckung ausschliessen (#286)
  • make the retry backoff and the filename renderer total (#273)
  • stop the PMT pre-scan from dropping the last audio track (#272)
  • parse H.265 recording streams so NVENC/x265 pipelines build (#255)
  • report a failed pipeline build once per session, not once per frame (#253)
  • colocate WebView2Loader.dll with the exe on every Windows build
  • speak the real v5 wire names so Stream Deck plugins can drive Rivulet (#212)
  • use the directional from_broadcaster_user_id raid condition (#204)
  • nightly is green again — alsa deps, drifted pins, tag regex (#173)
  • poll EventSub stats until subscriptions are created (#169)
  • arm EventSub API stub deadline on first request (#167)
  • weekly promotion sets a git identity before tagging (#165)
  • resolve the open code-scanning alerts (#112)

Documentation

  • record #327 (blocking stale-pins gate) and the develop ruleset change (#329)
  • Beta-Scope auf Windows + Linux festgelegt, Kriterium #4 ehrlich formuliert (macOS bewusst zurückgestellt) (#306)
  • Meilenstein eroeffnet — sechs Workstream-Issues plus belegter Ist-Zustand (#298)
  • M7-Abschlussbericht + korrekte Statuszeilen (Conditional Pass) (#290)
  • document and pin the dismissed Dependabot glib advisory (#271)
  • document the full branch-commit-PR-merge flow (#250)
  • document the WebView2Loader.dll copy step for local GUI runs
  • close the interim backlog milestone — README status, shipped #215 (#224)
  • mark M6.9 per-platform stream metadata (#214) as shipped (#221)
  • add interim backlog milestone for scene & stream polish (issues #214-#217) (#218)
  • Stream Deck connection steps in the obs-websocket section (#213)
  • design the automated winget-pkgs submission flow (#201)
  • document the stream-info editor in the combined chat dock (#198)
  • spec and workstream issues for the Automation & Determinism milestone (#193)
  • track F-M6-001/002 live-evidence follow-ups (#182/#183) (#184)
  • document global status surface and sync stale repo docs with the wiki (#181)
  • describe combined chat dock and OS-vault account model (#170)
  • creator toolkit completion report and milestone close (#168)
  • M6 status to In progress with per-criterion gate notes (#153)
  • AI settings placement — Settings page + Assistant tab (closes #149) (#151)
  • close M5 with honest annotations (#150)
  • M5 descope annotations — OBS-compat to M11, honest blockers (#148)
  • AI Creative Studio (Spark-like) roadmap acceptance + off-switches (#143)
  • mark global hotkeys, Discord RP and chat dock (M5) Done (#133)
  • record SignPath Foundation application as submitted (#131)
  • add ready-to-submit SignPath Foundation application draft (#126)
  • Z96-4 hosting contract, platform matrix, and gating (#122)
  • decompose #78 and #96 into subtasks (#111)

Build & packaging

  • bump the Windows GStreamer runtime pin to 1.28.6 (#108, #109) (#110)

CI

  • make the pin-staleness check a blocking PR check (#327)
  • SHA256SUMS aus einem getesteten Skript, plus Post-Publish-Verifikation (#285)
  • melde verrutschte Action-Pins bei jedem Push statt nur nachts (#280)
  • bump the stale rust-toolchain pin and stop treating branch drift as fatal (#279)
  • offene Code-Scanning-Alerts als Gate erzwingen (#274)
  • daily PAT expiry guard for SCOOP_BUCKET_TOKEN (#202)
  • bump codeql-action pins v4.38.0 -> v4.38.1 (#196)
  • delete temporary release branch after a successful release (#195)
  • extend apt package parity to all workflows (#178)
  • enforce apt package parity between ci.yml and nightly.yml (#175)
  • prepare every active channel once per week from weekly-latest (#145)

Tests

  • run the #293 examples in CI, link their overview, and drain the YouTube fixture request (#310)
  • M8 API-contract proof, wrapper regression guards, and honest delivery state (#307)
  • Frame-Budget-Gate misst den Producer-Pfad statt des Schedulers (#287)
  • pace the resource-report producer so the gate stops depending on machine load (#278)
  • stop the EventSub puppet test from losing a subscription POST (#275)
  • shared wait_until poll helper replaces hand-rolled deadline loops (#269)
  • poll async engine state instead of fixed sleeps (timing audit) (#267)
  • deterministic test helpers: golden frames, PTS/DTS, scene state (#266)
  • poll the log buffer instead of a fixed sleep in worker log tests (#264)
  • consolidate ci_pinning surface guards, phase 3 (Part of #231) (#262)
  • harden the per-track model (issue #242) with isolation, pad, and doc parity (#254)
  • unit-test the remux funnel fan-in with simulated tsdemux pad waves (#249)
  • pin shared-chat reply threading to the joined room's delivery id (#206)
  • require a git identity in every weekly-promotion committing step (#199)
  • M6 resource report — 6 routed sources with full filter chains within budget (#161)

Refactoring

  • parse workflow YAML structurally in guard scripts (Part of #231) (#263)
  • slim the pinning suite by origin-tested detail pins (phase 1+2) (#257)

Housekeeping

  • codeql-action v4.39.0 -> v4.39.1 nachgezogen (#326)
  • Sechs veraltete Action-Pins innerhalb ihrer Major-Version angehoben (#325)
  • bump actions/upload-artifact from 7.0.1 to 7.0.2 (#313)
  • bump github/codeql-action/init from 4.38.2 to 4.38.3 (#317)
  • bump rustls from 0.23.43 to 0.23.45 in /fuzz (#308)
  • bump the wasmtime family 48.0.3 -> 48.0.5 for seven advisories (#...
Read more

Rivulet 0.65.0-alpha.291

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Oct 06:41

Features

  • stabile Capture-Backends (#296), strukturierte Encoder-Erkennung (#295) und typisierte Früh-Validierung (#294) (#320)
  • Crashreport wie in OBS anbieten (Help → Crash reports, ohne Token, ohne Auto-Filing) (#305)
  • Crashreport als kopierfertigen Bugreport erzeugen (Settings, lokal, ohne Transport) (#299)
  • YouTube sendet ueber die offizielle Live-Streaming-API (Issue #100) (#291)
  • Steam-Erkennung laeuft auch auf Linux, ueber XDG statt Registry (#284)
  • Steam-Installationsverzeichnisse fuellen die Executable-Liste (#283)
  • Epic, GOG, Origin/EA app und Battle.net identifizieren (#281)
  • batch rendering — video from code (M7 W3, #189)
  • report which nondeterminism sources a run used (M7 W2a, #187) (#265)
  • rivulet inspect — pipeline inspector/diagnostics (M7 W5, #191) (#261)
  • track-model GUI — tracks panel, membership, persistence, i18n (#247)
  • container/remux parity for multi-track recordings (#242) (#246)
  • build per-bus pipeline branches with live track masters (#242) (#245)
  • per-track audio model — bus types, audio_tracks_v1, migration (#242) (#244)
  • log redacted pipeline plus GStreamer domain/code on construction failure (#243)
  • Steam game detection via local manifests (#239) (#240)
  • add injectable engine clock with virtual PTS stamping (#187) (#238)
  • add macOS Core Audio device capture for the Mixer (#231) (#237)
  • add Linux PipeWire device capture for the Mixer (#231) (#236)
  • real wry browser-source adapter with input forwarding and transparency (#227) (#228)
  • live-refresh the per-app process picker while it is open
  • live-refresh the WASAPI device picker while it is open
  • WASAPI device capture for mixer Output/Input sources (#229) (#230)
  • scene-item copy/paste with deterministic ids and paste-undo (#192) (#226)
  • wry/WebView2 browser-source POC via CapturePreview (#215) (#223)
  • per-platform stream title/game drafts in the stream-info editor (#214) (#220)
  • add replay-buffer and studio-mode v5 actions for full Stream Deck coverage (#219)
  • per-source rate limiting with visible suppression notices (#210)
  • parse YouTube engagement events (Super Chats/Stickers/members) from the Innertube poll feed (#209)
  • parse Kick engagement events (subs/gifts) from the Pusher chat stream (#208)
  • make the raid alert direction configurable (out/in/both) (#207)
  • resolve shared-chat room ids to channel logins via cached Helix lookup (#205)
  • attribute Twitch Shared Chat messages by source room (#203)
  • stream-info editor in the combined dock (#197)
  • headless rivulet-cli MVP with record subcommand (issue #186) (#194)
  • VOD track settings UI for the streaming view (issue #78) (#180)
  • VOD track third audio branch in dual-output recording (issue #78) (#179)
  • re-enable AccessKit and confirm destructive actions (#171)
  • combined alerts dock — one live list for all platforms (#166)
  • combined multi-platform chat dock — one list, one send box (#164)
  • sound/voice generation track for the AI Creative Studio (#162)
  • macOS system-loopback per-app fallback (Phase 5 of #154) (#160)
  • Linux PipeWire per-app audio capture backend (Phase 4 of #154) (#158)
  • WASAPI per-application capture backend (Phase 3, #154) (#157)
  • multi-track audio routing mixer (M6 #154 Phase 2) (#156)
  • multi-track audio routing engine core (M6, #154 Phase 1) (#155)
  • emit SceneSwitch, ChatConnect and RecordingError events (#152)
  • Phase 3 capability approval + install flow (registry + GUI) (#146)
  • complete Phase 2 WASM plugin runtime (wasmtime sandbox + lifecycle) (#142)
  • AUR PKGBUILD for Arch Linux (#140)
  • mobile & HTTP remote companion for LAN scenes/record/stream (M6) (#141)
  • native outbound Twitch EventSub WebSocket transport (M5) (#139)
  • opt-in loopback webhook receiver (M5) (#132)
  • Flathub Stage 2 preparation (M5) (#135)
  • Scoop bucket for Rivulet (no signing required) (#137)
  • WinGet Stage 2 preparation (M5) (#134)
  • native chat-dock alert ingestion (M5) (#130)
  • M5 opt-in, privacy-first usage telemetry (#128)
  • Spanish as third wiki language + topic report in wiki job (#125)
  • SignPath Foundation Windows signing path (#50) (#124)
  • Linux GPG signing and maintainer setup doc (#50) (#123)
  • auto-derive user-guide topics from GUI i18n keys (#121)
  • doc-freshness enforcement for wiki and user manual (#120)
  • host-boundary skip-path tests (Z96-3) (#118)
  • Windows COM host skeleton (Z96-2) with boundary tests (#117)
  • source delete hotkey (M5 OBS 32.2 parity) (#113) (#114)
  • restream, auto-clips, VST3 host boundary (#116)
  • complete multi-language support (M5) (#115)

Bug fixes

  • wasmtime 48.0.5 → 49.0.3, wasmtime-wasi → 49.0.3 und rustls → 0.23.46 (16 RUSTSEC-Advisories) (#321)
  • Doku-Assets aus der Manifest-Abdeckung ausschliessen (#286)
  • make the retry backoff and the filename renderer total (#273)
  • stop the PMT pre-scan from dropping the last audio track (#272)
  • parse H.265 recording streams so NVENC/x265 pipelines build (#255)
  • report a failed pipeline build once per session, not once per frame (#253)
  • colocate WebView2Loader.dll with the exe on every Windows build
  • speak the real v5 wire names so Stream Deck plugins can drive Rivulet (#212)
  • use the directional from_broadcaster_user_id raid condition (#204)
  • nightly is green again — alsa deps, drifted pins, tag regex (#173)
  • poll EventSub stats until subscriptions are created (#169)
  • arm EventSub API stub deadline on first request (#167)
  • weekly promotion sets a git identity before tagging (#165)
  • resolve the open code-scanning alerts (#112)

Documentation

  • Beta-Scope auf Windows + Linux festgelegt, Kriterium #4 ehrlich formuliert (macOS bewusst zurückgestellt) (#306)
  • Meilenstein eroeffnet — sechs Workstream-Issues plus belegter Ist-Zustand (#298)
  • M7-Abschlussbericht + korrekte Statuszeilen (Conditional Pass) (#290)
  • document and pin the dismissed Dependabot glib advisory (#271)
  • document the full branch-commit-PR-merge flow (#250)
  • document the WebView2Loader.dll copy step for local GUI runs
  • close the interim backlog milestone — README status, shipped #215 (#224)
  • mark M6.9 per-platform stream metadata (#214) as shipped (#221)
  • add interim backlog milestone for scene & stream polish (issues #214-#217) (#218)
  • Stream Deck connection steps in the obs-websocket section (#213)
  • design the automated winget-pkgs submission flow (#201)
  • document the stream-info editor in the combined chat dock (#198)
  • spec and workstream issues for the Automation & Determinism milestone (#193)
  • track F-M6-001/002 live-evidence follow-ups (#182/#183) (#184)
  • document global status surface and sync stale repo docs with the wiki (#181)
  • describe combined chat dock and OS-vault account model (#170)
  • creator toolkit completion report and milestone close (#168)
  • M6 status to In progress with per-criterion gate notes (#153)
  • AI settings placement — Settings page + Assistant tab (closes #149) (#151)
  • close M5 with honest annotations (#150)
  • M5 descope annotations — OBS-compat to M11, honest blockers (#148)
  • AI Creative Studio (Spark-like) roadmap acceptance + off-switches (#143)
  • mark global hotkeys, Discord RP and chat dock (M5) Done (#133)
  • record SignPath Foundation application as submitted (#131)
  • add ready-to-submit SignPath Foundation application draft (#126)
  • Z96-4 hosting contract, platform matrix, and gating (#122)
  • decompose #78 and #96 into subtasks (#111)

Build & packaging

  • bump the Windows GStreamer runtime pin to 1.28.6 (#108, #109) (#110)

CI

  • make the pin-staleness check a blocking PR check (#327)
  • SHA256SUMS aus einem getesteten Skript, plus Post-Publish-Verifikation (#285)
  • melde verrutschte Action-Pins bei jedem Push statt nur nachts (#280)
  • bump the stale rust-toolchain pin and stop treating branch drift as fatal (#279)
  • offene Code-Scanning-Alerts als Gate erzwingen (#274)
  • daily PAT expiry guard for SCOOP_BUCKET_TOKEN (#202)
  • bump codeql-action pins v4.38.0 -> v4.38.1 (#196)
  • delete temporary release branch after a successful release (#195)
  • extend apt package parity to all workflows (#178)
  • enforce apt package parity between ci.yml and nightly.yml (#175)
  • prepare every active channel once per week from weekly-latest (#145)

Tests

  • run the #293 examples in CI, link their overview, and drain the YouTube fixture request (#310)
  • M8 API-contract proof, wrapper regression guards, and honest delivery state (#307)
  • Frame-Budget-Gate misst den Producer-Pfad statt des Schedulers (#287)
  • pace the resource-report producer so the gate stops depending on machine load (#278)
  • stop the EventSub puppet test from losing a subscription POST (#275)
  • shared wait_until poll helper replaces hand-rolled deadline loops (#269)
  • poll async engine state instead of fixed sleeps (timing audit) (#267)
  • deterministic test helpers: golden frames, PTS/DTS, scene state (#266)
  • poll the log buffer instead of a fixed sleep in worker log tests (#264)
  • consolidate ci_pinning surface guards, phase 3 (Part of #231) (#262)
  • harden the per-track model (issue #242) with isolation, pad, and doc parity (#254)
  • unit-test the remux funnel fan-in with simulated tsdemux pad waves (#249)
  • pin shared-chat reply threading to the joined room's delivery id (#206)
  • require a git identity in every weekly-promotion committing step (#199)
  • M6 resource report — 6 routed sources with full filter chains within budget (#161)

Refactoring

  • parse workflow YAML structurally in guard scripts (Part of #231) (#263)
  • slim the pinning suite by origin-tested detail pins (phase 1+2) (#257)

Housekeeping

  • codeql-action v4.39.0 -> v4.39.1 nachgezogen (#326)
  • Sechs veraltete Action-Pins innerhalb ihrer Major-Version angehoben (#325)
  • bump actions/upload-artifact from 7.0.1 to 7.0.2 (#313)
  • bump github/codeql-action/init from 4.38.2 to 4.38.3 (#317)
  • bump rustls from 0.23.43 to 0.23.45 in /fuzz (#308)
  • bump the wasmtime family 48.0.3 -> 48.0.5 for seven advisories (#277)
  • team readiness — CODEOWNERS, staged review gate, clean desk (#251)
  • bum...
Read more

Rivulet 0.65.0-alpha.290

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Oct 05:48

Features

  • stabile Capture-Backends (#296), strukturierte Encoder-Erkennung (#295) und typisierte Früh-Validierung (#294) (#320)
  • Crashreport wie in OBS anbieten (Help → Crash reports, ohne Token, ohne Auto-Filing) (#305)
  • Crashreport als kopierfertigen Bugreport erzeugen (Settings, lokal, ohne Transport) (#299)
  • YouTube sendet ueber die offizielle Live-Streaming-API (Issue #100) (#291)
  • Steam-Erkennung laeuft auch auf Linux, ueber XDG statt Registry (#284)
  • Steam-Installationsverzeichnisse fuellen die Executable-Liste (#283)
  • Epic, GOG, Origin/EA app und Battle.net identifizieren (#281)
  • batch rendering — video from code (M7 W3, #189)
  • report which nondeterminism sources a run used (M7 W2a, #187) (#265)
  • rivulet inspect — pipeline inspector/diagnostics (M7 W5, #191) (#261)
  • track-model GUI — tracks panel, membership, persistence, i18n (#247)
  • container/remux parity for multi-track recordings (#242) (#246)
  • build per-bus pipeline branches with live track masters (#242) (#245)
  • per-track audio model — bus types, audio_tracks_v1, migration (#242) (#244)
  • log redacted pipeline plus GStreamer domain/code on construction failure (#243)
  • Steam game detection via local manifests (#239) (#240)
  • add injectable engine clock with virtual PTS stamping (#187) (#238)
  • add macOS Core Audio device capture for the Mixer (#231) (#237)
  • add Linux PipeWire device capture for the Mixer (#231) (#236)
  • real wry browser-source adapter with input forwarding and transparency (#227) (#228)
  • live-refresh the per-app process picker while it is open
  • live-refresh the WASAPI device picker while it is open
  • WASAPI device capture for mixer Output/Input sources (#229) (#230)
  • scene-item copy/paste with deterministic ids and paste-undo (#192) (#226)
  • wry/WebView2 browser-source POC via CapturePreview (#215) (#223)
  • per-platform stream title/game drafts in the stream-info editor (#214) (#220)
  • add replay-buffer and studio-mode v5 actions for full Stream Deck coverage (#219)
  • per-source rate limiting with visible suppression notices (#210)
  • parse YouTube engagement events (Super Chats/Stickers/members) from the Innertube poll feed (#209)
  • parse Kick engagement events (subs/gifts) from the Pusher chat stream (#208)
  • make the raid alert direction configurable (out/in/both) (#207)
  • resolve shared-chat room ids to channel logins via cached Helix lookup (#205)
  • attribute Twitch Shared Chat messages by source room (#203)
  • stream-info editor in the combined dock (#197)
  • headless rivulet-cli MVP with record subcommand (issue #186) (#194)
  • VOD track settings UI for the streaming view (issue #78) (#180)
  • VOD track third audio branch in dual-output recording (issue #78) (#179)
  • re-enable AccessKit and confirm destructive actions (#171)
  • combined alerts dock — one live list for all platforms (#166)
  • combined multi-platform chat dock — one list, one send box (#164)
  • sound/voice generation track for the AI Creative Studio (#162)
  • macOS system-loopback per-app fallback (Phase 5 of #154) (#160)
  • Linux PipeWire per-app audio capture backend (Phase 4 of #154) (#158)
  • WASAPI per-application capture backend (Phase 3, #154) (#157)
  • multi-track audio routing mixer (M6 #154 Phase 2) (#156)
  • multi-track audio routing engine core (M6, #154 Phase 1) (#155)
  • emit SceneSwitch, ChatConnect and RecordingError events (#152)
  • Phase 3 capability approval + install flow (registry + GUI) (#146)
  • complete Phase 2 WASM plugin runtime (wasmtime sandbox + lifecycle) (#142)
  • AUR PKGBUILD for Arch Linux (#140)
  • mobile & HTTP remote companion for LAN scenes/record/stream (M6) (#141)
  • native outbound Twitch EventSub WebSocket transport (M5) (#139)
  • opt-in loopback webhook receiver (M5) (#132)
  • Flathub Stage 2 preparation (M5) (#135)
  • Scoop bucket for Rivulet (no signing required) (#137)
  • WinGet Stage 2 preparation (M5) (#134)
  • native chat-dock alert ingestion (M5) (#130)
  • M5 opt-in, privacy-first usage telemetry (#128)
  • Spanish as third wiki language + topic report in wiki job (#125)
  • SignPath Foundation Windows signing path (#50) (#124)
  • Linux GPG signing and maintainer setup doc (#50) (#123)
  • auto-derive user-guide topics from GUI i18n keys (#121)
  • doc-freshness enforcement for wiki and user manual (#120)
  • host-boundary skip-path tests (Z96-3) (#118)
  • Windows COM host skeleton (Z96-2) with boundary tests (#117)
  • source delete hotkey (M5 OBS 32.2 parity) (#113) (#114)
  • restream, auto-clips, VST3 host boundary (#116)
  • complete multi-language support (M5) (#115)

Bug fixes

  • wasmtime 48.0.5 → 49.0.3, wasmtime-wasi → 49.0.3 und rustls → 0.23.46 (16 RUSTSEC-Advisories) (#321)
  • Doku-Assets aus der Manifest-Abdeckung ausschliessen (#286)
  • make the retry backoff and the filename renderer total (#273)
  • stop the PMT pre-scan from dropping the last audio track (#272)
  • parse H.265 recording streams so NVENC/x265 pipelines build (#255)
  • report a failed pipeline build once per session, not once per frame (#253)
  • colocate WebView2Loader.dll with the exe on every Windows build
  • speak the real v5 wire names so Stream Deck plugins can drive Rivulet (#212)
  • use the directional from_broadcaster_user_id raid condition (#204)
  • nightly is green again — alsa deps, drifted pins, tag regex (#173)
  • poll EventSub stats until subscriptions are created (#169)
  • arm EventSub API stub deadline on first request (#167)
  • weekly promotion sets a git identity before tagging (#165)
  • resolve the open code-scanning alerts (#112)

Documentation

  • Beta-Scope auf Windows + Linux festgelegt, Kriterium #4 ehrlich formuliert (macOS bewusst zurückgestellt) (#306)
  • Meilenstein eroeffnet — sechs Workstream-Issues plus belegter Ist-Zustand (#298)
  • M7-Abschlussbericht + korrekte Statuszeilen (Conditional Pass) (#290)
  • document and pin the dismissed Dependabot glib advisory (#271)
  • document the full branch-commit-PR-merge flow (#250)
  • document the WebView2Loader.dll copy step for local GUI runs
  • close the interim backlog milestone — README status, shipped #215 (#224)
  • mark M6.9 per-platform stream metadata (#214) as shipped (#221)
  • add interim backlog milestone for scene & stream polish (issues #214-#217) (#218)
  • Stream Deck connection steps in the obs-websocket section (#213)
  • design the automated winget-pkgs submission flow (#201)
  • document the stream-info editor in the combined chat dock (#198)
  • spec and workstream issues for the Automation & Determinism milestone (#193)
  • track F-M6-001/002 live-evidence follow-ups (#182/#183) (#184)
  • document global status surface and sync stale repo docs with the wiki (#181)
  • describe combined chat dock and OS-vault account model (#170)
  • creator toolkit completion report and milestone close (#168)
  • M6 status to In progress with per-criterion gate notes (#153)
  • AI settings placement — Settings page + Assistant tab (closes #149) (#151)
  • close M5 with honest annotations (#150)
  • M5 descope annotations — OBS-compat to M11, honest blockers (#148)
  • AI Creative Studio (Spark-like) roadmap acceptance + off-switches (#143)
  • mark global hotkeys, Discord RP and chat dock (M5) Done (#133)
  • record SignPath Foundation application as submitted (#131)
  • add ready-to-submit SignPath Foundation application draft (#126)
  • Z96-4 hosting contract, platform matrix, and gating (#122)
  • decompose #78 and #96 into subtasks (#111)

Build & packaging

  • bump the Windows GStreamer runtime pin to 1.28.6 (#108, #109) (#110)

CI

  • SHA256SUMS aus einem getesteten Skript, plus Post-Publish-Verifikation (#285)
  • melde verrutschte Action-Pins bei jedem Push statt nur nachts (#280)
  • bump the stale rust-toolchain pin and stop treating branch drift as fatal (#279)
  • offene Code-Scanning-Alerts als Gate erzwingen (#274)
  • daily PAT expiry guard for SCOOP_BUCKET_TOKEN (#202)
  • bump codeql-action pins v4.38.0 -> v4.38.1 (#196)
  • delete temporary release branch after a successful release (#195)
  • extend apt package parity to all workflows (#178)
  • enforce apt package parity between ci.yml and nightly.yml (#175)
  • prepare every active channel once per week from weekly-latest (#145)

Tests

  • run the #293 examples in CI, link their overview, and drain the YouTube fixture request (#310)
  • M8 API-contract proof, wrapper regression guards, and honest delivery state (#307)
  • Frame-Budget-Gate misst den Producer-Pfad statt des Schedulers (#287)
  • pace the resource-report producer so the gate stops depending on machine load (#278)
  • stop the EventSub puppet test from losing a subscription POST (#275)
  • shared wait_until poll helper replaces hand-rolled deadline loops (#269)
  • poll async engine state instead of fixed sleeps (timing audit) (#267)
  • deterministic test helpers: golden frames, PTS/DTS, scene state (#266)
  • poll the log buffer instead of a fixed sleep in worker log tests (#264)
  • consolidate ci_pinning surface guards, phase 3 (Part of #231) (#262)
  • harden the per-track model (issue #242) with isolation, pad, and doc parity (#254)
  • unit-test the remux funnel fan-in with simulated tsdemux pad waves (#249)
  • pin shared-chat reply threading to the joined room's delivery id (#206)
  • require a git identity in every weekly-promotion committing step (#199)
  • M6 resource report — 6 routed sources with full filter chains within budget (#161)

Refactoring

  • parse workflow YAML structurally in guard scripts (Part of #231) (#263)
  • slim the pinning suite by origin-tested detail pins (phase 1+2) (#257)

Housekeeping

  • codeql-action v4.39.0 -> v4.39.1 nachgezogen (#326)
  • Sechs veraltete Action-Pins innerhalb ihrer Major-Version angehoben (#325)
  • bump actions/upload-artifact from 7.0.1 to 7.0.2 (#313)
  • bump github/codeql-action/init from 4.38.2 to 4.38.3 (#317)
  • bump rustls from 0.23.43 to 0.23.45 in /fuzz (#308)
  • bump the wasmtime family 48.0.3 -> 48.0.5 for seven advisories (#277)
  • team readiness — CODEOWNERS, staged review gate, clean desk (#251)
  • bump codeql-action pins to v4.38.2 (#248)
  • paste-in SignPath...
Read more

Rivulet 0.65.0-alpha.289

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 10:17

Features

  • stabile Capture-Backends (#296), strukturierte Encoder-Erkennung (#295) und typisierte Früh-Validierung (#294) (#320)
  • Crashreport wie in OBS anbieten (Help → Crash reports, ohne Token, ohne Auto-Filing) (#305)
  • Crashreport als kopierfertigen Bugreport erzeugen (Settings, lokal, ohne Transport) (#299)
  • YouTube sendet ueber die offizielle Live-Streaming-API (Issue #100) (#291)
  • Steam-Erkennung laeuft auch auf Linux, ueber XDG statt Registry (#284)
  • Steam-Installationsverzeichnisse fuellen die Executable-Liste (#283)
  • Epic, GOG, Origin/EA app und Battle.net identifizieren (#281)
  • batch rendering — video from code (M7 W3, #189)
  • report which nondeterminism sources a run used (M7 W2a, #187) (#265)
  • rivulet inspect — pipeline inspector/diagnostics (M7 W5, #191) (#261)
  • track-model GUI — tracks panel, membership, persistence, i18n (#247)
  • container/remux parity for multi-track recordings (#242) (#246)
  • build per-bus pipeline branches with live track masters (#242) (#245)
  • per-track audio model — bus types, audio_tracks_v1, migration (#242) (#244)
  • log redacted pipeline plus GStreamer domain/code on construction failure (#243)
  • Steam game detection via local manifests (#239) (#240)
  • add injectable engine clock with virtual PTS stamping (#187) (#238)
  • add macOS Core Audio device capture for the Mixer (#231) (#237)
  • add Linux PipeWire device capture for the Mixer (#231) (#236)
  • real wry browser-source adapter with input forwarding and transparency (#227) (#228)
  • live-refresh the per-app process picker while it is open
  • live-refresh the WASAPI device picker while it is open
  • WASAPI device capture for mixer Output/Input sources (#229) (#230)
  • scene-item copy/paste with deterministic ids and paste-undo (#192) (#226)
  • wry/WebView2 browser-source POC via CapturePreview (#215) (#223)
  • per-platform stream title/game drafts in the stream-info editor (#214) (#220)
  • add replay-buffer and studio-mode v5 actions for full Stream Deck coverage (#219)
  • per-source rate limiting with visible suppression notices (#210)
  • parse YouTube engagement events (Super Chats/Stickers/members) from the Innertube poll feed (#209)
  • parse Kick engagement events (subs/gifts) from the Pusher chat stream (#208)
  • make the raid alert direction configurable (out/in/both) (#207)
  • resolve shared-chat room ids to channel logins via cached Helix lookup (#205)
  • attribute Twitch Shared Chat messages by source room (#203)
  • stream-info editor in the combined dock (#197)
  • headless rivulet-cli MVP with record subcommand (issue #186) (#194)
  • VOD track settings UI for the streaming view (issue #78) (#180)
  • VOD track third audio branch in dual-output recording (issue #78) (#179)
  • re-enable AccessKit and confirm destructive actions (#171)
  • combined alerts dock — one live list for all platforms (#166)
  • combined multi-platform chat dock — one list, one send box (#164)
  • sound/voice generation track for the AI Creative Studio (#162)
  • macOS system-loopback per-app fallback (Phase 5 of #154) (#160)
  • Linux PipeWire per-app audio capture backend (Phase 4 of #154) (#158)
  • WASAPI per-application capture backend (Phase 3, #154) (#157)
  • multi-track audio routing mixer (M6 #154 Phase 2) (#156)
  • multi-track audio routing engine core (M6, #154 Phase 1) (#155)
  • emit SceneSwitch, ChatConnect and RecordingError events (#152)
  • Phase 3 capability approval + install flow (registry + GUI) (#146)
  • complete Phase 2 WASM plugin runtime (wasmtime sandbox + lifecycle) (#142)
  • AUR PKGBUILD for Arch Linux (#140)
  • mobile & HTTP remote companion for LAN scenes/record/stream (M6) (#141)
  • native outbound Twitch EventSub WebSocket transport (M5) (#139)
  • opt-in loopback webhook receiver (M5) (#132)
  • Flathub Stage 2 preparation (M5) (#135)
  • Scoop bucket for Rivulet (no signing required) (#137)
  • WinGet Stage 2 preparation (M5) (#134)
  • native chat-dock alert ingestion (M5) (#130)
  • M5 opt-in, privacy-first usage telemetry (#128)
  • Spanish as third wiki language + topic report in wiki job (#125)
  • SignPath Foundation Windows signing path (#50) (#124)
  • Linux GPG signing and maintainer setup doc (#50) (#123)
  • auto-derive user-guide topics from GUI i18n keys (#121)
  • doc-freshness enforcement for wiki and user manual (#120)
  • host-boundary skip-path tests (Z96-3) (#118)
  • Windows COM host skeleton (Z96-2) with boundary tests (#117)
  • source delete hotkey (M5 OBS 32.2 parity) (#113) (#114)
  • restream, auto-clips, VST3 host boundary (#116)
  • complete multi-language support (M5) (#115)

Bug fixes

  • wasmtime 48.0.5 → 49.0.3, wasmtime-wasi → 49.0.3 und rustls → 0.23.46 (16 RUSTSEC-Advisories) (#321)
  • Doku-Assets aus der Manifest-Abdeckung ausschliessen (#286)
  • make the retry backoff and the filename renderer total (#273)
  • stop the PMT pre-scan from dropping the last audio track (#272)
  • parse H.265 recording streams so NVENC/x265 pipelines build (#255)
  • report a failed pipeline build once per session, not once per frame (#253)
  • colocate WebView2Loader.dll with the exe on every Windows build
  • speak the real v5 wire names so Stream Deck plugins can drive Rivulet (#212)
  • use the directional from_broadcaster_user_id raid condition (#204)
  • nightly is green again — alsa deps, drifted pins, tag regex (#173)
  • poll EventSub stats until subscriptions are created (#169)
  • arm EventSub API stub deadline on first request (#167)
  • weekly promotion sets a git identity before tagging (#165)
  • resolve the open code-scanning alerts (#112)

Documentation

  • Beta-Scope auf Windows + Linux festgelegt, Kriterium #4 ehrlich formuliert (macOS bewusst zurückgestellt) (#306)
  • Meilenstein eroeffnet — sechs Workstream-Issues plus belegter Ist-Zustand (#298)
  • M7-Abschlussbericht + korrekte Statuszeilen (Conditional Pass) (#290)
  • document and pin the dismissed Dependabot glib advisory (#271)
  • document the full branch-commit-PR-merge flow (#250)
  • document the WebView2Loader.dll copy step for local GUI runs
  • close the interim backlog milestone — README status, shipped #215 (#224)
  • mark M6.9 per-platform stream metadata (#214) as shipped (#221)
  • add interim backlog milestone for scene & stream polish (issues #214-#217) (#218)
  • Stream Deck connection steps in the obs-websocket section (#213)
  • design the automated winget-pkgs submission flow (#201)
  • document the stream-info editor in the combined chat dock (#198)
  • spec and workstream issues for the Automation & Determinism milestone (#193)
  • track F-M6-001/002 live-evidence follow-ups (#182/#183) (#184)
  • document global status surface and sync stale repo docs with the wiki (#181)
  • describe combined chat dock and OS-vault account model (#170)
  • creator toolkit completion report and milestone close (#168)
  • M6 status to In progress with per-criterion gate notes (#153)
  • AI settings placement — Settings page + Assistant tab (closes #149) (#151)
  • close M5 with honest annotations (#150)
  • M5 descope annotations — OBS-compat to M11, honest blockers (#148)
  • AI Creative Studio (Spark-like) roadmap acceptance + off-switches (#143)
  • mark global hotkeys, Discord RP and chat dock (M5) Done (#133)
  • record SignPath Foundation application as submitted (#131)
  • add ready-to-submit SignPath Foundation application draft (#126)
  • Z96-4 hosting contract, platform matrix, and gating (#122)
  • decompose #78 and #96 into subtasks (#111)

Build & packaging

  • bump the Windows GStreamer runtime pin to 1.28.6 (#108, #109) (#110)

CI

  • SHA256SUMS aus einem getesteten Skript, plus Post-Publish-Verifikation (#285)
  • melde verrutschte Action-Pins bei jedem Push statt nur nachts (#280)
  • bump the stale rust-toolchain pin and stop treating branch drift as fatal (#279)
  • offene Code-Scanning-Alerts als Gate erzwingen (#274)
  • daily PAT expiry guard for SCOOP_BUCKET_TOKEN (#202)
  • bump codeql-action pins v4.38.0 -> v4.38.1 (#196)
  • delete temporary release branch after a successful release (#195)
  • extend apt package parity to all workflows (#178)
  • enforce apt package parity between ci.yml and nightly.yml (#175)
  • prepare every active channel once per week from weekly-latest (#145)

Tests

  • run the #293 examples in CI, link their overview, and drain the YouTube fixture request (#310)
  • M8 API-contract proof, wrapper regression guards, and honest delivery state (#307)
  • Frame-Budget-Gate misst den Producer-Pfad statt des Schedulers (#287)
  • pace the resource-report producer so the gate stops depending on machine load (#278)
  • stop the EventSub puppet test from losing a subscription POST (#275)
  • shared wait_until poll helper replaces hand-rolled deadline loops (#269)
  • poll async engine state instead of fixed sleeps (timing audit) (#267)
  • deterministic test helpers: golden frames, PTS/DTS, scene state (#266)
  • poll the log buffer instead of a fixed sleep in worker log tests (#264)
  • consolidate ci_pinning surface guards, phase 3 (Part of #231) (#262)
  • harden the per-track model (issue #242) with isolation, pad, and doc parity (#254)
  • unit-test the remux funnel fan-in with simulated tsdemux pad waves (#249)
  • pin shared-chat reply threading to the joined room's delivery id (#206)
  • require a git identity in every weekly-promotion committing step (#199)
  • M6 resource report — 6 routed sources with full filter chains within budget (#161)

Refactoring

  • parse workflow YAML structurally in guard scripts (Part of #231) (#263)
  • slim the pinning suite by origin-tested detail pins (phase 1+2) (#257)

Housekeeping

  • Sechs veraltete Action-Pins innerhalb ihrer Major-Version angehoben (#325)
  • bump actions/upload-artifact from 7.0.1 to 7.0.2 (#313)
  • bump github/codeql-action/init from 4.38.2 to 4.38.3 (#317)
  • bump rustls from 0.23.43 to 0.23.45 in /fuzz (#308)
  • bump the wasmtime family 48.0.3 -> 48.0.5 for seven advisories (#277)
  • team readiness — CODEOWNERS, staged review gate, clean desk (#251)
  • bump codeql-action pins to v4.38.2 (#248)
  • paste-in SignPath artifact configuration XML (#136)

Other changes

...

Read more

Rivulet 0.65.0-alpha.288

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 08:42

Features

  • stabile Capture-Backends (#296), strukturierte Encoder-Erkennung (#295) und typisierte Früh-Validierung (#294) (#320)
  • Crashreport wie in OBS anbieten (Help → Crash reports, ohne Token, ohne Auto-Filing) (#305)
  • Crashreport als kopierfertigen Bugreport erzeugen (Settings, lokal, ohne Transport) (#299)
  • YouTube sendet ueber die offizielle Live-Streaming-API (Issue #100) (#291)
  • Steam-Erkennung laeuft auch auf Linux, ueber XDG statt Registry (#284)
  • Steam-Installationsverzeichnisse fuellen die Executable-Liste (#283)
  • Epic, GOG, Origin/EA app und Battle.net identifizieren (#281)
  • batch rendering — video from code (M7 W3, #189)
  • report which nondeterminism sources a run used (M7 W2a, #187) (#265)
  • rivulet inspect — pipeline inspector/diagnostics (M7 W5, #191) (#261)
  • track-model GUI — tracks panel, membership, persistence, i18n (#247)
  • container/remux parity for multi-track recordings (#242) (#246)
  • build per-bus pipeline branches with live track masters (#242) (#245)
  • per-track audio model — bus types, audio_tracks_v1, migration (#242) (#244)
  • log redacted pipeline plus GStreamer domain/code on construction failure (#243)
  • Steam game detection via local manifests (#239) (#240)
  • add injectable engine clock with virtual PTS stamping (#187) (#238)
  • add macOS Core Audio device capture for the Mixer (#231) (#237)
  • add Linux PipeWire device capture for the Mixer (#231) (#236)
  • real wry browser-source adapter with input forwarding and transparency (#227) (#228)
  • live-refresh the per-app process picker while it is open
  • live-refresh the WASAPI device picker while it is open
  • WASAPI device capture for mixer Output/Input sources (#229) (#230)
  • scene-item copy/paste with deterministic ids and paste-undo (#192) (#226)
  • wry/WebView2 browser-source POC via CapturePreview (#215) (#223)
  • per-platform stream title/game drafts in the stream-info editor (#214) (#220)
  • add replay-buffer and studio-mode v5 actions for full Stream Deck coverage (#219)
  • per-source rate limiting with visible suppression notices (#210)
  • parse YouTube engagement events (Super Chats/Stickers/members) from the Innertube poll feed (#209)
  • parse Kick engagement events (subs/gifts) from the Pusher chat stream (#208)
  • make the raid alert direction configurable (out/in/both) (#207)
  • resolve shared-chat room ids to channel logins via cached Helix lookup (#205)
  • attribute Twitch Shared Chat messages by source room (#203)
  • stream-info editor in the combined dock (#197)
  • headless rivulet-cli MVP with record subcommand (issue #186) (#194)
  • VOD track settings UI for the streaming view (issue #78) (#180)
  • VOD track third audio branch in dual-output recording (issue #78) (#179)
  • re-enable AccessKit and confirm destructive actions (#171)
  • combined alerts dock — one live list for all platforms (#166)
  • combined multi-platform chat dock — one list, one send box (#164)
  • sound/voice generation track for the AI Creative Studio (#162)
  • macOS system-loopback per-app fallback (Phase 5 of #154) (#160)
  • Linux PipeWire per-app audio capture backend (Phase 4 of #154) (#158)
  • WASAPI per-application capture backend (Phase 3, #154) (#157)
  • multi-track audio routing mixer (M6 #154 Phase 2) (#156)
  • multi-track audio routing engine core (M6, #154 Phase 1) (#155)
  • emit SceneSwitch, ChatConnect and RecordingError events (#152)
  • Phase 3 capability approval + install flow (registry + GUI) (#146)
  • complete Phase 2 WASM plugin runtime (wasmtime sandbox + lifecycle) (#142)
  • AUR PKGBUILD for Arch Linux (#140)
  • mobile & HTTP remote companion for LAN scenes/record/stream (M6) (#141)
  • native outbound Twitch EventSub WebSocket transport (M5) (#139)
  • opt-in loopback webhook receiver (M5) (#132)
  • Flathub Stage 2 preparation (M5) (#135)
  • Scoop bucket for Rivulet (no signing required) (#137)
  • WinGet Stage 2 preparation (M5) (#134)
  • native chat-dock alert ingestion (M5) (#130)
  • M5 opt-in, privacy-first usage telemetry (#128)
  • Spanish as third wiki language + topic report in wiki job (#125)
  • SignPath Foundation Windows signing path (#50) (#124)
  • Linux GPG signing and maintainer setup doc (#50) (#123)
  • auto-derive user-guide topics from GUI i18n keys (#121)
  • doc-freshness enforcement for wiki and user manual (#120)
  • host-boundary skip-path tests (Z96-3) (#118)
  • Windows COM host skeleton (Z96-2) with boundary tests (#117)
  • source delete hotkey (M5 OBS 32.2 parity) (#113) (#114)
  • restream, auto-clips, VST3 host boundary (#116)
  • complete multi-language support (M5) (#115)

Bug fixes

  • wasmtime 48.0.5 → 49.0.3, wasmtime-wasi → 49.0.3 und rustls → 0.23.46 (16 RUSTSEC-Advisories) (#321)
  • Doku-Assets aus der Manifest-Abdeckung ausschliessen (#286)
  • make the retry backoff and the filename renderer total (#273)
  • stop the PMT pre-scan from dropping the last audio track (#272)
  • parse H.265 recording streams so NVENC/x265 pipelines build (#255)
  • report a failed pipeline build once per session, not once per frame (#253)
  • colocate WebView2Loader.dll with the exe on every Windows build
  • speak the real v5 wire names so Stream Deck plugins can drive Rivulet (#212)
  • use the directional from_broadcaster_user_id raid condition (#204)
  • nightly is green again — alsa deps, drifted pins, tag regex (#173)
  • poll EventSub stats until subscriptions are created (#169)
  • arm EventSub API stub deadline on first request (#167)
  • weekly promotion sets a git identity before tagging (#165)
  • resolve the open code-scanning alerts (#112)

Documentation

  • Beta-Scope auf Windows + Linux festgelegt, Kriterium #4 ehrlich formuliert (macOS bewusst zurückgestellt) (#306)
  • Meilenstein eroeffnet — sechs Workstream-Issues plus belegter Ist-Zustand (#298)
  • M7-Abschlussbericht + korrekte Statuszeilen (Conditional Pass) (#290)
  • document and pin the dismissed Dependabot glib advisory (#271)
  • document the full branch-commit-PR-merge flow (#250)
  • document the WebView2Loader.dll copy step for local GUI runs
  • close the interim backlog milestone — README status, shipped #215 (#224)
  • mark M6.9 per-platform stream metadata (#214) as shipped (#221)
  • add interim backlog milestone for scene & stream polish (issues #214-#217) (#218)
  • Stream Deck connection steps in the obs-websocket section (#213)
  • design the automated winget-pkgs submission flow (#201)
  • document the stream-info editor in the combined chat dock (#198)
  • spec and workstream issues for the Automation & Determinism milestone (#193)
  • track F-M6-001/002 live-evidence follow-ups (#182/#183) (#184)
  • document global status surface and sync stale repo docs with the wiki (#181)
  • describe combined chat dock and OS-vault account model (#170)
  • creator toolkit completion report and milestone close (#168)
  • M6 status to In progress with per-criterion gate notes (#153)
  • AI settings placement — Settings page + Assistant tab (closes #149) (#151)
  • close M5 with honest annotations (#150)
  • M5 descope annotations — OBS-compat to M11, honest blockers (#148)
  • AI Creative Studio (Spark-like) roadmap acceptance + off-switches (#143)
  • mark global hotkeys, Discord RP and chat dock (M5) Done (#133)
  • record SignPath Foundation application as submitted (#131)
  • add ready-to-submit SignPath Foundation application draft (#126)
  • Z96-4 hosting contract, platform matrix, and gating (#122)
  • decompose #78 and #96 into subtasks (#111)

Build & packaging

  • bump the Windows GStreamer runtime pin to 1.28.6 (#108, #109) (#110)

CI

  • SHA256SUMS aus einem getesteten Skript, plus Post-Publish-Verifikation (#285)
  • melde verrutschte Action-Pins bei jedem Push statt nur nachts (#280)
  • bump the stale rust-toolchain pin and stop treating branch drift as fatal (#279)
  • offene Code-Scanning-Alerts als Gate erzwingen (#274)
  • daily PAT expiry guard for SCOOP_BUCKET_TOKEN (#202)
  • bump codeql-action pins v4.38.0 -> v4.38.1 (#196)
  • delete temporary release branch after a successful release (#195)
  • extend apt package parity to all workflows (#178)
  • enforce apt package parity between ci.yml and nightly.yml (#175)
  • prepare every active channel once per week from weekly-latest (#145)

Tests

  • run the #293 examples in CI, link their overview, and drain the YouTube fixture request (#310)
  • M8 API-contract proof, wrapper regression guards, and honest delivery state (#307)
  • Frame-Budget-Gate misst den Producer-Pfad statt des Schedulers (#287)
  • pace the resource-report producer so the gate stops depending on machine load (#278)
  • stop the EventSub puppet test from losing a subscription POST (#275)
  • shared wait_until poll helper replaces hand-rolled deadline loops (#269)
  • poll async engine state instead of fixed sleeps (timing audit) (#267)
  • deterministic test helpers: golden frames, PTS/DTS, scene state (#266)
  • poll the log buffer instead of a fixed sleep in worker log tests (#264)
  • consolidate ci_pinning surface guards, phase 3 (Part of #231) (#262)
  • harden the per-track model (issue #242) with isolation, pad, and doc parity (#254)
  • unit-test the remux funnel fan-in with simulated tsdemux pad waves (#249)
  • pin shared-chat reply threading to the joined room's delivery id (#206)
  • require a git identity in every weekly-promotion committing step (#199)
  • M6 resource report — 6 routed sources with full filter chains within budget (#161)

Refactoring

  • parse workflow YAML structurally in guard scripts (Part of #231) (#263)
  • slim the pinning suite by origin-tested detail pins (phase 1+2) (#257)

Housekeeping

  • bump actions/upload-artifact from 7.0.1 to 7.0.2 (#313)
  • bump github/codeql-action/init from 4.38.2 to 4.38.3 (#317)
  • bump rustls from 0.23.43 to 0.23.45 in /fuzz (#308)
  • bump the wasmtime family 48.0.3 -> 48.0.5 for seven advisories (#277)
  • team readiness — CODEOWNERS, staged review gate, clean desk (#251)
  • bump codeql-action pins to v4.38.2 (#248)
  • paste-in SignPath artifact configuration XML (#136)

Other changes

  • Feat/m8 examples run evidence (#324)
  • ui(game-detect): selbst gezeichnete ...
Read more