Skip to main content

thresh 1.3.0 Released - 73% Smaller Binary with UPX Compression

ยท 3 min read
thresh Team
thresh Development Team

We're excited to announce thresh 1.3.0, featuring dramatic performance improvements through UPX compression and continued refinement of our AI-powered WSL environment management.

๐Ÿš€ What's Newโ€‹

UPX Compression - 73% Size Reductionโ€‹

The headline feature of 1.3.0 is the integration of UPX (Ultimate Packer for eXecutables) compression:

  • Binary size reduced from 13.5 MB โ†’ 3.8 MB (73% smaller!)
  • Faster downloads and distribution
  • Same startup performance (~50ms)
  • Same functionality, smaller footprint

This makes thresh one of the most compact development environment orchestration tools available, perfect for quick installations and CI/CD pipelines.

GitHub Copilot SDK Integrationโ€‹

thresh now exclusively uses the GitHub Copilot SDK for AI features, providing:

  • 20+ AI models including GPT-4o, Claude 3.5 Sonnet, Gemini 1.5, o1, Llama 3.1, and Mistral
  • No API keys required - just authenticate with GitHub CLI (gh auth login)
  • Seamless integration with your existing GitHub workflow
  • Access to the latest and most advanced AI models

Simplified Configurationโ€‹

We've streamlined configuration management:

  • Removed OpenAI and Azure OpenAI provider settings
  • Reduced configuration properties from 8 to 5
  • Single authentication method (GitHub CLI)
  • Cleaner, more intuitive setup

๐Ÿ“ฆ Installationโ€‹

# Download latest release
Invoke-WebRequest -Uri "https://github.com/dealer426/thresh/releases/latest/download/thresh.exe" -OutFile "thresh.exe"

# Verify size - should be ~3.8 MB!
(Get-Item thresh.exe).Length / 1MB

Package Managers (Coming Soon)โ€‹

We're working on distribution through winget, Chocolatey, and Scoop for even easier installation.

๐Ÿ”ง Technical Detailsโ€‹

Native AOT + UPXโ€‹

thresh combines two powerful technologies:

  1. .NET 10 Native AOT compilation - Produces optimized native code with no runtime dependencies
  2. UPX compression - Reduces binary size while maintaining decompression speed

The result: 3.8 MB self-contained binary that starts in ~50ms.

Dependency Reductionโ€‹

We've optimized our dependencies:

  • 6 โ†’ 3 NuGet packages
  • Removed: Microsoft.Extensions.Configuration, DependencyInjection, and AI provider libraries
  • Core dependencies: GitHub.Copilot.SDK, System.CommandLine, System.Security.Cryptography.ProtectedData

Build Pipelineโ€‹

Our GitHub Actions release workflow now:

  • Downloads UPX 4.2.4 directly from GitHub releases
  • Compresses the Native AOT binary with --best --lzma flags
  • Calculates and reports compression statistics
  • Publishes compressed binary as release asset

๐ŸŽฏ Use Casesโ€‹

thresh 1.3.0 excels at:

  • Quick provisioning - Alpine environments in under 30 seconds
  • AI-assisted development - Generate custom blueprints with natural language
  • MCP integration - Control environments from Claude Desktop, VS Code, or Cursor
  • CI/CD pipelines - Small binary size perfect for automated workflows

๐Ÿ“Š Performance Benchmarksโ€‹

MetricValue
Binary Size (uncompressed)13.5 MB
Binary Size (compressed)3.8 MB
Compression Ratio73%
Startup Time~50ms
Alpine Provision Time~25 seconds
Ubuntu Provision Time~60 seconds

๐Ÿ”ฎ What's Nextโ€‹

Looking ahead to future releases:

  • Cross-platform support - Linux and macOS (Phase 2)
  • Package manager distribution - winget, Chocolatey, Scoop
  • Enhanced MCP tools - More AI editor integration
  • Blueprint marketplace - Share and discover community blueprints

๐Ÿ“š Resourcesโ€‹

๐Ÿ™ Acknowledgmentsโ€‹

Thanks to the UPX project for their excellent compression tool, and to the .NET team for Native AOT capabilities that make thresh's performance possible.


Try thresh 1.3.0 today and experience lightning-fast WSL environment provisioning with AI-powered blueprints!