Update changelog and README for HMAC File Server 3.2.1 release with critical fixes and enhancements

This commit is contained in:
2025-07-20 18:16:57 +00:00
parent 68ede52336
commit 28528cda6f
3 changed files with 243 additions and 4 deletions

View File

@ -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)

View File

@ -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

207
RELEASE_NOTES_3.2.1.md Normal file
View File

@ -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* 🛠️