Skip to content

Version 0.4.0

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Mar 00:15
· 91 commits to main since this release
7b74c90

Added

  • New CommandManager module (aivm/commands.py) centralizing all subprocess execution with intent-based approval workflows, command plans, and role annotations (read vs modify).
  • VM configuration drift detection (aivm/vm/drift.py) with DriftReport and DriftItem dataclasses covering hardware (CPU/RAM) and share-mapping mismatches.
  • Status command now reports whether the current working directory is shared with a VM and flags any detected VM configuration drift.
  • Formal attachment model with AttachmentMode (shared, shared-root, git), AttachmentAccess (rw, ro), and ResolvedAttachment dataclasses in aivm/vm/share.py.
  • Read-only share access mode for folder attachments.
  • Directory share status display in aivm status output.
  • Grouped command approval: related commands are batched into plans with unified previews before execution.
  • SSH bootstrap prompting improvements.

Changed

  • All subprocess calls across lifecycle, firewall, host, and network modules now route through CommandManager instead of the previous ad-hoc run_cmd utility.
  • Operations declare explicit intent contexts describing why they are happening, improving logs and approval prompts.
  • Status and drift probes return tri-state outcomes (True/False/None) to gracefully handle permission or query errors.
  • Firewall and network setup operations now show clear intent in command previews.
  • Better error classification for apt lock conflicts, missing UEFI firmware, and memory allocation failures.
  • Python target version updated from 3.8 to 3.11 in ruff configuration.
  • Added mypy configuration section in pyproject.toml.
  • Bumped project version metadata to 0.4.0.

What's Changed

Full Changelog: v0.3.0...refs/heads/release