Skip to content

v0.15

0.15.0 | 2026-04-01

A feature release completing x86_64 Linux support with a full KVM backend, replacing Podman with Colima for container builds, and adding a purpose-built cross-compile Docker image.

The KVM hypervisor backend now supports x86_64 in addition to aarch64. The x86_64 implementation includes:

  • bzImage boot protocol (Linux >= 2.06)
  • Identity-mapped page tables and GDT for 64-bit long mode
  • IRQCHIP/PIT interrupt controller, CPUID passthrough
  • 16550 UART serial console via PIO
  • E820 memory map, virtio-mmio device discovery via kernel cmdline
  • Compile-time struct size assertions for all KVM ioctl structs
  • Kernel arch-mismatch detection (rejects wrong-arch kernels with clear errors)

The .deb package now boots VMs on both aarch64 and x86_64 Linux. The release pipeline boot-tests the x86_64 .deb with capsem-doctor before publishing.

macOS container builds now use Colima (Apple Virtualization.framework with Rosetta) instead of Podman (libkrun). Rosetta gives near-native x86_64 container performance on Apple Silicon, making cross-arch kernel and rootfs builds significantly faster. All podman-specific code paths removed; standardized on docker CLI everywhere.

A purpose-built capsem-host-builder image (Ubuntu 24.04) with all Tauri build dependencies pre-baked: system libs, Node.js 24, pnpm 10, Rust stable, cargo tools, uv. Named volumes cache cargo registry and per-arch build artifacts between runs. New recipes: just build-host-image, just clean-host-image.

  • just run blocked on Linux — _sign recipe hard-exited on non-macOS
  • x86_64 KVM boot hang — wrong 64-bit entry point and missing setup header preservation
  • install.sh now works on Linux (OS/arch detection for .deb via apt)
  • Site docs updated to reflect Linux/KVM support
  • .cargo/config.toml tracking fixed (broke codesigning on fresh clones)
  • Boot screen release notes and error state handling