Repository navigation
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(), andIsTimeout() - Async Operation Support: Full support for long-running operations with
accepts_incomplete=trueparameter - 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
--debugflag - Trace Mode: HTTP request/response tracing with
--traceflag - Better Error Messages: More descriptive and actionable error messages
⚠️ Breaking Changes
Function Signatures
-
Update Function: Now requires
planandparamsparameters// 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 bossBasic 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-nameConfiguration
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
- Update Function Calls: Add new parameters to
Create()andUpdate()calls - Error Handling: Review error handling code to use new error types
- Configuration: Update client initialization for new configuration options
- 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 SiliconmacOS/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