Skip to content

v0.80.0

Latest

Choose a tag to compare

@vincentkoc vincentkoc released this 28 Oct 07:35
· 14 commits to main since this release
Immutable release. Only release title and notes can be modified.
v0.80.0
4431387

0.80.0 - 2026-10-28

Highlights

  • Share existing Linux and Windows machines through the coordinator. Managed hosts use outbound relays, isolated borrower execution, rotating pool access, and cleanup-confirmed reuse. Native Windows ARM64 lifecycle and revocation are qualified; MXC remains experimental, and GPU execution and Windows PTYs are not claimed. PR 2964. Thanks @RomneyDa.
  • Pause and resume Azure Sandbox sessions without losing their owned disks. Explicit recovery and deletion retain exact resource ownership and bounded work admission. PR 2960.

Added

  • Static SSH: add static.noControlMaster, CRABBOX_STATIC_NO_CONTROL_MASTER, and --static-no-control-master to opt out of SSH multiplexing, preserving explicit overrides in recovery commands. PR 2855. Thanks @shunkakinoki.
  • Managed SSH hosts: enroll exclusive operator-owned capacity behind outbound, pinned SSH relays; isolate borrower accounts, rotate portable-pool access, and require cleanup receipts before reuse. Windows MXC remains experimental, with native ARM64 lifecycle qualification documented. PR 2964. Thanks @RomneyDa.
  • Sync: print still seeding remote Git metadata after ... progress lines while a remote Git seed runs, so long seeds of large repositories no longer look stalled. PR 2974.
  • Azure Sandbox: include client request and lifecycle-poll durations and counts in warmup timing reports, including failed attempts, without inferring server disk or boot timings. PR 2959.
  • Azure Sandbox: retain session-owned disks through explicit pause/resume with finite per-activation work admission, durable exact-ownership recovery, and explicit deletion. PR 2960.
  • Shard: cap simultaneous provisioning and execution with --concurrency or shard.maxConcurrency, preserving all-shards-at-once defaults and cancellation cleanup. PR 2935. Thanks @zozo123.

Fixed

  • Remote Git seeding: report interrupted seeds as exit=cancelled, exit=deadline, or exit=signal:<name> instead of exit=unknown. PR 2973.
  • SSH static provider: when another repository holds a static lease, the refusal now explains that a distinct static.id / CRABBOX_STATIC_ID shares the host safely, and warns that --reclaim takes over the other repository's lease and workdir. PR 2972.
  • Local Git seeding: stream large object enumerations without the 16 MiB control-output ceiling and preserve the original limit or output failure. PR 2841. Thanks @vincentkoc.
  • Coordinator: preserve retryable responses for transient Cloudflare storage failures without replaying operations, and prepare compatible readers for the staged internal grant-header migration. PR 2847. Thanks @vincentkoc.
  • CI: shorten only the detached Git-seed fixture's hydration waits and balance slow seed and WSL settings tests across shards, preserving production delays and coverage. PR 2969.
  • Blacksmith: reserve a separate bounded final verification phase after native stop consumes its reconciliation budget, without replaying the command or releasing unresolved claim/key custody. PR 2967. Thanks @vincentkoc.
  • Blacksmith Testbox: clarify cleanup-only recovery with the exact stop command and observed run exit, preserving failed-run status and retained ownership without suggesting command replay. PR #2966. Thanks @vincentkoc.
  • Local container: optionally run leases under a named OCI runtime registered with the Docker daemon (for example gVisor runsc or Kata), validated strictly and recorded in lease ownership; the default runtime is unchanged. PR 2950. Thanks @coygeek.
  • CI: shard normal CLI tests while testing every root package and nested module once per normal lane, avoiding the redundant serial CLI suite timeout. PR 2875. Thanks @vincentkoc.
  • Parallels: an explicitly configured macOS guest user (including crabbox, or a generic ssh.user / CRABBOX_SSH_USER) is honored instead of being replaced by the host USER; the host-user fallback still applies when no guest user is configured. PR 2958. Thanks @rustanacexd.
  • Sync: restore Windows sync with XDG_STATE_HOME by comparing handle-based file identities while retaining managed-state path replacement checks. PR 2963. Thanks @paulcam206.
  • Parallels: Windows guest setup retries script staging after Parallels Tools loses a result, verifies the staged bootstrap by SHA-256, runs it exactly once, and confirms a lost final result through a run-specific receipt instead of failing or replaying it. PR 2957. Thanks @rustanacexd.
  • CI: the serve relay test fixture forwards data only after both READY frames, matching the coordinator relay, which removes a concurrent large-transfer flake. PR 2955.