Releases: us/mocker
Releases · us/mocker
v0.2.0 -- Ground Truth
Ground Truth
This release prioritizes honesty over feature claims. Commands either work or tell you they can't.
Breaking Changes
mocker create,rename,pause,unpausenow return explicit unsupported errors instead of silently mutating local metadatamocker login/logoutnow return unsupported error (credentials were never consumed by pull/push)- Unsupported flags in
mocker runnow produce stderr warnings
Security Fixes
- Fix shell injection in
copyToContainer-- replacedsh -cwith stdin pipe totee - Fix shell injection in compose hostname injection -- same pattern
- Fix pipe-buffer deadlock in both paths (async
terminationHandlerinstead of blockingwaitUntilExit)
Flag Forwarding
- Forward Apple CLI flags in
mocker run:-i,-t,-c,-m,--label,--cidfile,--rm,--tmpfs,--dns-search,--dns-option,--platform - Forward Apple CLI flags in
mocker build:--label,--quiet,--progress,--output - Fix hostname parser (use assigned name, not inspect hostname field)
Documentation
- 12 commands marked
[unsupported]in COMMANDS.md - Compatibility notes added to both READMEs
- Feature claims qualified ("Docker CLI compatible" not "full compatibility")
Testing
- ProcessRunner protocol + MockProcessRunner actor for testability
- 16 new tests (42 total, was 26)
- ContainerEngine, ComposeOrchestrator, and flag enforcement tests
Other
- All version strings unified via
Version.currentVersion - Volume list prunes stale entries where
_data/directory no longer exists
Full Changelog
v0.1.9 -- Full Docker CLI Flag Compatibility
Full Docker CLI Flag Compatibility
Mocker now matches Docker's CLI flag-for-flag across 111 commands and subcommands.
Highlights
run/create: ~50 new flags ----attach,--cpu-shares,--gpus,--init,--memory,--privileged,--restart,--security-opt,--shm-size,--ulimit, and morebuild: ~25 BuildKit/Buildx flags ----cache-from,--cache-to,--load,--push,--secret,--ssh,--sbom,--provenancecompose: ~200+ flags across 34 subcommands (was 22, added 12 missing ones)- Network / Volume / System: all missing flags added
New Commands
mocker commit-- create image from container changesmocker container prune-- remove stopped containersmocker container export-- export container filesystemmocker image rm/image inspect/image prune-- full image subcommand group
New Compose Subcommands
compose events-- receive real-time events from containerscompose attach-- attach to a service containercompose commit/export-- image and filesystem operationscompose scale-- scale servicescompose stats-- resource usage statisticscompose version/volumes/wait/watch/bridge/publish
Documentation
- CHANGELOG.md -- full version history from v0.1.0 to present
- COMMANDS.md -- comprehensive reference of all 111 commands with every flag
- What's New sections added to both English and Chinese READMEs
Full Changelog
v0.1.8
ci: fix homebrew-tap commit author and update runner to macos-26
v0.1.7
fix: support compose.yaml / compose.yml as default compose file names * Initial plan * fix: support compose.yml and compose.yaml as default compose file names Co-authored-by: kmplngj <562965+kmplngj@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
v0.1.6
fix: resolve named volumes to host paths for compose Apple's container CLI does not support named volumes (-v name:/path). Convert named volumes to their host mountpoint directories so bind mounts are used instead (e.g. pgdata -> ~/.mocker/volumes/project-pgdata/_data).
v0.1.5
fix: resolve relative build context paths against CWD URL(fileURLWithPath:).standardized does not resolve relative paths like ../crw-opencore. Explicitly resolve against the current working directory so build contexts like 'build: ../service' work correctly in docker-compose.yml.
v0.1.4
fix: always pass -f flag to container build to use correct Dockerfile container build defaults to CWD/Dockerfile, not context-dir/Dockerfile. When compose build context is in a different directory (e.g. ../crw-opencore), the wrong Dockerfile was being used. Now always pass -f with the resolved absolute path to the Dockerfile in the build context directory.
v0.1.3
fix: add compose kill subcommand and --timeout flag to compose down - Add `mocker compose kill [service]` to force-stop containers - Add `--timeout <seconds>` option to compose down (default: 10) - Fixes compatibility with dev.sh which uses both features
v0.1.2
fix: compose up accepts service names, compose down accepts --remove-…
v0.1.1
ci: add release workflow — build binary and update homebrew formula