Changelog
Shipped, fixed, and improved
Every 1VMTool release, straight from the release notes that ship with the product.
SHIPPED · v0.5.0
Prepared environment recipes
New
- Prepared environment recipes for Debian, Node.js, Python, Go, and Rust, in New machine and through 1vm create <name> --recipe <id>. Each one downloads a Debian 13 ARM64 base image, installs and checks the tools, then leaves the machine stopped with a clean snapshot, so a development environment needs no ISO and no golden image.
- Recipe catalog and package details in the New machine sheet and through 1vm recipe list and 1vm recipe show <id>.
- A prepared environment card on the machine Overview tab showing setup state, the installed tool versions, and the guest setup log, with a button to prepare or retry. The same information is available through 1vm recipe status, 1vm recipe logs, 1vm recipe prepare, and 1vm recipe retry, with --json on each.
Improved
- Turning Mac-to-guest SSH on or off for a prepared machine now keeps its recipe provisioning. Previously the change could replace the setup media before first boot and leave the tools uninstalled.
- Machines created from a recipe report their address from the Linux guest tools when the host's DHCP lease file is unavailable.
Fixed
- Flags written after -- now belong to the guest command instead of the 1vm command in front of it, so 1vm exec <vm> -- node --version runs Node in the guest rather than printing the CLI's own version.
SHIPPED · v0.4.0
Docker workspace Containers Dashboard
New
- Usage overview on the Docker workspace Containers, Images, and Volumes pages, showing running versus stopped counts, disk size, reclaimable space, Compose project mix, unused volumes, and the largest images. Disk figures come from the engine when available (1vm docker system df) and fall back to listing sizes otherwise.
- Multi-select and bulk delete for containers, images, volumes, and networks in the Docker workspace.
Fixed
- A failed listing for one Docker resource, including an unreadable image-store blob, no longer marks the whole engine disconnected. Other lists stay available, with a clearer repair message.
- Expanding Recent logs on the console overlay no longer keeps the card over the guest once a display appears. The status-bar Logs button still opens it on demand, and the overlay recovers if a reboot replaces the display.
- Native-engine machines with memory sizes that are not a round GiB now reach a display instead of stopping during firmware startup.
SHIPPED · v0.3.0
Managed Docker engine, Docker workspace and automatic ports
New
- Managed Docker engine with setup, start, stop, restart, status, logs, and deletion in the app and through 1vm engine.
- Docker workspace for containers, images, volumes, and networks, including container logs, stats, Terminal actions, image builds and transfers, and Compose project grouping.
- Explicit Docker connection selection, with recovery actions for unavailable engines and support for existing Docker contexts.
Improved
- The managed Docker engine can run multiple containers alongside a regular VM, including on Free. Its RAM counts toward the library memory budget.
- Docker socket activation can start an installed, stopped engine when a client connects, including after the app exits.
- Release downloads and Sparkle updates are hosted in the public stoicsoft/1VMTool-releases repository. Tag builds create signed, notarized macOS artifacts and a draft release.
Fixed
- Improved guest-agent responsiveness during commands with large output, and corrected native vsock handling of fragmented frames and flow control.
- Improved port-forward cleanup, retries, and propagation of configuration changes between the app and detached CLI processes.
- Preserved other Docker contexts and the global context selection when managing the 1VM engine.
