# 🎯 Version Update Solution - Never Miss Version Numbers Again!

## Problem
Version numbers were scattered across 7+ files in different formats, making it easy to miss some during updates.

## Solution
**Centralized automated version update script** that updates ALL version references in one command!

---

## 📝 All Version Locations

The script automatically updates these files:

| File | Location | Format |
|------|----------|--------|
| `VERSION` | Root | `6.10.0` |
| `README.md` | Header | `**Version:** 6.10.0` |
| `README.md` | Directory structure comment | `# Version number (6.10.0)` |
| `Login.tsx` | Login page footer | `v6.10.0 • Media Downloader` |
| `App.tsx` | Desktop menu | `v6.10.0` |
| `App.tsx` | Mobile menu | `v6.10.0` |
| `Configuration.tsx` | About section | `Version 6.10.0` |
| `Configuration.tsx` | Comments | `v6.10.0` |
| `package.json` | NPM package | `"version": "6.10.0"` |

---

## 🚀 How to Use

### Simple One-Command Update

```bash
cd /opt/media-downloader
./scripts/update-all-versions.sh 6.11.0
```

That's it! All 9 version references updated automatically.

### What the Script Does

1. ✅ Updates VERSION file
2. ✅ Updates README.md (header + comment)
3. ✅ Updates all frontend files (Login, App, Configuration)
4. ✅ Updates package.json
5. ✅ Shows confirmation of all updates
6. ✅ Provides next steps

---

## 📋 Complete Workflow

```bash
# 1. Update all version numbers (automatic)
./scripts/update-all-versions.sh 6.11.0

# 2. Update changelogs (manual - requires human description)
# Edit: data/changelog.json (add new entry at top)
# Edit: docs/CHANGELOG.md (add new section at top)

# 3. Create version backup
./scripts/create-version-backup.sh

# 4. Verify (frontend auto-rebuilds if dev server running)
# - Check login page shows v6.11.0
# - Check Dashboard displays correctly
# - Check Configuration shows Version 6.11.0
```

---

## ✨ Benefits

- ✅ **Never miss a version number** - All locations updated automatically
- ✅ **Consistent formatting** - Script handles all format variations
- ✅ **Fast** - Takes 2 seconds instead of manual editing
- ✅ **Reliable** - No human error from forgetting files
- ✅ **Documented** - Script shows what it updates

---

## 🔍 Verification

The script itself doesn't verify, but you can check:

```bash
# Quick check
cat VERSION
grep "**Version:**" README.md
grep "v6" web/frontend/src/pages/Login.tsx
grep "v6" web/frontend/src/App.tsx
grep "Version 6" web/frontend/src/pages/Configuration.tsx
grep '"version"' web/frontend/package.json
```

Or just open the web UI and check:
- Login page footer
- Dashboard (should load without errors)
- Configuration → About section

---

## 📦 What's Not Automated (By Design)

These require human input and are intentionally manual:

1. **data/changelog.json** - Requires description of changes
2. **docs/CHANGELOG.md** - Requires detailed release notes

This is good! These files need thoughtful descriptions of what changed.

---

## 🎉 Result

**Before**: Manual editing of 7 files, easy to forget some, took 10+ minutes

**After**: One command, 2 seconds, never miss a version number!

```bash
./scripts/update-all-versions.sh 6.11.0
# Done! ✨
```

---

**Created**: 2025-11-05  
**Version**: 6.10.0
