Because ‘stable’ is boring.

We’re proud to announce the release of HMAC File Server 3.2, code-named Tremora del Terra. This release marks a significant leap in usability, performance, and deployment simplicity. Every release now has a name—and this one is as balanced and powerful as its title suggests.

Whether you’re deploying on a lightweight ARM device or a high-performance server cluster, version 3.2 is designed to deliver a fast, secure, and seamless file server experience—with near-zero setup time.


Repository

The source code and release downloads are available at:
https://git.uuxo.net/uuxo/hmac-file-server


Key Features

Configuration Revolution

  • Minimal Configuration: Configuration complexity has been reduced from 112 lines to as few as 8.
  • Smart Defaults: All core settings now include production-ready defaults. You only need to configure what truly matters.
  • Auto-Config Generation: Use --genconfig for a minimal starter config or --genconfig-advanced for a full-featured template.
  • Field Naming Consistency: Updated field names such as listenport to listen_address for better clarity and alignment.
  • Backwards Compatible: Existing configurations continue to function without modification.
  • Override-Only System: Load sensible defaults first, override only what you explicitly define.

Enhanced File Processing

  • Pre-Upload Deduplication: Files that already exist are instantly acknowledged, eliminating false upload errors.
  • Extended Timeouts: New 4800-second timeouts improve support for large or slow uploads.
  • Efficient Deduplication Engine: 1GB optimized file hashing ensures accuracy without excess resource use.
  • Improved Queue Management: Upload queue size has doubled (50 to 100), and scaling thresholds are now more responsive (80% to 40%).
  • Session Persistence: Upload sessions now remain active for up to 60 minutes to ensure reliability for large transfers.

Multi-Architecture Build System

  • Interactive Cross-Compilation: A new guided build script supports cross-compiling with ease.
  • Architecture Support: Full native support for AMD64, ARM64, and ARM32v7.
  • Smart Binary Naming: Binaries now include target architecture in the filename for clarity.

Developer Experience

  • Minimal Startup: Only three settings are required to launch a production-ready instance.
  • Validation Engine: All configuration files are now fully validated with clear and actionable error messages.
  • Refactored Project Layout: Test suites have been relocated to /tests for better project organization.
  • Updated Documentation: All guides have been rewritten to reflect the new minimal configuration approach.

Performance and Security

  • ClamAV Filtering: Optional antivirus scanning now intelligently skips media files and other safe types.
  • Chunked Upload Enhancements: Increased reliability and resilience during high-volume file transfers.
  • Dynamic Worker Scaling: Workers automatically scale based on live queue depth.
  • Docker-Ready: The Docker deployment is now hardened and optimized for secure defaults.

Migration Guide

Upgrading from 3.1.x to 3.2 is seamless.

Option 1: Keep Your Existing Configuration

Your current config.toml will continue to work without modification. The new version will apply improved defaults automatically.

Option 2: Migrate to the New Minimal Configuration


# Backup your current config
cp config.toml config-3.1-backup.toml

# Generate a new minimal config
./hmac-file-server --genconfig > config-simple.toml

# Copy over your specific values (e.g., storage_path, secret)

# Test with the new config
./hmac-file-server -config config-simple.toml

Previous Post Next Post