Repository navigation
π₯ Furnace v0.2.0 - Enhanced CLI & Structured Logging
π Furnace v0.2.0 - Enhanced CLI Validation & Structured Logging
β¨ Major New Features
π§ Enhanced CLI Argument Validation
- Multi-format model support: Both
.burnand.mpk(MessagePack) formats - Comprehensive input validation for model path, host, and port
- Robust host validation: IP addresses, hostnames, and format checks
- File permission and size validation: Prevents loading invalid models (10GB limit)
- Detailed error messages with specific reasons and actionable suggestions
- Improved help text with usage examples and detailed descriptions
π Production-Ready Structured Logging
- Environment-aware logging: Automatic detection of development vs production modes
- JSON structured logging for production environments (machine-readable)
- Human-readable logging for development (with colors and file locations)
- Session tracking: Unique session IDs for request correlation and debugging
- Comprehensive log coverage: Model loading, server startup, configuration, and errors
- Smart timestamps: UTC for production, local time for development
π‘οΈ Enhanced Error Handling
- Structured error responses with consistent JSON format
- Detailed validation errors with context and suggestions
- Graceful error handling for all CLI arguments and edge cases
- Security-conscious: No sensitive information leaked in error messages
π Breaking Changes
- CLI now accepts both
.burnand.mpkmodel files (backward compatible) - Enhanced logging format with structured fields (may affect log parsing)
- Stricter input validation (may reject previously accepted invalid inputs)
π Technical Improvements
- Better argument parsing with clap value parsers and validation
- Host validation: Proper IP address parsing and hostname format validation
- Port range validation: 1024-65535 with clear privilege warnings
- Concurrency limits: 1-10000 requests with proper validation
- Environment-based configuration:
FURNACE_ENVsupport for deployment flexibility
π§ͺ Quality Assurance
- β All CLI validation scenarios tested and verified
- β Both development and production logging thoroughly tested
- β
Model loading with
.mpkfiles confirmed working - β Error handling and edge cases extensively validated
- β All CI checks passing across multiple platforms (Ubuntu, macOS, Windows)
- β Security audits and code quality checks passed
π Documentation & UX
- Enhanced help text with practical usage examples
- Detailed argument descriptions for all CLI options
- Clear error messages with actionable guidance
- Improved developer experience with better feedback and validation
π Performance & Reliability
- Optimized logging performance with environment-specific configurations
- Efficient validation with minimal overhead
- Robust error recovery and graceful degradation
- Production-ready with comprehensive monitoring and debugging support
οΏ½οΏ½ Installation & Usage
Quick Start
# Download and run with sample model
curl -L https://github.com/Gilfeather/furnace/releases/download/v0.2.0/furnace-x86_64-unknown-linux-gnu -o furnace
chmod +x furnace
./furnace --model-path ./model.mpkFrom Source
git clone https://github.com/Gilfeather/furnace.git
cd furnace
cargo build --releaseUsage Examples
# Basic usage with .mpk model
./furnace --model-path ./model.mpk
# Production deployment with JSON logging
FURNACE_ENV=production ./furnace --model-path ./model.mpk --host 0.0.0.0 --port 8080
# Development with debug logging and optimizations
./furnace --model-path ./model.burn --log-level debug --enable-kernel-fusion --enable-autotuning
# Get comprehensive help
./furnace --helpπ Performance Metrics
- Binary Size: 2.3MB (single executable)
- Inference Time: ~0.5ms (simple MLP model)
- Memory Usage: <50MB runtime
- Startup Time: <100ms
- Concurrent Requests: Up to 10,000 configurable
What's Changed
- π§ Enhanced CLI validation and structured logging by @Gilfeather in #19
- π Comprehensive benchmark suite for performance analysis by @Gilfeather in #17
- β‘ Advanced Burn model loading with backend support by @Gilfeather in #16
- π Documentation and roadmap updates by @Gilfeather in #15
- ποΈ Nix build support by @Joaqim in #14
- π§ Release workflow improvements by @Gilfeather in #13
New Contributors
Full Changelog: v0.1.0...v0.2.0