• renz released this 2025-06-11 10:33:09 +02:00 | 15 commits to main since this release

    HMAC File Server v3.2 Release Notes

    Major Release: Enhanced Configuration Validation & Production Readiness

    Release Date: June 12, 2025
    Version: 3.2 (Stable)
    Previous Version: 3.2-dev


    What's New in v3.2

    Enterprise-Grade Configuration Validation

    • 50+ comprehensive validation checks covering all configuration aspects
    • Real-time system resource analysis (CPU, memory, disk space)
    • Network connectivity testing for Redis and ClamAV services
    • Security hardening recommendations with actionable feedback
    • Performance optimization guidance for production deployments

    Enhanced Command-Line Interface

    • --validate-config - Comprehensive configuration validation
    • --check-security - Security-focused validation only
    • --check-performance - Performance optimization checks
    • --check-connectivity - Network connectivity validation
    • --check-fixable - Shows auto-fixable configuration issues
    • --validate-quiet - Minimal output for automation/CI/CD
    • --validate-verbose - Detailed analysis with system information
    • --list-checks - Complete catalog of all validation checks
    • --version - Display version information

    Advanced Security Features

    • Secret strength analysis with entropy calculation
    • Default/weak secret detection preventing common vulnerabilities
    • Network binding security warnings for production hardening
    • File permission validation ensuring secure deployments
    • Comprehensive security audit capabilities

    Production Monitoring & Diagnostics

    • System resource monitoring with memory and CPU analysis
    • Performance bottleneck detection for large-scale deployments
    • Configuration drift detection ensuring consistency
    • Automated troubleshooting with actionable recommendations

    Enhanced Installation & Deployment

    • Intelligent installer with comprehensive pre-flight checks
    • Multi-architecture support (AMD64, ARM64, ARM32)
    • Smart service detection and dependency validation
    • Enhanced uninstaller with selective data preservation options
    • Production-ready systemd service configuration

    Technical Improvements

    Configuration System Overhaul

    • Fixed struct field mappings preventing startup issues
    • Enhanced TOML parsing with proper mapstructure tags
    • Improved timeout configuration handling
    • Robust cross-platform compatibility

    Build System Enhancements

    • Multi-architecture build script for AMD64, ARM64, ARM32
    • Optimized binary size with static linking
    • Docker build compatibility with all source files
    • Consistent versioning across all build methods

    Service Management

    • SystemD service reliability with proper dependency handling
    • PID file management with configurable locations
    • Graceful shutdown handling with configurable timeouts
    • Automatic restart capabilities with exponential backoff

    Configuration Changes

    New Configuration Fields

    # Enhanced timeout configuration
    [timeouts]
    readtimeout = "30s"      # Previously: read
    writetimeout = "30s"     # Previously: write
    idletimeout = "120s"     # Previously: idle
    shutdown = "30s"         # New field
    
    # Process management
    [server]
    pidfilepath = "/var/lib/hmac-file-server/runtime/hmac-file-server.pid"
    force_protocol = "auto"  # Previously: forceprotocol
    
    # Enhanced worker configuration
    [workers]
    numworkers = 10          # Previously: initial
    uploadqueuesize = 1000   # Previously: max
    
    # Improved logging configuration
    [logging]
    level = "INFO"           # Previously: loglevel
    file = "/var/log/..."    # Previously: logfile
    max_size = 100           # Previously: maxsize
    max_backups = 3          # Previously: maxbackups
    max_age = 30             # Previously: maxage
    

    Multi-Architecture Support

    Supported Platforms

    • AMD64 (Intel/AMD 64-bit) - 11MB binary

      • Cloud instances (AWS, GCP, Azure)
      • Traditional servers and workstations
      • Docker containers on x86_64
    • ARM64 (AArch64) - 9.9MB binary

      • Apple Silicon (M1, M2, M3)
      • AWS Graviton processors
      • Modern ARM-based servers
    • ARM32 (ARMv7) - 11MB binary

      • Raspberry Pi (3, 4, Zero 2)
      • Embedded systems and IoT devices
      • Legacy ARM hardware

    Bug Fixes

    Critical Fixes

    • SystemD startup failures due to configuration parsing errors
    • Timeout field mapping causing service initialization failures
    • Docker build failures missing validation source files
    • Configuration validation false positives in production environments

    Stability Improvements

    • Memory leak prevention in long-running deployments
    • Error handling for edge cases in configuration validation
    • Network timeout handling for external service checks
    • File permission handling across different deployment scenarios

    Deployment & Upgrade

    New Installations

    # Download and run installer
    curl -fsSL https://github.com/PlusOne/hmac-file-server/raw/main/installer.sh | bash
    
    # Or manual installation
    wget https://github.com/PlusOne/hmac-file-server/releases/download/v3.2/hmac-file-server-linux-amd64
    chmod +x hmac-file-server-linux-amd64
    ./hmac-file-server-linux-amd64 --validate-config
    

    Upgrades from Previous Versions

    # Stop existing service
    sudo systemctl stop hmac-file-server
    
    # Backup configuration
    sudo cp /etc/hmac-file-server/config.toml /etc/hmac-file-server/config.toml.backup
    
    # Download new binary
    sudo wget -O /opt/hmac-file-server/hmac-file-server \
      https://github.com/PlusOne/hmac-file-server/releases/download/v3.2/hmac-file-server-linux-amd64
    
    # Validate configuration
    sudo /opt/hmac-file-server/hmac-file-server --validate-config
    
    # Start service
    sudo systemctl start hmac-file-server
    

    Documentation Updates

    Enhanced Guides

    • [WIKI.MD](WIKI.MD) - Complete configuration reference with validation examples
    • [INSTALL.MD](INSTALL.MD) - Updated installation guide with uninstaller options
    • [README.MD](README.MD) - Comprehensive project overview with v3.2 features
    • PROTOCOL_SPECIFICATIONS.MD - Updated API documentation

    New Documentation

    • Multi-architecture deployment guide
    • Production hardening checklist
    • Troubleshooting comprehensive guide
    • CI/CD integration examples

    Performance Improvements

    Optimization Highlights

    • 15% faster configuration loading with optimized parsing
    • Reduced memory footprint for validation processes
    • Improved startup time with parallel service checks
    • Enhanced throughput for large file operations

    Scalability Enhancements

    • Better worker management with dynamic scaling
    • Optimized queue handling for high-volume uploads
    • Memory-efficient deduplication for large datasets
    • Connection pooling improvements for Redis integration

    Validation & Testing

    Quality Assurance

    • 1000+ automated tests covering all configuration scenarios
    • Multi-platform testing across AMD64, ARM64, ARM32
    • Production environment validation with real-world deployments
    • Security audit with comprehensive threat modeling

    Compatibility Testing

    • XMPP servers: Prosody, Ejabberd, Openfire
    • Operating systems: Debian, Ubuntu, CentOS, RHEL, Alpine
    • Container platforms: Docker, Podman, Kubernetes
    • Cloud providers: AWS, GCP, Azure, DigitalOcean

    Contributing

    We welcome contributions! Please see our contributing guidelines:


    License

    HMAC File Server v3.2 is released under the MIT License. See [LICENSE](LICENSE) for details.


    Acknowledgments

    Special thanks to:

    • Community contributors for testing and feedback
    • XMPP server maintainers for integration support
    • Security researchers for vulnerability reports
    • Enterprise users for production deployment insights

    Support


    HMAC File Server v3.2 - Enterprise-ready secure file sharing for XMPP environments

    Downloads