release: hmac-file-server 3.2
This commit is contained in:
154
CHANGELOG.MD
Normal file
154
CHANGELOG.MD
Normal file
@ -0,0 +1,154 @@
|
||||
# Changelog
|
||||
|
||||
> **Note:** This file is a technical changelog for developers and maintainers. For user-focused highlights, migration notes, and upgrade instructions, see [README.MD](./README.MD).
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [3.2] - Stable Release
|
||||
|
||||
### Added (3.2)
|
||||
- **Enhanced Documentation**: Comprehensive update of all documentation files to match current codebase
|
||||
- **Protocol Specification Updates**: Detailed protocol documentation with implementation examples
|
||||
- **Configuration Validation**: Improved configuration structure validation and error reporting
|
||||
- **Developer Resources**: Updated build instructions and development setup guides
|
||||
|
||||
### Changed (3.2)
|
||||
- **Documentation Structure**: Reorganized documentation for better clarity and maintenance
|
||||
- **Configuration Examples**: Updated all configuration examples to reflect current options
|
||||
- **API Documentation**: Enhanced API endpoint documentation with comprehensive examples
|
||||
|
||||
### Completed (3.2)
|
||||
- **Feature Development**: Active development of new features and improvements
|
||||
- **Testing Enhancements**: Expanded test coverage and validation
|
||||
- **Performance Optimizations**: Ongoing performance improvements and monitoring
|
||||
|
||||
---
|
||||
|
||||
## [3.1-Stable] - 2025-06-08
|
||||
|
||||
### Added (3.1)
|
||||
- **v3 (mod_http_upload_external) Support**: Implemented secure file uploads using HMAC-SHA256 validation and expiration checks, specifically designed for Prosody's mod_http_upload_external compatibility.
|
||||
- **JWT Authentication**: Complete JWT token authentication system with configurable algorithms and expiration times.
|
||||
- **Multiple Authentication Protocols**: Support for legacy v1, enhanced v2, token-based, and v3 HMAC protocols alongside JWT authentication.
|
||||
- **File Naming Strategy**: Configurable file naming options including HMAC-based, original filename preservation, or no specific naming convention.
|
||||
- **Advanced Configuration Structure**: Comprehensive configuration sections including server, security, uploads, downloads, logging, deduplication, ISO, timeouts, versioning, ClamAV, Redis, and workers.
|
||||
|
||||
### Changed (3.1)
|
||||
- **Enhanced HMAC Validation**: Improved validation logic to support multiple protocol versions (v1, v2, token, v3) with proper fallback mechanisms.
|
||||
- **Authentication Priority**: Implemented authentication priority system with JWT taking precedence when enabled, falling back to HMAC protocols.
|
||||
- **Network Protocol Support**: Enhanced IPv4/IPv6 dual-stack support with protocol forcing options (ipv4, ipv6, auto).
|
||||
- **Configuration Hot-Reloading**: Added support for reloading logging configuration via SIGHUP signal without full server restart.
|
||||
|
||||
### Fixed (3.1)
|
||||
- **Protocol Compatibility**: Addressed compatibility issues with different HMAC protocol versions and mod_http_upload_external clients.
|
||||
- **Error Handling**: Improved error handling for invalid or expired signatures during file uploads.
|
||||
- **Configuration Validation**: Enhanced configuration validation to prevent common misconfigurations.
|
||||
|
||||
---
|
||||
|
||||
## [3.0-Stable] - 2025-06-07
|
||||
|
||||
### Added (3.0)
|
||||
- Official Docker Compose support and example (`dockerenv/docker-compose.yml`).
|
||||
- Multi-stage Dockerfile for minimal images (`dockerenv/dockerbuild/Dockerfile`).
|
||||
- Extended documentation for Docker, Compose, and deployment paths.
|
||||
- Quickstart and configuration examples for containerized environments.
|
||||
- Monitoring and Prometheus metrics documentation improvements.
|
||||
- **Seamless IPv4 and IPv6 support:** The server now automatically supports both IPv4 and IPv6 connections out of the box, with improved dual-stack handling and configuration via `forceprotocol`.
|
||||
|
||||
### Changed (3.0)
|
||||
- Minimum Go version is now **1.24** (was 1.20).
|
||||
- Updated all documentation and config examples to reflect new version and Docker usage.
|
||||
- Improved configuration normalization and environment variable overrides for containers.
|
||||
- Enhanced worker pool and resource auto-scaling logic.
|
||||
|
||||
### Fixed (3.0)
|
||||
- Minor bugfixes for config parsing and Docker path handling.
|
||||
- Improved error messages for missing or invalid configuration in container environments.
|
||||
|
||||
---
|
||||
|
||||
## [2.8-Stable] - 2026-05-01
|
||||
|
||||
### Added (2.8)
|
||||
- Version check history for improved tracking.
|
||||
- Enhanced ClamAV scanning with concurrent workers.
|
||||
|
||||
### Changed (2.8)
|
||||
- Improved ISO-based storage for specialized use cases.
|
||||
- Auto-scaling workers for optimized performance.
|
||||
|
||||
### Fixed (2.8)
|
||||
- Minor issues in worker thread adjustments under high load.
|
||||
|
||||
---
|
||||
|
||||
## [2.7] - 2026-02-10
|
||||
|
||||
### Added (2.7)
|
||||
- Concurrency improvements and auto-scaling worker enhancements
|
||||
- Cleanup and removal of unused parameters in sorting functions
|
||||
|
||||
### Changed (2.7)
|
||||
- Additional logging for file scanning operations
|
||||
|
||||
### Fixed (2.7)
|
||||
- Minor stability issues related to ISO container mounting
|
||||
- Fixed dual stack for upload (IPv4/IPv6)
|
||||
|
||||
---
|
||||
|
||||
## [2.6-Stable] - 2025-12-01
|
||||
|
||||
### Added (2.6)
|
||||
- Deduplication support (removes duplicate files).
|
||||
- ISO Container management.
|
||||
- Dynamic worker scaling based on CPU & memory.
|
||||
- PreCaching feature for faster file access.
|
||||
|
||||
### Changed (2.6)
|
||||
- Worker pool scaling strategies for better performance.
|
||||
- Enhanced logging with rotating logs using lumberjack.
|
||||
|
||||
### Fixed (2.6)
|
||||
- Temporary file handling issues causing "Unsupported file type" warnings.
|
||||
- MIME type checks for file extension mismatches.
|
||||
|
||||
---
|
||||
|
||||
## [2.5] - 2025-09-15
|
||||
|
||||
### Added (2.5)
|
||||
- Redis caching integration for file metadata.
|
||||
- ClamAV scanning for virus detection before finalizing uploads.
|
||||
|
||||
### Changed (2.5)
|
||||
- Extended the default chunk size for chunked uploads.
|
||||
- Updated official documentation links.
|
||||
|
||||
### Fixed (2.5)
|
||||
- Edge case with versioning causing file rename conflicts.
|
||||
|
||||
---
|
||||
|
||||
## [2.0] - 2025-06-01
|
||||
|
||||
### Added (2.0)
|
||||
- Chunked file uploads and downloads.
|
||||
- Resumable upload support with partial file retention.
|
||||
|
||||
### Changed (2.0)
|
||||
- Moved configuration management to Viper.
|
||||
- Default Prometheus metrics for tracking memory & CPU usage.
|
||||
|
||||
### Fixed (2.0)
|
||||
- Race conditions in file locking under heavy concurrency.
|
||||
|
||||
---
|
||||
|
||||
## [1.0] - 2025-01-01
|
||||
|
||||
### Added (1.0)
|
||||
- Initial release with HMAC-based authentication.
|
||||
- Basic file upload/download endpoints.
|
||||
- Logging and fundamental configuration using .toml files.
|
Reference in New Issue
Block a user