Skip to content

v0.11.0

Choose a tag to compare

@arcbox-labs arcbox-labs released this 03 Nov 07:17
79f223f

0.11.0 (2026-11-03)

⚠ BREAKING CHANGES

  • runner: rename Fleet to ArcBox Runners

Features

  • api: report hardware virtualization and effective backend (3e739b4)
  • api: report on-demand component downloads in SystemRuntimeStatus (c3a70dd)
  • asset: resume interrupted downloads (dca372a)
  • cli: import the QEMU build from a local archive (9d987e9)
  • daemon: download QEMU when the System VM falls back to emulation (58daac2)
  • daemon: skip System startup without hardware virtualization (a46ee2c)
  • hv: capture and restore vCPU, GIC and timer state (7ebe148)
  • image: clear quarantine and keep only the pinned QEMU build (ed80ad6)
  • image: download the QEMU build on demand (a236024)
  • image: install the QEMU build from its archive (3627ba3)
  • image: pin the QEMU build in assets.lock (e0e1cb9)
  • image: require ArcBox's code signature on the QEMU build (0c04d67)
  • net: DatapathControl for aborting and injecting TCP resets (e3c3092)
  • net: integrate IPv6 lifecycle with silent TCP rejection (a13f5c5)
  • splicetcp: abandon inspected relays without TCP close (774d027)
  • splicetcp: support silent TCP handshake rejection (fe36394)
  • vhost-user: answer feature negotiation and config requests (653baac)
  • vhost-user: framed messages with SCM_RIGHTS descriptors (b8d4d3a)
  • vhost-user: let devices register descriptors and wakers (c49b000)
  • vhost-user: map guest memory from SET_MEM_TABLE (6eccd87)
  • vhost-user: message header and request codes (0041a64)
  • vhost-user: payload codecs for rings, memory tables and config (475c493)
  • vhost-user: process rings on a kqueue worker thread (53591f1)
  • vhost-user: ring cursors, call notifiers and the device queue API (135c330)
  • vhost-user: serve virtio-fs shares through FsServer (224e87d)
  • vhost-user: set up vrings over guest memory (ae6e2d1)
  • vhost-user: watch the guest's kick pipes (e82fdb2)
  • vm-driver: carry the macOS engine surface on the port (eb859f3)
  • vmm: carry net and vsock through HV checkpoints (bc55bbc)
  • vmm: fail fast without hardware virtualization (c88e64a)
  • vmm: HV checkpoint restore (58faebb)
  • vmm: HV checkpoint save (1d574be)
  • vmm: serve the VM driver port over HvMachine (R4b) (83a7c44)
  • vsock: post TRANSPORT_RESET and hold injection until handled (f5e2f3e)
  • vz-driver: add the Virtualization.framework adapter (R4a) (be55711)
  • vz: save/restore and machine identifier in the shim (1b435d8)

Bug Fixes

  • agent: link arcbox-transport on every target (1ab3ab0)
  • agent: require hyper 1.11 for declared HTTP/1 trailers (4e1751e)
  • agent: run nfsdcld so nfsd skips the NFSv4 grace period (3284c1c)
  • api: refuse VM starts up front without hardware virtualization (843b3e8)
  • build: align Clippy configuration with Rust 1.96 (7829cc2)
  • daemon: keep System startup retryable without hardware virtualization (c0e0663)
  • daemon: raise the open-file soft limit at startup (7d4f3ce)
  • docker: retry container archive and start requests on a busy overlay (cf6c37d)
  • e2e: require successful daemon finalization (6958d54)
  • fs: cap the read size a guest asks for (6a18210)
  • fs: read guest open flags as Linux flags (f05201e)
  • fs: release a FUSE session's files and inodes when it ends (1d41796)
  • splicetcp: preserve recovery during host-first close (#760) (ce82383)
  • splicetcp: reset guest segments of untracked flows (764ceec)
  • vhost-user: keep guest memory mapped while any writer lives (fee2bbb)
  • vhost-user: refuse memory regions that run past their backing object (bfc67f7)
  • vhost-user: refuse virtio-fs requests longer than any FUSE request (b079209)
  • vhost-user: shut the front-end socket down whenever serve returns (6856418)
  • vmm: stop capping HV vsock connections at 64 descriptors (93c272f)

Code Refactoring

  • api: convert System VM restart errors through From (33663b9)
  • core: drop the engine and image compatibility re-exports (cd19fe7)
  • fleet: restore the archived Fleet agent verbatim (e111259)
  • net: build the guest NAT datapath in one place (7d8088a)
  • runner: rename Fleet to ArcBox Runners (1c544b7)
  • virtio: derive avail cursors from used.idx (02dc17d)
  • virt: remove the consumerless arcbox-net-virtio crate (26ffceb)
  • vmm: complete async I/O through one IoCompletion (fa94e11)
  • vmm: create HV vCPUs in id order, split boot-image loading (6db0990)
  • vmm: match VmBackend exhaustively (2c1e446)
  • vmm: move Hypervisor.framework state into HvMachine (e652373)

Tests

  • bench: QEMU download scenarios against a local CDN (b1e347b)
  • daemon: build test runtimes without system proxy probes (f4b6a83)
  • engine: accept a reset when the client closes on a bad acknowledgement (7e9b711)
  • hv: bare-metal checkpoint probe (77715e8)
  • splicetcp: cover abandonment races and ACK overhead (b5508fd)
  • vhost-user: boot the System VM from a vhost-user virtio-fs share (c6bf2a8)
  • vhost-user: boot the System VM under QEMU with the real agent (b74ce68)
  • vhost-user: check the System VM probe's results (a3e5e5f)
  • vhost-user: config space through a fake front-end (9d410c8)
  • vhost-user: count the small files the System VM probe reads (393105d)
  • vhost-user: drive rings the way QEMU does (cd32beb)
  • vhost-user: guest side of the QEMU System VM probe (9039d61)
  • vhost-user: keep the System VM probe's logs when a back-end fails (5101d1e)
  • vhost-user: share the QEMU probes' socketpair and vsock stub (7fb9ee1)
  • vhost-user: time the share and realize vhost-user-vsock in the probe (64de6bb)
  • vmm: Linux checkpoint probe (b4b071d)
  • vmm: multi-vCPU virtio-blk checkpoint probe (bb1d431)
  • vz: VZ checkpoint probe (8239e08)

Documentation

  • adr: restore self-hosted runners as ArcBox Runners (fd02175)
  • agents: align project structure with the charter (e130e01)
  • architecture: add the R4 seam map and refresh the R4 gate (9054214)
  • charter: park runtime crates behind an activation condition (98c99fb)
  • record the daemon open-file limit fix (d93903b)
  • record the no-virtualization host fix (364be3a)
  • record the on-demand QEMU download (1b77a88)
  • record vhost-user-fs with the real System VM agent (8b0898b)
  • restore the ArcBox Runners sections (18fb66c)
  • splicetcp: describe discard retention without product references (3ff31a0)
  • vhost-user: vhost-user on macOS experiment and ADR 0010 (4b3bb46)

Build System

  • fs: depend on the fs and core VirtIO crates, not the umbrella (e97ddc8)

Miscellaneous Chores

  • boot: bump boot assets to 0.8.12 (0903eb5)