Back to home
Latest: v0.12.0

Changelog

Every release of Doki. From container engine to Kubernetes on your phone. Latest: v0.11.0 with NAT traversal, DHT, and 100% Kubernetes.

v0.12.0Latest

Doki v0.12.0 — Runtime Fidelity: Interactive I/O, Real CRI Streaming, Podman Engine Wiring, k4s Restart/Readiness, Security Hardening

Jul 28, 2026

  • **Interactive containers**: `doki run -it`, `doki attach`, and `doki exec -it` now attach to a live process over a real PTY (or multiplexed pipes), with window resize and multi-client fan-out.
  • **Real Kubernetes exec/attach streaming**: a hand-rolled RFC 6455 WebSocket server implementing the `remotecommand` channel protocol — `kubectl exec`/`attach` reach the real container.
  • **Podman API wired to the real engine**: libpod endpoints delegate to the actual runtime, image, network, and volume stores. Honest `503`/`501` instead of silent stubs.
  • **k4s runtime fidelity**: restart policy with backoff and `RestartCount` (K14), readiness probes (K13), and ConfigMap/Secret volume projection.
  • **`doki update`** applies live cgroup v2 limits; the scheduler filters nodes by resource requests (K16).
View on GitHub
v0.11.1

Doki v0.11.1 — Cross-Arch Emulation, Termux UX, Runner Refactor, Docs

Jun 25, 2026

  • `api.NewServer` now returns `(*Server, error)` to propagate Podman shim init errors.
  • `podman.NewPodmanServer`, `NewPodManager`, `NewSecretManager`, `NewManifestManager` now return `(*T, error)` (fail-fast on store creation).
  • `macos.SelectBackend` now returns `(Backend, error)`.
  • **`doki emu {show,detect,set,test}`** — 4 new CLI subcommands.
  • **Three backends**: QEMU user-mode (`qemu-x86_64-static`, `qemu-aarch64-static`), FEX-Emu (`FEXInterpreter` for x86-on-ARM), Box64 (lightweight x86_64 emulator).
View on GitHub
v0.11.0

v0.11.0: Full DokiLink Mesh, macOS VZ cgo, K8s 100%, Podman wiring

Jun 22, 2026

  • **NAT traversal**: STUN client, TCP hole punching, TURN-like relay
  • **DHT**: Kademlia 160-bit, k=8, alpha=3 — peers discover without static config
  • **mDNS 90s expiry**: now actually implemented with cleanup loop
  • **Crypto fixes**: order-independent DeriveSecretKey, nonce seeded per-connection, replay protection
  • **VZ backend with cgo+ObjC**: real Virtualization.framework bridge
View on GitHub
v0.10.0

Doki v0.10.0 - Podman 1:1, Kubernetes 1.32, macOS Native

Jun 20, 2026

  • None. v0.10.0 is fully backward-compatible with v0.9.3. All existing
  • **Pod management** (`pkg/podman/pod_manager.go`): create, start, stop,
  • **Secret management** (`pkg/podman/secret_manager.go`): create, inspect,
  • **Manifest management** (`pkg/podman/manifest_manager.go`): create, add,
  • **Compatible** with `podman-remote` clients (libpod v5 protocol)
View on GitHub
v0.9.3

Doki v0.9.3 -- DokiLink-Lite Mesh Networking + 190+ Bug Fixes

Jun 8, 2026

  • None. v0.9.3 is fully backward-compatible with v0.9.2. The default
  • **TCP/UDP proxy in pure stdlib**: `pkg/netlink/proxy.go` and
  • **TLS 1.3 wrapping for inter-host traffic**: `pkg/netlink/crypto.go`
  • **NaCl secretbox for payload encryption** (L2, opt-in): `crypto.go`
  • **Install identity**: `pkg/netlink/keys.go` generates an Ed25519
View on GitHub
v0.9.2

Doki v0.9.2

Jun 4, 2026

  • **DNS default port on Android**: Changed from `:53` to `127.0.0.11:8053` — port 53 is blocked on non-rooted Android. Set `DOKI_DNS_LISTEN` to override.
  • New runner registry with auto-selection from 12 modes: WASM, pKVM/Microdroid, MicroVM, Sysbox, Namespaces, gVisor, FEX-Emu, QEMU User, Proot, Legacy32, Chroot, and Native
  • `doki run --runtime <mode>` for explicit selection; auto-detection picks the best available
  • Android detection via `/system/bin/` and `ro.build.version.release` — proot is forced automatically
  • `LD_PRELOAD` and `LD_LIBRARY_PATH` stripped from proot environment via `common.StripHostEnv()` — fixes Termux's `libtermux-exec-ld-preload.so` hooking `execve` and breaking proot's ptrace
View on GitHub
v0.9.1

Doki v0.9.1

May 14, 2026

  • Full OCI Distribution Spec push: blob upload, cross-repo mount, manifest PUT
  • Registry Auth: credentials propagation to registry client
  • doki push now works against Docker Hub and any OCI registry
  • Go-native tar with whiteout handling, path traversal protection
  • Compression auto-detection: gzip, bzip2, xz, zstd
View on GitHub
v0.9.0

v0.9.0 - doki-init-rust, doki-proot, distro system, ARMv7 beta

May 13, 2026

  • **doki-init-rust**: PID 1 rewritten in Rust (412K vs 2.9MB Go, -86%)
  • **doki-proot**: Forked proot with daemon mode + JSON IPC (14K)
  • **Distro system**: `doki run --distro alpine/ubuntu/debian/arch`
  • **ARMv7 beta**: Full feature parity for older ARM devices
  • Proot dispatch now wired in runtime (startProcess)
View on GitHub
v0.8.0

Doki v0.8.0

May 5, 2026

  • Docker API v1.44 compatibility
  • OCI native image pulling from Docker Hub
  • ARM64 multi-arch auto-resolution
  • Rootless operation (proot mode)
  • Full container lifecycle (create, start, stop, remove)
View on GitHub
v0.4.1

Doki v0.4.1 — Native Proot Support

May 5, 2026

  • **Proot execve() now works** — Added Android bind mounts (/apex, /system, /vendor, /storage)
  • **No more double output** — Removed proot→native fallback that caused commands to run twice
  • **--link2symlink** — Hardlink emulation for SELinux systems
  • **PROOT_NO_SECCOMP=1** — Disables proot internal seccomp on Android
  • **--help on all commands** — doki run/build/exec/logs --help now works
View on GitHub

Want to see older releases?

All releases on GitHub