Update changelog and README for HMAC File Server 3.2.1 release with critical fixes and enhancements
This commit is contained in:
26
CHANGELOG.MD
26
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)
|
||||
|
14
README.md
14
README.md
@ -1,6 +1,6 @@
|
||||
# HMAC File Server 3.2 - Tremora del Terra
|
||||
|
||||
[](https://github.com/PlusOne/hmac-file-server)
|
||||
[](https://github.com/PlusOne/hmac-file-server)
|
||||
[](LICENSE)
|
||||
[](https://golang.org/)
|
||||
[](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
207
RELEASE_NOTES_3.2.1.md
Normal 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* 🛠️
|
Reference in New Issue
Block a user