Skip to content

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 02 Jul 19:10

Features

  • md run:
    • Added --env flag to set environment variables
    • Added --apply-patch flag to pull changes back after command execution.
    • Added --extra-repo (short -e) flag to map additional git repositories.
  • md fork flags (--display, --tailscale, --usb, --sudo) now accept explicit true/false values (e.g. --display=false), allowing users to force-disable capabilities inherited from the source container.
  • Fork snapshots now strip runtime environment variables (MD_DISPLAY, MD_TAILSCALE, etc.) from the source image to prevent unintended re-enabling of capabilities.
  • SSH configuration optimized for speed: restricted host key algorithms, ciphers, and kex algorithms; compression disabled.
  • slog logging is now injectable.

Bug Fixes

  • Diff now uses merge-base to exclude upstream changes that are not part of the local branch.
  • Git index timestamp is preserved during diff to prevent Git from considering the temporary index as clean and missing changes.
  • Pull and SyncDefaultBranch handle missing branches (e.g. manually deleted container branches) without errors.
  • SSH readiness timeout increased to 30 seconds for slower container starts.
  • Removed the chown repair step in start.sh that could cause performance issues with fork snapshots.
  • Sensitive values (API keys, passwords, tokens) are now redacted in command argument logs.

Breaking Changes

  • Dynamic upstream tracking replaces the hardcoded base branch. The base ref is now derived from @{upstream} or a "host" remote, supporting feature branches with remote tracking.
  • Container.Run() has been removed. Use Launch(), Connect(), SSH command, and Purge() instead.
  • Fork flag behavior changed: unset flags no longer inherit from the source; they now remain off. Use --flag=true or --flag=false explicitly.

Other

  • SSH commands for Push, Fetch, and Pull are combined into single SSH calls, reducing round trips.
  • start.sh now locks the user's password and removes the user from the sudo group when sudo is not enabled.

Full Changelog: v0.14.2...v0.15.0