Skip to content

Releases: malston/tile-diff

v0.4.0

15 Dec 21:59
0678174

Choose a tag to compare

🎉 Tile-Diff v0.4.0

A powerful CLI tool for comparing VMware Tanzu tile versions, detecting configuration changes, and generating actionable upgrade reports.

✨ Key Features

Pivnet Integration

  • Automatic tile downloads from Pivnet using product slug and version
  • Smart caching to avoid re-downloading tiles
  • EULA acceptance tracking (per-release)
  • Fuzzy version matching (e.g., "6.0" matches "6.0.22+LTS-T")
  • Support for custom product files via --product-file

Intelligent Comparison

  • Compare tile metadata to detect property changes
  • Integration with om config-template for configuration analysis
  • Auto-detection of product GUID from Ops Manager
  • Filter reports based on your current deployment configuration

Release Notes Enrichment

  • Automatically fetch and parse release notes from docs.vmware.com
  • Match changed properties to release note features
  • Enhanced reports showing WHY properties changed
  • Configurable product mappings via YAML

Actionable Reports

  • Text reports with categorized changes (action required, review recommended, informational)
  • JSON output for automation and tooling integration
  • Current vs. new configuration comparison
  • Smart filtering to show only relevant changes

Version Information

  • New --version flag to display binary version
  • Version automatically injected from git tags during build

Configurable Disk Space

  • PIVNET_MIN_FREE_SPACE_GB environment variable for disk space requirements
  • Default 10GB (reasonable for most tiles)
  • Override for CI environments or large tiles

🚀 Usage Examples

Compare tiles from Pivnet:

tile-diff \
  --product-slug cf \
  --old-version 6.0.22+LTS-T \
  --new-version 6.0.23+LTS-T \
  --pivnet-token $PIVNET_TOKEN \
  --accept-eula

Compare local tile files:

tile-diff \
  --old-tile ./cf-6.0.22.pivotal \
  --new-tile ./cf-6.0.23.pivotal

Get filtered report for your deployment:

tile-diff \
  --product-slug cf \
  --old-version 6.0 \
  --new-version 6.1 \
  --ops-manager-url https://opsman.example.com \
  --username admin \
  --password $OM_PASSWORD \
  --format json

🔧 Configuration

Environment Variables:

  • PIVNET_TOKEN - Pivnet API token
  • PIVNET_MIN_FREE_SPACE_GB - Minimum free disk space (default: 10GB)
  • PIVNET_CACHE_DIR - Cache directory for downloaded tiles
  • OM_TARGET, OM_USERNAME, OM_PASSWORD - Ops Manager credentials

📦 Installation

Download the appropriate binary for your platform from the assets below.

Supported Platforms:

  • Linux (amd64, arm64)
  • macOS (amd64, arm64)
  • Windows (amd64)

Verify download:

sha256sum -c checksums.txt

🐛 Bug Fixes & Improvements

  • Cross-platform support for Windows disk space checks
  • Fixed CI test failures due to disk space requirements
  • Improved test isolation for invalid token scenarios
  • Better error handling and meaningful error messages

📋 What's Changed

  • feat: add release notes enrichment to tile-diff reports by @malston in #1
  • feat: Add Pivnet integration for automatic tile downloads by @malston in #2
  • feat: Add auto-detection of product GUID and formatted reports by @malston in #4
  • feat: add --version flag to display binary version by @malston in #5

Full Changelog: https://github.com/malston/tile-diff/commits/v0.4.0