Skip to content

v0.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 08 Jul 21:52
13baa91

Summary

hypeman on macOS

  • darwin arm64 server builds on Apple's Virtualization.framework (vz)
  • run x86-64 images on Apple Silicon via Rosetta, with docker-style multi-platform image pull (--platform linux/amd64)
  • APFS clonefile fast paths for VM disk forks and standby/restore
  • CLI-only install script

UFFD paging matures

  • pager graduation: detach long-lived VMs from their snapshot pager without pausing the guest, so old pager versions can drain to zero and exit
  • CLOCK (second-chance) eviction in the shared page cache — hot snapshot pages stay resident without write-lock contention on the fault path
  • Firecracker forks get their own mem-file, eliminating hidden dependencies on the source instance (deleting or re-standbying the source no longer strands or corrupts forks)
  • UFFD restore works under systemd ProtectSystem=strict; orphaned pager reaping

restore correctness

  • guest wall clock syncs from KVM PTP after standby restore — no more stale clocks after long standbys
  • fixed vz restore state reporting

networking and cleanup

  • tc classes deleted by TAP filter ownership
  • earlier standby control socket cleanup
  • orphaned iptables rule sweeping

more observability

  • fork admission timing instrumentation
  • lifecycle tracing spans on the instance delete path

overall: hypeman now runs on your macbook, forks no longer secretly depend on their source's memory file, and UFFD-restored VMs can outlive the pager that restored them.

Changelog

  • 13baa91 Give Firecracker forks their own mem-file instead of deferring the copy (#298)
  • ce68717 Sync guest wall clock from KVM PTP after standby restore (#302)
  • f93e17a Pin Redis image for entrypoint env tests (#303)
  • 3c0861f Add lifecycle tracing spans to instance delete path (#299)
  • 67fde5c Add UFFD snapshot pager graduation (#272)
  • 189c12f Delete tc classes by TAP filter ownership (#296)
  • c2e2295 Instrument fork admission timing (#295)
  • 8ce342f Clean up standby control socket earlier (#293)
  • fca9c3c install: grant RuntimeDirectory=hypeman so UFFD restore works under ProtectSystem=strict (#292)
  • bd000da Use CLOCK (second-chance) eviction in the UFFD page cache (#274)