Skip to content

release: 0.6.3 - #44

Merged
vibesoftwarecoder merged 1 commit into
masterfrom
release/0.6.3
Sep 10, 2026
Merged

release: 0.6.3#44
vibesoftwarecoder merged 1 commit into
masterfrom
release/0.6.3

Conversation

@vibesoftwarecoder

Copy link
Copy Markdown
Owner

Cuts 0.6.3. version.txt 0.6.2 → 0.6.3, plus the hand-written notes the release workflow reads from docs/release-notes/<version>.md.

No code changes — everything shipping already merged in #39, #40, #41 and #42.

What ships

  • Process identity — a seat's Apollo is identified by PID and OS start time, so a recycled PID can no longer be mistaken for it. Verification and termination share one open handle.
  • Identity survives a restart — restarting a seat's Apollo used to leave the recorded identity pointing at the dead process, which made liveness report a healthy Apollo as dead and made teardown leak the live one.
  • Teardown holds the lock before deregistering — a lock timeout no longer strands a seat with its session, Apollo and ports still running and nothing able to reach them.
  • Operations re-check the seat after acquiring the lock — and four that previously took no lock at all now do.
  • API status codes — 503 for capacity, 409 for conflict, 404 for a missing seat; 400 stays for genuinely malformed requests.

First release exercised on real hardware

Unlike previous ones, these changes were run before shipping rather than only passing CI:

  • a seat provisioned, paired, streamed to a Moonlight client on another machine, and tore down cleanly
  • the client received the seat's own desktop, and input worked
  • hevc_nvenc opened inside the seat's RDP session
  • a seat's Apollo was restarted mid-life and the recorded identity followed the new process (28072 → 26976)
  • teardown after that restart terminated the running Apollo rather than leaking it
  • a standalone Apollo streamed simultaneously throughout and was never touched

The notes state what is still wrong

Three limitations are named rather than omitted:

  • seats capture the RDP surface rather than a dedicated virtual display (a Windows constraint, unchanged)
  • a streaming seat still reports Ready (A streaming seat still reports its status as Ready #43)
  • MoonlightVibe seat auto-discovery does not find seats from another machine, with the manual-add workaround given

They also carry an "If your seats stopped working recently" section for the termsrv.dll case, which took our own host down for two days while preparing this release.

Once merged, pushing v0.6.3 publishes. The workflow refuses a tag that disagrees with version.txt.

🤖 Generated with Claude Code

https://claude.ai/code/session_01SQvL62WkT8xDWXqyjFCGDw

version.txt 0.6.2 -> 0.6.3, plus the hand-written notes the release workflow
reads from docs/release-notes/<version>.md.

No code changes -- everything shipping already merged in #39, #40, #41 and #42.

This is the first release whose changes were exercised on real hardware before
shipping rather than only in CI. A seat was provisioned, paired, streamed to a
Moonlight client on another machine, restarted mid-life and torn down; the
client received the seat's own desktop with working input; hevc_nvenc opened
inside the seat's RDP session; teardown after the restart terminated the
running Apollo instead of leaking it; and a standalone Apollo streamed
throughout without being touched.

The notes name the two known limitations that remain -- seats capture the RDP
surface rather than a dedicated virtual display, and a streaming seat still
reports Ready (#43) -- along with the MoonlightVibe seat-discovery gap and its
workaround. Overstating a release is worse than understating one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SQvL62WkT8xDWXqyjFCGDw
@vibesoftwarecoder
vibesoftwarecoder merged commit 0cce41b into master Sep 10, 2026
3 checks passed
@vibesoftwarecoder
vibesoftwarecoder deleted the release/0.6.3 branch September 10, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant