Repository navigation
v0.9.0
0.9.0 (2026-10-07)
⚠ BREAKING CHANGES
- computer: expose agent injection and select it at boot
Features
- agent: check unmounted storage without repair (7cdad1a)
- agent: give sidecar images an apply mode, a generation and a quiet period (9ddcd79)
- agent: hold the Mac's sidecar images in flight (87ac375)
- agent: isolate storage recovery from runtime startup (87cdc3c)
- agent: observe persistent storage mount health (5d7c234)
- agent: parse and build AppleDouble sidecar images (862beac)
- agent: store a sidecar's content as the target's extended attributes (c5ec5b2)
- agent: translate the Mac's AppleDouble sidecars into real xattrs (f6db769)
- agent: verify durable filesystem writes (1532f17)
- agent: verify runtime storage writes and Docker lifecycle (c9ff0d6)
- api: expose explicit storage checks and recovery (1d5758c)
- computer: build rootfs at caller-owned capacity and path (c7f9aee)
- computer: expose agent injection and select it at boot (1ad0d4b)
- computer: expose registry image sources and verify sparse capacity (e721372)
- core: own storage recovery and verify writable volumes (d8a7b20)
- core: preserve storage faults through protected startup (4d520ba)
- core: reconcile durable storage recovery protection (d329f18)
- daemon: publish storage health and recovery progress (693f338)
- docker: reject writes while storage is protected (2c9628d)
- engine: reject stale storage agents before boot (ecdcf33)
- engine: reserve system storage during recovery (55eda49)
- engine: run cancellable storage verification RPCs (e187d3b)
- engine: stream storage health with cancellation (2b59c04)
- protocol: define v7 storage observations and recovery messages (12474c8)
- storage: define paired volume identity manifests (c59fc3d)
- storage: enforce single-use volume provisioning (cdfb105)
- storage: verify recovery copy identities (25b3ad6)
Bug Fixes
- agent: identify side entries by inode generation (c6b993b)
- agent: lay a synthesized sidecar out the way XNU creates one (623ec79)
- agent: preserve metadata inspection and mount failures (1894b3e)
- agent: report one runtime start result per readiness watch (81a5168)
- agent: scope side-entry handles to filesystems (56267b6)
- api: enforce storage admission on active input streams (700200c)
- api: reject storage mutations while recovery holds writes (483d048)
- computer: enforce requested rootfs capacity (b0eefb2)
- computer: preserve checkpoint precondition errors (3b8c8c4)
- computer: preserve growth of cached rootfs templates (f2dbbcf)
- computer: report cleanup errors before delivering results (772f41b)
- computer: require and retain snapshot geometry (a1045dd)
- computer: retain and pin checkpoint source assets (6295d5b)
- computer: retain rootfs cleanup after cancellation (d0e11b8)
- daemon: compile startup on Linux (f5c3a4a)
- daemon: propagate shutdown errors after cleanup (fe540f3)
- e2e: bound benchmark RPCs and preserve failed metrics (350a7c6)
- engine: enforce v7 admission for agent streams (2076b86)
- engine: join recovery boot cancellation and stop failed VMs (cba2f17)
- engine: report force-stop removal failures (bd4bc86)
- engine: require protocol admission before guest shutdown (944e47f)
- engine: require v7 admission for agent RPCs (06493eb)
- engine: serialize storage maintenance and join reserved stops (f606f3b)
- release: inherit storage dependency versions from workspace (c38b88f)
- runtime: enforce storage protection in computer and SSH sessions (3c2c5fb)
- storage: require manifest authority before disk initialization (96d460c)
- storage: restore missing system VM recovery configuration (dc028c9)
- storage: resume interrupted pair provisioning safely (3895f24)
- storage: validate metadata before adopting legacy pairs (0891099)
- transport: close incomplete protocol connections (c675860)
- vmm: wait for guest poweroff before HV teardown (d4ba771)
Code Refactoring
- computer: finish computer error migration in persistence (1730d44)
- computer: finish computer query names and naming documentation (3ed82f4)
- computer: finish computer state consumer migration (707aab9)
- computer: isolate rootfs agent injection (ace2c3b)
- computer: name computer creation and restore operations (c45d7a3)
- computer: name computer durable records and adoption types (47b007f)
- computer: name computer errors in runtime foundations (7385946)
- computer: name computer identity and network value types (eeba055)
- computer: name computer lifecycle and workload operations (ac15d58)
- computer: name computer lifecycle transitions (d3aae10)
- computer: name computer phases and provision outcomes (62c199f)
- computer: name computer request and configuration types (354c81e)
- computer: name computer states in lifecycle transitions (3126bee)
- computer: name the computer manager and observation types (6815c2b)
- computer: share validated rootfs publication with templates (ba47167)
- computer: use computer errors in lifecycle and guest boundaries (db5d0ac)
- computer: use computer errors in manager operations (bb6154d)
- e2e: reuse isolated sandbox benchmark harness (aefdfd6)
- e2e: share sandbox readiness and execution helpers (702929b)
- runtime: archive Platform and Fleet integration (9473d80)
Tests
- agent: check the AppleDouble container against the Mac's own files (c5486a5)
- agent: keep immediate sidecar recreation coverage (72bd41d)
- agent: let a clock tick pass before recreating a sidecar file (1966d6d)
- agent: satisfy the pedantic lints in the image table tests (69f8f47)
- agent: verify storage recovery against real Linux faults (4fa5cf6)
- computer: cover cancellation after rootfs loop attach (a939305)
- computer: isolate loop-device integration fixtures (cf31e65)
- e2e: distinguish sandbox create and cold boot paths (b0403ad)
- e2e: measure concurrent sandbox snapshot restores (4568ffd)
- e2e: record explicit run and boot provenance (7cbf56f)
- e2e: report sandbox p95 and sample counts (2514f80)
- e2e: separate sandbox admission wait from latency (c7ff69a)
- e2e: verify benchmark cleanup by snapshot ownership (1a9c9a9)
- engine: verify async storage health stream lifecycle (d8320f9)
- guest: reject empty sidecar regression runs (48c222d)
- net: show remaining DNS entries in empty assertion (cd70e56)
- sandbox: clean up checkpoints after assertion failures (d07acec)
- sandbox: verify chained checkpoints with real jailed VMs (9c3aa25)
- storage: cover protected restart and metadata recovery faults (269dc90)
Documentation
- adr: note the sidecar revision in ADR 0002 (ef0f8c0)
- agent: say when a sidecar image is applied (914f79d)
- api: align handler and transport comments with local routing (f76d9e5)
- architecture: align charter with the local macOS product (2d8b0ea)
- computer: clarify retained rootfs pins (2515bc9)
- core: show runtime composition across engine boundaries (0b47d20)
- docker: show guest proxy request paths (cb3ebc6)
- e2e: record benchmark validation on merged master (c6d818a)
- experiments: record the sidecar translation's measurements (5270e2c)
- fs: document invalid lseek whence (164c57f)
- guest: correct the required agent protocol version (6c06267)
- name the single host mount root and the xattr translation in the export docs (1106545)
- sdk: describe local daemon and user-managed proxy connections (cae629e)
- storage: record verified recovery and fault boundaries (0d9a5dd)
- virt: align crate architecture with current backends (6d73032)
Miscellaneous Chores
- boot: pin verified storage recovery assets (b437257)
- licenses: regenerate workspace dependency notices (9802341)
- master: release sdk-python 0.1.4 (#744) (2d8b2ab)
- master: release sdk-typescript 0.1.6 (#740) (de607c7)
- storage: document format authority and extend Linux checks (cf40233)
- tools: bump Docker toolchain to latest stable versions (#733) (097e899)