Skip to content

v0.59.0

Choose a tag to compare

@steipete steipete released this 14 Sep 08:54
· 444 commits to main since this release
Immutable release. Only release title and notes can be modified.
v0.59.0
e3ffb86

0.59.0 - 2026-09-13

Highlights

  • Linux desktops follow the browser window. The portal controller can match the desktop resolution to the viewer, with Fit desktop available for local scaling and resize-capable TigerVNC on new local-container desktops.
  • Pause idle Islo sandboxes and resume them for reuse. Opt into an idle-pause policy when creating a sandbox; run --id and ssh resume paused sandboxes before using them.
  • Check that Python environments actually work. The new opt-in python3-venv preflight creates a disposable environment, checks Python and pip, and reports confirmed cleanup before the workload starts.
  • Qualify an existing AWS image without rebuilding it. Protected retained-image qualification verifies source inputs, normal catalog selection, runtime smoke, and receipt rollback while preserving the borrowed AMI and snapshot.

Upgrade notes

  • Islo idle pausing is off by default. Enable --islo-idle-pause or islo.idlePause: true and choose an --idle-timeout longer than the expected workload: provider activity accounting is not established for long-running commands, shares, or tailnet traffic. Reuse does not rewrite the policy, and no provider deletion deadline is added. PR 1706.
  • Linux portal viewers now default to Match window when the server supports resizing. Recreate existing Xvfb/x11vnc local-container leases to gain resizing; explicit 8-bit desktops remain fixed-size. Direct SSH viewers retain Local scaling, and Wayland resizing depends on the installed WayVNC version and current sizing client. PR 2075, PR 2222.
  • Select --preflight-tools default,python3-venv with --preflight on Linux, macOS, or WSL2; native Windows does not run this probe. Missing Python, venv, or pip remains diagnostic when cleanup is confirmed. Transport, ownership, or cleanup failures stop the workload, and the probe never installs host tools or reuses a project environment. PR 2217.

Changes

  • Match Linux portal desktops to the viewer window with controller-only resize requests, bounded collaboration requests, and a Fit opt-out. Use TigerVNC for new local-container and public-installer XFCE desktops, and retire the stopped legacy exporter's failure marker during installer upgrades. PR 2075. Thanks @vincentkoc.
  • Add opt-in Islo idle pausing and explicitly resume paused sandboxes before reused runs or SSH access, preserving default creation behavior and existing retention and Stop semantics. PR 1706. Thanks @zozo123.
  • Add a functional python3-venv preflight with separate capability and cleanup results, checks of the disposable environment's Python and pip, and confirmed process, scratch-directory, and transport-stage retirement. PR 2217. Thanks @coygeek.
  • Qualify retained AWS images through an isolated protected catalog without reminting: admit the source and archive helpers before deployment, verify one normal-selection lease against the exact promotion revision, run the full runtime smoke, and exercise receipt rollback with borrowed-image-safe cleanup. Accept instance-store mappings beside the single verified EBS root. PR 2225, PR 2238. Thanks @vincentkoc.
  • Add a protected image-publisher authentication check that verifies administrator access without creating leases or publishing images. PR 2219. Thanks @vincentkoc.
  • Show loaded Hyper-V configuration in offline text and JSON output, preserving nonsecret values without invoking Hyper-V or displaying guest credentials. PR 2243.

Fixes

  • Prepare immutable image-qualification identity and deadlines before credential-dependent deployment, reject delayed admission after the work cutoff, and preserve independent cleanup ownership. PR 2250. Thanks @vincentkoc.
  • Recognize AWS Tailscale endpoints in Pond peers and policy diagnostics while preserving SSH discovery for leases without Tailscale enrollment. Honor help before Pond release or disconnect can act, reject malformed lifecycle arguments, and preserve literal names and the -- separator. PR 2246, PR 2245.
  • Return confirmed brokered Tailscale preparation failures promptly instead of replaying them, while preserving exact-attempt cancellation and recovery when provider creation is uncertain. PR 2247.
  • Finish reusable-workspace sync and cleanup when a witnessed child exits between liveness probes, retaining ownership whenever process absence cannot be confirmed. PR 2248.
  • Reject stale administrator grants before committing legacy AWS cleanup recovery, preserving the lease, audit, and cleanup wake when authorization changes. PR 2239.
  • Share delegated command parsing so single shell strings execute correctly and literal operator arguments remain quoted across provider transports. PR 2233.
  • Reject decoded negative creation sizes for Hyper-V, Multipass, Freestyle, and OpenComputer instead of silently omitting them, while preserving defaults and supported positive sizing. Keep existing-lease operations available when creation-only sizing is invalid. PR 2242, PR 2241, PR 2235, PR 2237, PR 2244.
  • Reject non-finite Vercel Sandbox vCPU settings during configuration validation, preserving service defaults and supported fractional values. PR 2230.
  • Preserve precommand cancellation and operational failure classifications in saved timing and local history, and retain Anthropic Sandbox Runtime cancellation and deadline causes without changing numeric exit codes. PR 2217, PR 2229.
  • Prevent Corepack downloads and automatic project pinning during preflight version probes, and suppress supported pnpm secondary version and lockfile management while preserving project selection and the workload's original environment. PR 2224.
  • Render XFCE clients in explicitly requested 8-bit desktops by selecting an 8-bit TrueColor visual, preserving the requested depth and fixed-size Xvfb/x11vnc backend. PR 2222. Thanks @vincentkoc.
  • Restore native Windows architecture checks under Windows PowerShell 5.1 by using supported unsigned 16-bit types. PR 2240. Thanks @vincentkoc.
  • Limit artifact discovery to the possible match depth for canonical non-recursive wildcard patterns, preserving selection and recursive glob behavior. PR 2214. Thanks @vincentkoc.

Maintenance

  • Consolidate provider workspace operations, command-stream handling, and sandbox lease views while retaining provider-specific behavior. PR 2232, PR 2234, PR 2236. Thanks @steipete.
  • Use a private stdin pipe for WSL2 Python preflight completion and retirement checks, preserving program bytes without staging another workload. PR 2217.
  • Validate documentation-site heading links against the renderer's shared heading identities, excluding fenced and commented pseudoheadings while preserving published IDs and repository-only anchor rules. PR 2231.