- Capture VM process PID after backgrounding tini
- Install signal handlers (SIGTERM, SIGINT, SIGHUP, SIGQUIT) to forward signals to VM process
- Wait for VM to complete graceful shutdown before exiting
- Ensures Windows receives ACPI shutdown signal and has 110 seconds to shut down properly instead of being killed immediately
- Replace windowsarena/windows-local with trycua/windows-local:latest as base
- Remove Azure deployment mode and related files
- Add dynamic VM IP detection in entry.sh for portable deployment
- Keep only Git and Python installation
- Rename setup-tools.psm1 to setup-utils.psm1 with shared logging utilities