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).
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).
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
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)
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
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
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
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)
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)
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
Want to see older releases?
All releases on GitHub