3.3 KiB
3.3 KiB
Changelog
1.1.1 - 2026-10-23
doos apparmorprints a profile for the exact path of the running binary (own profile name per path, so several installs coexist). A start that fails because of AppArmor now prints the install command instead of onlymount bind /: Permission denied. Verified with a copy in~/.local/bin.apparmor/doos(packaging) covers more standard install paths.- Docs: Networking section with a verified example per mode (slirp, pasta, host, none), the inbound/loopback behavior of each, and the pasta port-detection delay.
- Tests: 86 checks (adds apparmor output,
none, slirp has no inbound path, pasta container to container).
1.1.0 - 2026-10-23
- Limits:
--memory,--pids,--cpus(cgroup v2; whole-container OOM kill; reports OOM kills and pid-limit hits). Later attaches run in their own cgroup leaf with the same limits. - Hardening (default): Docker's default capability set, a seccomp filter (arch check, x32 guard, clone3 ENOSYS, no nested user namespaces, no mounts/keyrings/bpf/perf/io_uring/...), host
/etcallowlist.--hardening relaxedturns it off per container. - Networking:
--net pasta(host-like reachability, private namespace and abstract sockets).--net hostnow prints a note. - Size cap: measured from inside the id map (counts other uids), paced by scan cost (2 s floor),
RLIMIT_FSIZEbounds single files. - Images: Debian in the catalog (
debian,debian-RELEASE); Alpine and Ubuntu signatures verified against pinned key fingerprints. - Fix: a failed
get_or_createno longer leaves an unreadable container directory behind. - Tests: 83 end-to-end checks.
1.0.0 - 2026-10-23
Breaking: state layout changed (private /etc, meta keys). Containers from 0.x must be deleted and recreated.
- Images:
doos image list|add|delete,--image NAMEonget_or_create/attach(fetched on demand). Catalog:alpine,ubuntu,ubuntu-VERSION; also https URL with--sha256, or a local tarball. sha256 verified before extraction. --size: cap for what a container writes (default 4g). Warns at 80%, freezes at 100% via cgroup v2, thaws below 95%.--ids: subuid mapping through newuidmap/newgidmap by default (chown, su and apt's_aptwork); falls back to one id.- Host mode fixes: directory skeleton so host-owned directories are writable, private copy of
/etc, pre-seeded/varand dpkg state.apt-get installnow completes. - Deleting trees with subuid-owned files works (runs inside the id map).
- Usage measurement counts hard links once.
- Tests: 56 end-to-end checks, including real image downloads, apt/apk installs and the size freeze.
0.1.3 - 2026-10-23
- Docs: field trial of apt and common tools, new gap G7 (host-owned lower layer), README limits section. No code change.
0.1.2 - 2026-10-23
- Docs: researched solutions for all known gaps (G1 to G6) in
docs/RESEARCH.md, with measurements. Nothing implemented yet.
0.1.1 - 2026-10-23
- Docs: AGENTS.md release workflow, ARCHITECTURE.md, expanded README, this changelog.
- Tooling:
scripts/release.sh(bump, build, test, commit, tag).
0.1.0 - 2026-10-23
- First release:
list,get_or_create,attach,delete. - overlayfs over host
/usr /etc /opt, user/mount/pid/uts/ipc/net namespaces. - Networking: slirp4netns (default),
host,none. - End-to-end test suite and AppArmor profile for Ubuntu 24.04+.