From 31b71532751dc5748ee70440d4d85249a805faca Mon Sep 17 00:00:00 2001 From: Michel Abboud Date: Fri, 30 Jan 2026 17:12:14 +0000 Subject: [PATCH] docs: Update changelog with all v1.0.0 features Co-Authored-By: Claude Opus 4.5 --- CHANGELOG.md | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e1ccb5..6d9507f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,17 +2,39 @@ All notable changes to this project will be documented in this file. -## [1.0.0] - 2026-01-28 +## [1.0.0] - 2026-01-30 ### Added - **winctl.sh**: Management script for Windows Docker containers - - 13 commands: start, stop, restart, status, logs, shell, stats, build, rebuild, list, inspect, monitor, check, refresh + - 20+ commands: start, stop, restart, status, logs, shell, stats, build, rebuild, list, inspect, monitor, check, refresh, open, pull, disk, snapshot, restore, clean, destroy, instances, cache, help - Interactive menus for version selection - Prerequisites checking (Docker, Compose, KVM, TUN, memory, disk) - Color-coded output with professional table formatting - Safety confirmations for destructive operations - Support for all 22 Windows versions across 4 categories - JSON status cache (`~/.cache/winctl/status.json`) with auto-refresh +- **Multi-instance support**: run multiple instances of the same version + - `start --new` creates auto-numbered instances with allocated ports + - `start --new ` creates named instances + - `--clone` copies data from the base version + - JSON registry (`instances/registry.json`) tracks all instances + - `instances` lists all registered instances; `destroy` removes them +- **ISO cache**: skip re-downloading ISOs for new instances + - `cache download ` downloads original ISOs using the container's download logic + - `cache save ` caches from data directory (skips rebuilt ISOs) + - Auto-restore on `start --new` copies cached ISOs before container starts + - `cache list` / `cache rm` / `cache flush` for cache management + - Rebuilt ISOs (genisoimage output) detected and skipped automatically +- **Auto-cache on stop**: `AUTO_CACHE=Y` in `.env` caches unprocessed ISOs when stopping +- **Snapshot & restore**: back up and restore VM data directories +- **Topic-based help system**: `help [commands|instances|cache|examples|config|all]` + - Interactive numbered menu in terminal mode + - Auto-disabled in pipes, CI, and batch environments + - Aligned columns using `_help_row()` with ANSI-safe formatting +- **ARM64 auto-detection**: blocks unsupported versions, shows `[x86 only]` tags +- **LAN IP detection** with remote access URLs shown on start +- **Port conflict detection** before starting containers +- **Disk usage monitoring** with per-VM and snapshot breakdowns - Multi-version compose structure with organized folders (`compose/`) - Environment file configuration (`.env` / `.env.example`) - Two resource profiles: modern (8G RAM, 4 CPU) and legacy (2G RAM, 2 CPU) @@ -24,11 +46,13 @@ All notable changes to this project will be documented in this file. - Tiny: Tiny11, Tiny10 - Unique port mappings for each version (no conflicts) - CLAUDE.md for Claude Code guidance +- WINCTL_GUIDE.md comprehensive user guide ### Changed - Default storage location changed from `./windows` to `./data/` - Compose files now use `env_file` for centralized configuration -- Restart policy changed from `always` to `unless-stopped` +- Restart policy changed from `always` to `on-failure` +- `clean --data` now unregisters instances and removes compose files ### Resource Profiles