github patrickchugh/terravision v0.42.0
v0.42.0 — OpenTofu Support, Customisable Rendering & Resource Grouping

5 hours ago

Highlights

OpenTofu Support (#199)

TerraVision now works with OpenTofu as a drop-in alternative to Terraform. Use the new --engine flag to select the infrastructure binary:

# Autodetect (default): prefers terraform, falls back to tofu
terravision draw --source ./infra

# Force OpenTofu
terravision draw --source ./infra --engine tofu

# Or set via environment variable
export TERRAVISION_ENGINE=tofu

Available on draw, visualise, and graphdata commands. Both engines must be v1.x.

Customisable Font & Icon Sizes (#192, #198)

New CLI options give you control over diagram rendering:

  • --fontsize <pt> — set label font size (default 12)
  • --iconsize <px> — set icon size in pixels (default 128)
  • --use-resource-names — display Terraform resource names instead of service labels

Auto-Grouping of Duplicate Resources

When multiple resources of the same type appear in a diagram (e.g. several S3 buckets or Lambda functions), they are now automatically grouped into visual clusters for a cleaner layout.

Bug Fixes

  • Cyclic variable detection (#196): handle_metadata_vars now detects and breaks cyclic variable references instead of entering infinite recursion
  • Private registry support (#193, #197): Fixed private module registry downloads using Terraform's service discovery protocol
  • Module output maps (#195): Fixed TypeError when a module output value is a dict/map rather than a string
  • Terragrunt version — handle Terragrunt reporting its version as "latest"
  • IAM Role attachments — improved handling of IAM role attachment relationships

Other Improvements

  • Draw.io export: refined icon sizing and cluster whitespace for cleaner output
  • Nix: added missing runtime dependency to flake.nix (#194)
  • Engine-aware messages: all CLI status and error messages now reflect the active engine name (terraform/tofu)
  • Python 3.14 compatibility fixes for test suite

Full changelog: v0.39.0...v0.42.0

Don't miss a new terravision release

NewReleases is sending notifications on new releases.