This is a nightly release of Vibeshine and contains several bug fixes and may contain new features. Check the commit log for more information.
Windows installer · Linux (Arch x86_64)
Nightly Windows installers are unsigned and include self-signed gamepad components. They may cause false-positive antivirus alerts.
Source: 062d0ac0291b
Since the preceding successfully published nightly Commit log
2.0.5-nightly.d20261103.a2d8d9d5b41a: compare exact sources.
fix(remote): Keep other apps listed while a Remote Monitor is kept
A client that kept a Remote Monitor after leaving its stream was shown
only Resume and Disconnect Monitor. Moonlight caches that list when the
stream ends and reloads it only on a timer, and Disconnect Monitor
completes with a 410 that Moonlight treats as a failed launch, so the
client stayed on the two-tile list until Moonlight was restarted.
List the ordinary configured apps beside the two Monitor controls. Launch
admission is unchanged: an app can start beside the kept Monitor, a
different app is still refused while another one runs, and other Monitor
profiles stay hidden because they conflict until Disconnect Monitor.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
feat(stream): Send a readable message with client warnings
Client warnings carried only a code, so a client could show text only for
codes it already knew, and every new warning needed a client release.
Add add_client_warning(), which puts the code and a plain-text
clientWarningMessage on a successful launch or resume response. Clients
that recognize the code can still use their own translated text; others can
show the message as-is, and clients that know neither ignore both. A
warning never changes whether the stream starts. The existing
virtual-display-disabled warning now sends its message too, and the first
warning added to a response still wins.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fix(stream): Keep client warning messages safe for every client
Remove the control characters XML 1.0 forbids before sending a warning
message, so a strict client cannot reject the whole launch or resume
response because of one. Tabs and carriage returns become spaces and line
breaks are kept. Leave out a message longer than 512 UTF-8 bytes rather
than send text clients would drop; the warning code is still sent.
Document clientWarningMessage beside clientWarning in architecture.md.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fix(audio): Preserve contiguous WASAPI samples across timestamp jitter (#398)
Anchor consecutive capture packets using the device frame position instead
of realigning every packet to its jittery QPC timestamp. Reanchor on capture
gaps, discontinuities, or clock offsets larger than one device period while
preserving bounded silence pacing and stale-packet handling.
Cover measured-size jitter, ring wrap, surround audio, counter resets,
loopback silence recovery, rejected positions, and the production adapter.
Refs: Nonary/Vibepollo#703
Co-authored-by: Codex <noreply@openai.com>