5.3 KiB
Version Update System - Summary
Created: 2025-10-31 (v6.4.2) Purpose: Centralized system for managing version numbers across the application
📦 New Files Created
1. Quick Reference Guide
File: /opt/media-downloader/VERSION_UPDATE.md
- Fast track instructions (5 minutes)
- Links to full documentation
- Located in root for easy access
2. Complete Checklist
File: /opt/media-downloader/docs/VERSION_UPDATE_CHECKLIST.md
- Comprehensive step-by-step guide
- All 8 version locations documented
- Verification procedures
- Common mistakes to avoid
- Troubleshooting section
3. Automated Update Script
File: /opt/media-downloader/scripts/update-version.sh
- Updates 5 files automatically
- Validates version format
- Verifies all changes
- Interactive confirmation
- Color-coded output
4. README.md Updates
File: /opt/media-downloader/README.md
- Added "Version Updates" section
- Organized documentation links
- Updated to v6.4.2
📍 Version Storage Locations
Automated by Script (5 files)
✅ /opt/media-downloader/VERSION
✅ web/backend/api.py (FastAPI version, line ~266)
✅ web/frontend/package.json (npm version, line 4)
✅ web/frontend/src/App.tsx (UI menus, lines ~192 & ~305)
✅ web/frontend/src/pages/Configuration.tsx (About tab, lines ~2373 & ~2388)
Manual Updates Required (3 files)
❌ data/changelog.json - Add new version entry at top
❌ CHANGELOG.md - Add new version section at top
❌ README.md - Update version in header (line 3)
🚀 Usage Example
Step 1: Run Automated Script
cd /opt/media-downloader
bash scripts/update-version.sh 6.5.0
Output:
- Updates 5 files automatically
- Verifies all changes
- Shows what needs manual updates
Step 2: Manual Updates
# Edit changelog files
nano data/changelog.json # Add entry at TOP
nano CHANGELOG.md # Add section at TOP
nano README.md # Update line 3
Step 3: Restart & Backup
# Restart API
sudo systemctl restart media-downloader-api
# Create version backup
bash scripts/create-version-backup.sh
Step 4: Verify
# Check all version references
grep -rn "6\.5\.0" VERSION web/backend/api.py web/frontend/package.json \
web/frontend/src/App.tsx web/frontend/src/pages/Configuration.tsx \
data/changelog.json CHANGELOG.md README.md 2>/dev/null | grep -v node_modules
# Open browser and check:
# - Configuration → About tab
# - Desktop/mobile menu version
# - Health page loads correctly
🎯 Design Goals
- Simplicity: One command updates most files
- Safety: Validation and verification built-in
- Documentation: Clear instructions at multiple detail levels
- Consistency: All version numbers updated together
- Traceability: Clear audit trail of what was updated
📊 Version Number Format
Uses Semantic Versioning: MAJOR.MINOR.PATCH
Examples:
7.0.0- Major version with breaking changes6.5.0- Minor version with new features6.4.3- Patch version with bug fixes
Current: 6.4.2
🔍 Quick Verification Command
Check all version references in one command:
cd /opt/media-downloader
grep -rn "$(cat VERSION)" \
VERSION \
web/backend/api.py \
web/frontend/package.json \
web/frontend/src/App.tsx \
web/frontend/src/pages/Configuration.tsx \
data/changelog.json \
CHANGELOG.md \
README.md \
2>/dev/null | grep -v node_modules
Should show 8+ matches across all key files.
📚 Documentation Hierarchy
Quick Reference (5 min):
└── VERSION_UPDATE.md
Complete Guide (15 min):
└── docs/VERSION_UPDATE_CHECKLIST.md
Automated Tool:
└── scripts/update-version.sh
This Summary:
└── docs/VERSION_UPDATE_SUMMARY.md
✅ Success Criteria
After a version update, verify:
- All 8 files contain new version number
- No references to old version remain
- API service restarted successfully
- Frontend displays new version in 3 locations:
- Desktop menu (bottom of sidebar)
- Mobile menu (bottom)
- Configuration → About tab
- Health page loads without errors
- Version backup created successfully
- No console errors in browser
🛠️ Maintenance
Adding New Version Locations
If version appears in a new file:
-
Update Documentation:
docs/VERSION_UPDATE_CHECKLIST.md- Add to checklistVERSION_UPDATE.md- Note if critical
-
Update Script:
scripts/update-version.sh- Add sed command- Add verification check
-
Update This Summary:
- Add to "Version Storage Locations"
Script Improvements
Located in: /opt/media-downloader/scripts/update-version.sh
Current features:
- Version format validation
- Interactive confirmation
- Automated updates (5 files)
- Verification checks
- Color-coded output
Future enhancements:
- Automatic changelog.json update
- Automatic CHANGELOG.md template
- README.md header auto-update
- Git commit creation option
- Rollback capability
📝 Notes
- Created during: v6.4.2 release
- Motivation: Prevent version number inconsistencies
- Files: 8 locations across Python, TypeScript, JSON, and Markdown
- Time saved: ~10 minutes per release
- Errors prevented: Missing version updates in UI/API
Last Updated: 2025-10-31 (v6.4.2)