Skip to content

v0.2.0 — instant resume, *.oort.local + HTTPS, zero-config docker CLI

Choose a tag to compare

@everettjf everettjf released this 10 Jun 06:50
· 26 commits to main since this release

The "daily-driver" release. Highlights (see CHANGELOG.md for the full list):

  • Instant resume — oort suspend freezes the whole VM; the next oort start resumes in ~1.2s with containers still running (cold boot ~4.4s; OrbStack cold-boots at ~1–2s). Note: resuming needs an unlocked session — macOS withholds the state decryption key while the screen is locked.
  • *.oort.local domains — curl http://web.oort.local reaches container "web" by name, any port, no -p. Containers, machines, compose services.
  • Trusted HTTPS — oort https enable: local CA trusted once, per-name certs minted in-guest, https://web.oort.local just works.
  • Zero-config docker CLI — oort start registers and selects a oort docker context (never stealing a live engine); no more export DOCKER_HOST.
  • Sudo-free networking — oort net install (one sudo, ever): a tiny validated root helper keeps the container route + resolver fresh automatically.
  • oort debug <container> — toolbox shell into ANY container, even distroless (busybox joins its pid+net namespaces; target rootfs at /proc/1/root).
  • Fix: attach streams — docker run --rm … echo hi used to print nothing through the projected socket; half-close propagation fixed it.
  • Fix: one stalled docker client could freeze ALL VM I/O — VZ's vsock device is one serial queue with a blocking writev; the relay now always drains it (bounded 32MiB buffer, kills only the offending connection).
  • Fix: vsock dead on current noble cloud images — vmw_vsock_virtio_transport no longer autoloads reliably (6.8.0-117); provisioning pins it.

Install: brew install --cask everettjf/tap/oort (dmg attached once notarization completes) — note the app drives a local clone of this repo (oort build-image required), see docs/packaging.md.

🤖 Generated with Claude Code