Doki v0.9.1
Doki v0.9.1
OCI Push
- 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
8 Distros
Alpine, Ubuntu, Debian, Arch, Fedora, Gentoo, OpenSUSE, Rocky Linux
Native tar extraction
- Go-native tar with whiteout handling, path traversal protection
- Compression auto-detection: gzip, bzip2, xz, zstd
- Parallel extraction with rollback on failure
Compose Engine
- Long syntax Ports/Volumes
- depends_on health conditions (service_healthy, 60s poll)
- 30+ new fields: shm_size, pids_limit, oom_kill_disable, tmpfs, devices, platform, runtime, scale, blkio_config, ulimits
Proot C Fixes (19 commits)
- SECCOMP_RET_ALLOW (forward compat with new Linux syscalls)
- fake_id0 brace bug, stat.c uid/gid, link2symlink sprintf UB
- sysnum off-by-one, kompat parse overflow
- hidden_files VLA 64KB, port_switch stderr/UDP/dead code
- sysvipc shm 400KB->64MB
- TOCTOU guard canon.c, SIGINT/SIGTERM forwarding
- 7 new ptrace requests (GET_SYSCALL_INFO, SEIZE, etc.)
- Memory subsystem fixes, loader hardening
Seccomp
- io_uring, pidfd, rseq, userfaultfd, copy_file_range now allowed
Storage
- Overlay2 uses kernel overlay mount directly (syscall.Mount)
- FUSE fallback runs non-blocking
ARMv7 Beta
- Full feature parity for 32-bit ARM devices
Binaries
- doki: 6.8MB
- dokid: 8.5MB
- doki-compose: 7.2MB
- doki-init-rust: 422KB
- doki-proot: 27KB