Files
media-downloader/docs/archive/VERSION_UPDATE_SUMMARY.md
Todd 0d7b2b1aab Initial commit
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 22:42:55 -04:00

229 lines
5.3 KiB
Markdown

# 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
```bash
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
```bash
# 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
```bash
# Restart API
sudo systemctl restart media-downloader-api
# Create version backup
bash scripts/create-version-backup.sh
```
### Step 4: Verify
```bash
# 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
1. **Simplicity**: One command updates most files
2. **Safety**: Validation and verification built-in
3. **Documentation**: Clear instructions at multiple detail levels
4. **Consistency**: All version numbers updated together
5. **Traceability**: Clear audit trail of what was updated
---
## 📊 Version Number Format
Uses [Semantic Versioning](https://semver.org/): `MAJOR.MINOR.PATCH`
**Examples**:
- `7.0.0` - Major version with breaking changes
- `6.5.0` - Minor version with new features
- `6.4.3` - Patch version with bug fixes
**Current**: `6.4.2`
---
## 🔍 Quick Verification Command
Check all version references in one command:
```bash
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:
1. **Update Documentation**:
- `docs/VERSION_UPDATE_CHECKLIST.md` - Add to checklist
- `VERSION_UPDATE.md` - Note if critical
2. **Update Script**:
- `scripts/update-version.sh` - Add sed command
- Add verification check
3. **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)