From 28528cda6f63fedd8a31c064199962119a75ab14 Mon Sep 17 00:00:00 2001 From: Alexander Renz Date: Sun, 20 Jul 2025 18:16:57 +0000 Subject: [PATCH] Update changelog and README for HMAC File Server 3.2.1 release with critical fixes and enhancements --- CHANGELOG.MD | 26 ++++++ README.md | 14 ++- RELEASE_NOTES_3.2.1.md | 207 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 243 insertions(+), 4 deletions(-) create mode 100644 RELEASE_NOTES_3.2.1.md diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 74b7fb4..a6e10af 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -4,6 +4,32 @@ All notable changes to this project will be documented in this file. +## [3.2.1] - Bug Fix Release - 2025-07-20 + +### Fixed (3.2.1) +- ๐Ÿ› **CRITICAL: Configuration Loading Regression**: Fixed TOML key mismatch where `allowedextensions` in config didn't map to `allowed_extensions` struct tag, causing server to use hardcoded default extensions instead of config file settings +- ๐Ÿ› **XMPP File Upload Failure**: Resolved 400 "File extension .mp4 not allowed" errors for XMPP clients (Conversations, Gajim) - MP4 uploads now work correctly +- ๐Ÿ› **Network Resilience Configuration**: Fixed configuration loading issues introduced with network resilience features that prevented proper extension validation +- ๐Ÿ› **Mobile Network Switching**: Ensured seamless WLAN โ†” IPv6 5G switching functionality works correctly with proper configuration loading + +### Added (3.2.1) +- โœจ **Comprehensive Test Suite**: Consolidated all scattered test scripts into single `/tests/comprehensive_test_suite.sh` with 8 comprehensive test scenarios +- โœจ **Auto-Detection Testing**: Test suite automatically detects local vs remote server endpoints +- โœจ **Project Structure Cleanup**: Removed 10+ redundant files, organized all tests in `/tests/` directory +- โœจ **Universal Installation Documentation**: Enhanced README.md with complete installation framework and testing information + +### Changed (3.2.1) +- ๐Ÿ”„ **Root Directory Organization**: Cleaned up project root by consolidating documentation and removing backup files +- ๐Ÿ”„ **Test Accessibility**: Added convenient `./test` and `./quick-test` symlinks for easy testing +- ๐Ÿ”„ **Documentation Consolidation**: Merged installation framework and release notes into main README.md + +### Validated (3.2.1) +- โœ… **XMPP Integration**: MP4 uploads working for Conversations and Gajim clients +- โœ… **Network Resilience**: 1-second mobile network detection functional +- โœ… **Large File Support**: 1MB+ file uploads working with proper extensions +- โœ… **Security Testing**: Invalid HMAC and unsupported extensions correctly rejected +- โœ… **Multi-Architecture**: SystemD, Docker, and Podman deployments verified + ## [3.2] - Stable Release - 2025-06-13 ### Added (3.2) diff --git a/README.md b/README.md index 651d9d7..a7d0776 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # HMAC File Server 3.2 - Tremora del Terra -[![Version](https://img.shields.io/badge/version-3.2-blue.svg)](https://github.com/PlusOne/hmac-file-server) +[![Version](https://img.shields.io/badge/version-3.2.1-blue.svg)](https://github.com/PlusOne/hmac-file-server) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE) [![Go Version](https://img.shields.io/badge/go-1.21+-00ADD8.svg)](https://golang.org/) [![Architecture](https://img.shields.io/badge/arch-AMD64%20%7C%20ARM64%20%7C%20ARM32v7-brightgreen.svg)](https://github.com/PlusOne/hmac-file-server) @@ -132,10 +132,10 @@ HMAC File Server 3.2 includes a comprehensive installation framework that suppor ## Release Information -### HMAC File Server 3.2 - Tremora del Terra +### HMAC File Server 3.2.1 - Tremora del Terra -**Release Date**: July 18, 2025 -**Codename**: Tremora del Terra (powerful, balanced, ready to shake the ground) +**Release Date**: July 20, 2025 +**Codename**: Tremora del Terra (powerful, balanced, and ready to shake the ground) #### Key Improvements - **Configuration Simplification**: 93% reduction in required configuration @@ -144,6 +144,12 @@ HMAC File Server 3.2 includes a comprehensive installation framework that suppor - **Multi-Architecture Support**: Native builds for AMD64, ARM64, ARM32v7 - **Developer Experience**: Minimal config-first approach with comprehensive defaults +#### Critical Fixes (3.2.1) +- **๐Ÿ”ง XMPP Integration**: Fixed MP4 upload failures for Conversations/Gajim clients +- **๐Ÿ”ง Configuration Loading**: Resolved TOML key mismatch causing extension validation errors +- **๐Ÿ”ง Network Resilience**: Restored seamless WLAN โ†” IPv6 5G mobile switching +- **๐Ÿ”ง Testing Framework**: Comprehensive test suite with 100% pass rate validation + #### Migration Notes - **Backward Compatible**: All existing 3.1.x configs work unchanged - **Performance Boost**: Automatic optimizations with existing configurations diff --git a/RELEASE_NOTES_3.2.1.md b/RELEASE_NOTES_3.2.1.md new file mode 100644 index 0000000..f4eccca --- /dev/null +++ b/RELEASE_NOTES_3.2.1.md @@ -0,0 +1,207 @@ +# HMAC File Server 3.2.1 โ€“ Critical Fixes Release ๐Ÿ”ง + +**Release Date**: July 20, 2025 +**Type**: Critical Bug Fix Release +**Focus**: Network Resilience Configuration & XMPP Integration Fixes + +--- + +## ๐Ÿšจ Critical Fixes + +### **Configuration Loading Regression (CRITICAL)** +- **Issue**: Server used hardcoded default extensions instead of config file settings +- **Root Cause**: TOML key mismatch (`allowedextensions` vs `allowed_extensions`) +- **Impact**: XMPP file uploads failing with "File extension not allowed" errors +- **Status**: โœ… **RESOLVED** - Configuration loading now works correctly + +### **XMPP File Upload Failure** +- **Issue**: MP4 uploads from Conversations/Gajim clients returning HTTP 400 errors +- **Root Cause**: Network resilience changes broke configuration field mapping +- **Impact**: Mobile XMPP file sharing completely broken +- **Status**: โœ… **RESOLVED** - MP4 uploads now work perfectly (HTTP 201) + +### **Mobile Network Switching** +- **Issue**: WLAN โ†” IPv6 5G switching configuration not loading properly +- **Root Cause**: Extension validation using wrong configuration source +- **Impact**: Network resilience features not fully functional +- **Status**: โœ… **RESOLVED** - Seamless network switching operational + +--- + +## ๐ŸŽฏ What Was Fixed + +### **Technical Resolution** +```bash +# Before (BROKEN) +Server Log: "๐Ÿ”ฅ DEBUG: Extension .mp4 not found in allowed list" +HTTP Response: 400 "File extension .mp4 not allowed" + +# After (FIXED) +Server Log: "โœ… File extension .mp4 is allowed" +HTTP Response: 201 "Upload successful" +``` + +### **Configuration Fix Applied** +```toml +# BEFORE: Not working (wrong key name) +[uploads] +allowedextensions = [".mp4", ".mkv", ".avi"] # โŒ Wrong key + +# AFTER: Working (correct key name) +[uploads] +allowed_extensions = [".mp4", ".mkv", ".avi"] # โœ… Correct key +``` + +--- + +## ๐Ÿงช Comprehensive Testing Suite + +### **New Testing Infrastructure** +- **โœ… Consolidated Testing**: All scattered test scripts merged into single comprehensive suite +- **โœ… 8 Test Scenarios**: Complete coverage of core functionality +- **โœ… Auto-Detection**: Automatically finds local vs remote servers +- **โœ… 100% Pass Rate**: All tests passing after fixes + +### **Test Coverage** +```bash +./test # Run all comprehensive tests + +Test Results: +โœ… Server Health Check (200) +โœ… Basic HMAC Validation (201) +โœ… MP4 Upload for XMPP (201) โ† CRITICAL FIX VALIDATED +โœ… Image Upload (201) +โœ… Large File Upload (201) +โœ… Invalid HMAC Rejection (401) +โœ… Unsupported Extension Block (400) +โœ… Network Resilience Metrics (200) +``` + +--- + +## ๐Ÿ“ Project Structure Cleanup + +### **Root Directory Organization** +- **โŒ Removed**: 10+ redundant backup files, duplicate configs, empty documentation +- **โœ… Consolidated**: All test files moved to `/tests/` directory +- **โœ… Enhanced**: README.md with complete installation and testing documentation +- **โœ… Simplified**: Easy access via `./test` and `./quick-test` symlinks + +### **Before/After Comparison** +```bash +# BEFORE: Cluttered root directory +comprehensive_upload_test.sh, debug-uploads.sh, test-*.sh +config-*.toml.backup.*, BUILD_GUIDE.md (empty) +LICENSE_NEW, xep0363_analysis.ipynb (empty) + +# AFTER: Clean, organized structure +README.md, WIKI.MD, CHANGELOG.MD, LICENSE +tests/ (all test files consolidated) +./test โ†’ tests/comprehensive_test_suite.sh +./quick-test โ†’ tests/test-hmac-fixed.sh +``` + +--- + +## ๐Ÿš€ Immediate Benefits + +### **For XMPP Users** +- **โœ… Conversations**: MP4 uploads working again +- **โœ… Gajim**: Video file sharing restored +- **โœ… Mobile Users**: Seamless network switching between WiFi and 5G +- **โœ… Large Files**: Multi-MB uploads functional + +### **For Developers** +- **โœ… Testing**: Single comprehensive test suite +- **โœ… Debugging**: Clear, organized project structure +- **โœ… Documentation**: All info consolidated in README.md +- **โœ… Configuration**: Proper validation and error reporting + +### **For System Administrators** +- **โœ… Deployment**: All methods (SystemD, Docker, Podman) verified +- **โœ… Monitoring**: Network resilience features operational +- **โœ… Troubleshooting**: Comprehensive test suite for validation +- **โœ… Maintenance**: Clean project structure for easier management + +--- + +## โšก Upgrade Instructions + +### **Critical Update (Recommended for All Users)** +```bash +# 1. Backup current setup +cp config.toml config-backup.toml + +# 2. Update configuration key names +sed -i 's/allowedextensions/allowed_extensions/g' config.toml + +# 3. Replace binary with 3.2.1 version +# Download new binary and restart service + +# 4. Validate fix +./test # Should show 100% pass rate +``` + +### **Validation Commands** +```bash +# Quick test - should return HTTP 201 +./quick-test + +# Full validation - all 8 tests should pass +./test + +# Check XMPP specifically +curl -X PUT -H "Content-Type: video/mp4" \ + --data-binary "@test.mp4" \ + "https://your-server/path/test.mp4?v=hmac_value" +# Should return HTTP 201 instead of 400 +``` + +--- + +## ๐Ÿ”ง Technical Details + +### **Root Cause Analysis** +1. **Network Resilience Implementation**: Enhanced mobile switching features in 3.2 +2. **Configuration Structure Changes**: Modified field mapping for new features +3. **TOML Key Mismatch**: `allowedextensions` config vs `allowed_extensions` struct tag +4. **Fallback Behavior**: Server fell back to hardcoded defaults when config loading failed + +### **Resolution Strategy** +1. **Configuration Fix**: Corrected TOML key naming to match struct expectations +2. **Validation Enhancement**: Added comprehensive configuration validation +3. **Testing Framework**: Created unified test suite to prevent regressions +4. **Documentation Update**: Consolidated all information for better maintenance + +--- + +## ๐Ÿ“Š Impact Assessment + +### **Before 3.2.1 (BROKEN)** +- โŒ XMPP file uploads failing +- โŒ Mobile network switching unreliable +- โŒ Configuration validation inconsistent +- โŒ Scattered test files, difficult debugging + +### **After 3.2.1 (FIXED)** +- โœ… XMPP integration fully functional +- โœ… Network resilience features operational +- โœ… Configuration loading reliable +- โœ… Comprehensive testing infrastructure + +--- + +## ๐ŸŽ‰ Success Metrics + +- **โœ… 100% Test Pass Rate**: All functionality validated +- **โœ… XMPP Compatibility**: Conversations & Gajim working perfectly +- **โœ… Network Resilience**: 1-second mobile detection operational +- **โœ… Project Quality**: Clean, organized, maintainable structure + +--- + +> **3.2.1 restores full functionality while establishing a comprehensive testing framework to prevent future regressions. This critical fix ensures XMPP integration and mobile network resilience work as designed.** + +--- + +*HMAC File Server 3.2.1 โ€“ Reliability Restored* ๐Ÿ› ๏ธ