Skip to content

Boss v1.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 22 Aug 23:03

BOSS 1.0.0 Release Notes

Release Date: August 22, 2025
Tag: v1.0.0
Compatibility: Blacksmith API v2.16

Overview

BOSS 1.0.0 represents a major milestone in the evolution of this Blacksmith CLI utility.
This release brings improvements to reliability and alignment with the Blacksmith 1.0 release.

🎉 Major Features

Enhanced Client Library

  • Improved Error Handling: Error types with helper functions IsNotFound(), IsConflict(), and IsTimeout()
  • Async Operation Support: Full support for long-running operations with accepts_incomplete=true parameter
  • Retry Logic: Configurable retry behavior with exponential backoff for transient failures
  • YAML Validation: Automatic validation of manifest and credential files
  • Streaming Capabilities: New StreamTask() method for real-time task log following

Modern Build Pipeline

  • CI/CD Workflows: Complete GitHub Actions workflows for continuous integration and automated releases
  • Security Checks: Integrated security scanning with govulncheck and gosec
  • Quality Assurance: Enhanced testing pipeline with code coverage reporting

API Compatibility

  • Blacksmith API v2.16: Full compatibility with the latest Blacksmith API version
  • Go 1.25.0+: Updated for modern Go runtime support
  • Enhanced Configuration: New client configuration options including timeout, retry settings, and debug modes

🔧 Improvements

Documentation

  • Migration Guide: Guide for upgrading from previous versions
  • Troubleshooting: Detailed troubleshooting section with common issues and solutions
  • API Documentation: Complete documentation of breaking changes and new features

Developer Experience

  • Debug Mode: Enhanced debug output with --debug flag
  • Trace Mode: HTTP request/response tracing with --trace flag
  • Better Error Messages: More descriptive and actionable error messages

⚠️ Breaking Changes

Function Signatures

  • Update Function: Now requires plan and params parameters

    // Old (v0.x)
    client.Update(instanceID, serviceID)
    
    // New (v1.0)
    client.Update(instanceID, serviceID, planID, params)
  • Create Function: Now accepts parameters

    // Old (v0.x)
    client.Create(instanceID, serviceID, planID)
    
    // New (v1.0)
    client.Create(instanceID, serviceID, planID, params)

📈 Technical Details

Dependencies Updated

  • Go module dependencies updated for latest compatibility
  • Minimum Go version requirement: 1.25.0

Security Enhancements

  • SSL validation improvements
  • Enhanced certificate handling
  • Security scanning integrated into build process

Performance

  • Optimized HTTP client with connection reuse
  • Improved memory usage in streaming operations
  • Better timeout handling for large operations

🚀 Getting Started

Installation

# Download the latest release
curl -L https://github.com/blacksmith-community/boss/releases/download/v1.0.0/boss-linux-amd64 -o boss
chmod +x boss

Basic Usage

# View catalog
boss catalog

# Create a service instance
boss create postgresql/small-cluster -f

# List instances
boss ls -l

# Stream task logs
boss task instance-name

Configuration

client := Client{
    URL:                "https://blacksmith.example.com",
    Username:           "admin",
    Password:           "password",
    InsecureSkipVerify: false,
    Debug:              true,
    Timeout:            30 * time.Second,
    MaxRetries:         3,
    BrokerAPIVersion:   "2.16",
}

🐛 Bug Fixes

  • Fixed SSL certificate validation issues
  • Resolved timeout handling in long-running operations
  • Corrected manifest parsing edge cases
  • Fixed credential retrieval for complex service types

🔄 Migration from Previous Versions

  1. Update Function Calls: Add new parameters to Create() and Update() calls
  2. Error Handling: Review error handling code to use new error types
  3. Configuration: Update client initialization for new configuration options
  4. Dependencies: Ensure Go 1.25.0 or later

🙏 Acknowledgments

This release represents significant improvements to make BOSS a robust, production-ready tool for managing Blacksmith services.
Thank you to all contributors and users who provided feedback and testing.

📞 Support

  • Issues: GitHub Issues
  • Documentation: See README.md for detailed usage instructions
  • Community: Join the Blacksmith Community discussions

Full Changelog: See commit history from previous releases to v1.0.0 for complete details.

📦 Release Artifacts

File Description SHA256
boss-1.0.0.tar.gz Server Distribution (includes UI and all platform binaries, gzip) e6bee012...
boss-1.0.0.tar.bz2 Server Distribution (includes UI and all platform binaries, bzip2) 05fc1a7b...
boss-darwin-amd64 macOS Intel 1048bc40...
boss-darwin-arm64 macOS Apple Silicon (M1/M2/M3) 4585b120...
boss-linux-amd64 Linux AMD64 d282dd2b...

📋 Installation

Server Distribution

# Download gzip version (smaller, faster decompression)
wget https://github.com/blacksmith-community/boss/releases/download/v1.0.0/boss-1.0.0.tar.gz
tar -xzf boss-1.0.0.tar.gz

# OR download bzip2 version (better compression)
wget https://github.com/blacksmith-community/boss/releases/download/v1.0.0/boss-1.0.0.tar.bz2
tar -xjf boss-1.0.0.tar.bz2

# Extract contains platform-specific binaries:
cd boss-1.0.0/
ls boss-*  # Shows: boss-linux-amd64, boss-darwin-amd64, boss-darwin-arm64

# Use the appropriate binary for your platform:
./boss-linux-amd64 --version    # For Linux
./boss-darwin-amd64 --version   # For macOS Intel
./boss-darwin-arm64 --version   # For macOS Apple Silicon

macOS/Linux Binary

# Download the appropriate binary for your system
# macOS Apple Silicon
curl -LO https://github.com/blacksmith-community/boss/releases/download/v1.0.0/boss-darwin-arm64

# macOS Intel
curl -LO https://github.com/blacksmith-community/boss/releases/download/v1.0.0/boss-darwin-amd64

# Linux AMD64
curl -LO https://github.com/blacksmith-community/boss/releases/download/v1.0.0/boss-linux-amd64

# Make executable and verify
chmod +x boss-*
./boss-* --version

🔒 Verification

Download the checksums file and verify your download:

curl -LO https://github.com/blacksmith-community/boss/releases/download/v1.0.0/checksums.sha256
sha256sum -c checksums.sha256