|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to Mocker are documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [Unreleased] |
| 9 | + |
| 10 | +### Added |
| 11 | +- **100% Docker CLI flag compatibility** across all 111 commands/subcommands |
| 12 | +- `mocker commit` command with `--author`, `--change`, `--message`, `--no-pause` |
| 13 | +- `mocker container prune` command with `--filter`, `--force` |
| 14 | +- `mocker container export` (moved under `container` subcommand group) |
| 15 | +- `mocker image rm` command with `--force`, `--no-prune`, `--platform` |
| 16 | +- `mocker image inspect` command with `--format`, `--platform` and JSON output |
| 17 | +- `mocker image prune` command with `--all`, `--filter`, `--force` |
| 18 | +- `mocker run` / `mocker create`: added ~50 Docker-compatible flags including `--attach`, `--cpu-shares`, `--publish-all`, `--quiet`, `--sig-proxy`, `--oom-kill-disable`, `--annotation`, `--blkio-weight`, `--cap-add/drop`, `--cgroup-parent`, `--cgroupns`, `--cidfile`, `--cpus`, `--device`, `--dns`, `--entrypoint`, `--gpus`, `--health-cmd`, `--init`, `--ipc`, `--link`, `--log-driver`, `--mac-address`, `--memory`, `--network-alias`, `--pid`, `--platform`, `--privileged`, `--read-only`, `--restart`, `--runtime`, `--security-opt`, `--shm-size`, `--stop-signal`, `--stop-timeout`, `--storage-opt`, `--sysctl`, `--tmpfs`, `--ulimit`, `--userns`, `--volumes-from`, `--workdir` |
| 19 | +- `mocker build`: added ~25 BuildKit/Buildx flags including `--add-host`, `--allow`, `--annotation`, `--attest`, `--build-context`, `--builder`, `--cache-from`, `--cache-to`, `--call`, `--cgroup-parent`, `--check`, `--iidfile`, `--load`, `--metadata-file`, `--no-cache-filter`, `--output`, `--progress`, `--provenance`, `--push`, `--sbom`, `--secret`, `--shm-size`, `--ssh`, `--ulimit` |
| 20 | +- `mocker update`: added `--blkio-weight`, `--cpu-period`, `--cpu-quota`, `--cpu-rt-period`, `--cpu-rt-runtime`, `--cpuset-cpus`, `--cpuset-mems`, `--memory-reservation`, `--memory-swap` |
| 21 | +- `mocker history` / `mocker save` / `mocker load` / `mocker import`: added `--platform` |
| 22 | +- `mocker images`: added `--tree` |
| 23 | +- Network commands: added `--alias`, `--driver-opt`, `--gw-priority`, `--ip`, `--ip6`, `--link`, `--link-local-ip` to `network connect`; added `--attachable`, `--aux-address`, `--config-from`, `--config-only`, `--ingress`, `--internal`, `--ip-range`, `--ipam-driver`, `--ipam-opt`, `--ipv4`, `--ipv6`, `--label`, `--opt`, `--scope` to `network create`; added `--force` to `network disconnect/rm`; added `--format`, `--verbose` to `network inspect` |
| 24 | +- Volume commands: added `--label`, `--opt` to `volume create`; added `--format` to `volume inspect`; added `--force` to `volume rm` |
| 25 | +- System commands: added `--format` to `system info`; added `--filter` to `system prune` |
| 26 | +- Compose: added ~200+ flags across 22 subcommands for full Docker Compose CLI compatibility |
| 27 | +- `COMMANDS.md` — comprehensive reference of all 111 supported commands and flags |
| 28 | + |
| 29 | +## [0.1.8] - 2026-03-09 |
| 30 | + |
| 31 | +### Added |
| 32 | +- `--env-file` flag support for `mocker run` — load environment variables from file |
| 33 | + |
| 34 | +### Fixed |
| 35 | +- Homebrew tap commit author and runner configuration (macOS 26) |
| 36 | + |
| 37 | +### CI |
| 38 | +- Added PR test workflow with macOS 26 runner |
| 39 | + |
| 40 | +## [0.1.7] - 2026-03-08 |
| 41 | + |
| 42 | +### Added |
| 43 | +- AGPL-3.0 license |
| 44 | +- "Replace docker with mocker" quick-start section in README |
| 45 | +- `--rm` flag for `mocker run` — auto-remove container on exit |
| 46 | +- MenuBar GUI marked as "coming soon" in docs |
| 47 | + |
| 48 | +### Fixed |
| 49 | +- `compose.yaml` and `compose.yml` now recognized as default compose file names (in addition to `docker-compose.yml`) |
| 50 | +- Compose variable substitution (`${VAR:-default}`) now resolves correctly |
| 51 | +- Named volumes now skip virtiofs bind mount for compatibility |
| 52 | +- Container remove stop timeout fixed for faster cleanup |
| 53 | + |
| 54 | +### Changed |
| 55 | +- Documentation redesigned with den-style frontmatter and clean formatting |
| 56 | + |
| 57 | +## [0.1.6] - 2026-03-08 |
| 58 | + |
| 59 | +### Fixed |
| 60 | +- Named volumes now resolve to correct host paths for compose services |
| 61 | + |
| 62 | +## [0.1.5] - 2026-03-08 |
| 63 | + |
| 64 | +### Fixed |
| 65 | +- Relative build context paths now resolve against CWD correctly |
| 66 | + |
| 67 | +## [0.1.4] - 2026-03-08 |
| 68 | + |
| 69 | +### Fixed |
| 70 | +- `container build` now always passes `-f` flag to use correct Dockerfile from build context directory |
| 71 | + |
| 72 | +## [0.1.3] - 2026-03-08 |
| 73 | + |
| 74 | +### Added |
| 75 | +- `compose kill` subcommand |
| 76 | +- `--timeout` / `-t` flag for `compose down` |
| 77 | + |
| 78 | +## [0.1.2] - 2026-03-08 |
| 79 | + |
| 80 | +### Added |
| 81 | +- `compose up` now accepts service names to start specific services |
| 82 | +- `compose down` now supports `--remove-orphans` and `--volumes` flags |
| 83 | + |
| 84 | +## [0.1.1] - 2026-03-08 |
| 85 | + |
| 86 | +### Added |
| 87 | +- Homebrew installation support (`brew tap us/tap && brew install mocker`) |
| 88 | +- Release workflow — automated binary builds and homebrew formula updates |
| 89 | + |
| 90 | +### Changed |
| 91 | +- Centered header in README |
| 92 | + |
| 93 | +## [0.1.0] - 2026-03-07 |
| 94 | + |
| 95 | +### Added |
| 96 | +- Initial release of Mocker |
| 97 | +- **Container lifecycle**: `run`, `create`, `start`, `stop`, `restart`, `rm`, `kill`, `pause`, `unpause`, `rename`, `wait`, `attach` |
| 98 | +- **Container inspection**: `ps`, `inspect`, `logs`, `stats`, `top`, `port`, `diff`, `export` |
| 99 | +- **Image management**: `pull`, `push`, `build`, `images`, `tag`, `rmi`, `save`, `load`, `import`, `history`, `search` |
| 100 | +- **Network management**: `network create/ls/rm/inspect/connect/disconnect` |
| 101 | +- **Volume management**: `volume create/ls/rm/inspect` |
| 102 | +- **System**: `system info`, `system prune`, `version`, `events` |
| 103 | +- **Docker Compose v2**: `up`, `down`, `ps`, `logs`, `restart`, `build`, `pull`, `push`, `config`, `exec`, `run`, `stop`, `start`, `kill`, `rm`, `pause`, `unpause`, `top`, `events`, `images`, `port`, `cp` |
| 104 | +- Real container execution via Apple Containerization framework |
| 105 | +- `mocker build` with live streaming output via `container build` |
| 106 | +- `mocker stats` — real CPU/memory from VirtualMachine.xpc process |
| 107 | +- Port mapping (`-p`) via userspace TCP proxy subprocess |
| 108 | +- Inter-service hostname injection for compose networking |
| 109 | +- Docker-style short image reference normalization |
| 110 | +- JSON state persistence in `~/.mocker/` |
| 111 | +- Swift 6 actor-based concurrency throughout |
| 112 | + |
| 113 | +[Unreleased]: https://github.com/us/mocker/compare/v0.1.8...HEAD |
| 114 | +[0.1.8]: https://github.com/us/mocker/compare/v0.1.7...v0.1.8 |
| 115 | +[0.1.7]: https://github.com/us/mocker/compare/v0.1.6...v0.1.7 |
| 116 | +[0.1.6]: https://github.com/us/mocker/compare/v0.1.5...v0.1.6 |
| 117 | +[0.1.5]: https://github.com/us/mocker/compare/v0.1.4...v0.1.5 |
| 118 | +[0.1.4]: https://github.com/us/mocker/compare/v0.1.3...v0.1.4 |
| 119 | +[0.1.3]: https://github.com/us/mocker/compare/v0.1.2...v0.1.3 |
| 120 | +[0.1.2]: https://github.com/us/mocker/compare/v0.1.1...v0.1.2 |
| 121 | +[0.1.1]: https://github.com/us/mocker/compare/v0.1.0...v0.1.1 |
| 122 | +[0.1.0]: https://github.com/us/mocker/releases/tag/v0.1.0 |
0 commit comments