Files
Trackeep/RELEASE_v1.2.5.md
T
Tomas Dvorak 3b8e14c6b8 chore: update to v1.2.5 and simplify version management
🎯 Simplified Version System:
- Update frontend/backend to v1.2.5 in package.json and go.mod
- Frontend reads version from package.json directly
- Backend reads version from go.mod directly
- No environment variables needed for versioning

🔄 Automated Release Workflow:
- GitHub Actions automatically updates all version files
- Extracts version from Git tag (v1.2.5)
- Updates package.json, go.mod, docker-compose files
- Builds and pushes Docker images with proper tags
- Creates GitHub release automatically

🚀 User Experience:
- Just: docker compose up
- System auto-detects version from code
- Updates work with no manual setup
- Proper semantic versioning (MAJOR.MINOR.PATCH)

Ready for automated release!
2026-02-27 19:08:24 +01:00

5.0 KiB

🎉 Trackeep v1.2.5 Release Complete!

What We Accomplished

🏷️ Proper Semantic Versioning

  • Created version v1.2.5 following MAJOR.MINOR.PATCH format
  • Git tag created: v1.2.5
  • Version pushed to origin
  • Ready for GitHub Actions automated builds

🔄 Complete Update System

  • No OAuth required - removed authentication dependency
  • Docker-based - uses container registry pulls
  • Latest tags - always gets newest versions
  • Integrated UI - update notifications in left navigation
  • Auto-checking - every 24 hours in background
  • One-click updates - users can update directly from UI

🐳 Docker Configuration

  • docker-compose.yml - local builds with version variables
  • docker-compose.prod.yml - production with latest images
  • Version environment - APP_VERSION passed to containers
  • Docker socket - mounted for in-container updates

🚀 Automated Release Workflow

  • GitHub Actions - .github/workflows/release.yml
  • Semantic version extraction - from Git tags
  • Multi-arch builds - backend and frontend matrix
  • Docker registry push - automatic with version tags
  • GitHub releases - automated creation
  • SBOM generation - security and compliance

📋 Documentation Created

  • VERSION_WORKFLOW.md - complete versioning guide
  • Release script - manual release automation
  • Update guides - user documentation

🎯 How Users Get Updates

Current Experience:

# User just runs:
docker compose up

# System automatically:
# 1. Sets APP_VERSION from environment
# 2. Checks for updates every 24h
# 3. Shows update button in left nav
# 4. Pulls latest images when clicked
# 5. Restarts services automatically

Version Detection:

  • Backend: Reads APP_VERSION environment variable
  • Frontend: Reads VITE_APP_VERSION from build
  • Comparison: Current vs latest tag in registry

Update Flow:

  1. Background check → API call to /api/updates/check
  2. Version compare → Semantic version comparison
  3. UI notification → Update button appears in left sidebar
  4. User action → Click to install update
  5. Docker pull → Backend pulls latest images
  6. Service restart → Automatic with new images

📦 Release Strategy

Tag Management:

ghcr.io/dvorinka/trackeep/backend:latest     ← Always newest
ghcr.io/dvorinka/trackeep/backend:1.2.5  ← This release
ghcr.io/dvorinka/trackeep/backend:1.2.4  ← Previous release

ghcr.io/dvorinka/trackeep/frontend:latest    ← Always newest  
ghcr.io/dvorinka/trackeep/frontend:1.2.5  ← This release
ghcr.io/dvorinka/trackeep/frontend:1.2.4  ← Previous release

Semantic Version Rules:

1.2.5 → 1.3.0  (MINOR: new features)
1.2.5 → 1.2.6  (PATCH: bug fixes)
1.2.5 → 2.0.0  (MAJOR: breaking changes)

🔄 Future Release Process

# 1. Make changes
git commit -m "feat: add new feature"

# 2. Bump version (semantic-release will handle)
# 3. Push to trigger GitHub Actions
git push origin main

# 4. GitHub Actions automatically:
#    - Builds Docker images
#    - Pushes to registry
#    - Creates GitHub release
#    - Updates documentation

Manual:

# 1. Use release script
./scripts/release.sh 1.2.6

# 2. Or manual process
export APP_VERSION=1.2.6
git tag v1.2.6
git push origin v1.2.6
docker build & push

Industry Best Practices Implemented

Version Management:

  • Semantic versioning (MAJOR.MINOR.PATCH)
  • Environment variable configuration
  • Git tagging with proper format
  • Automated changelog generation

Docker Strategy:

  • Multi-stage builds
  • Layer caching
  • Security scanning (SBOM)
  • Proper tagging (latest + versioned)

Release Automation:

  • GitHub Actions CI/CD
  • Automated testing
  • Artifact management
  • Rollback capability

User Experience:

  • Zero-friction updates
  • Background checking
  • UI notifications
  • One-click installation
  • No authentication required

🎊 Next Steps

For v1.3.0:

  1. New features → Add to backlog
  2. Bug fixes → Document in commits
  3. Version bump1.3.0 (MINOR version)

Monitoring:

  1. Update analytics → Track update adoption
  2. Error tracking → Monitor update failures
  3. User feedback → Collect update experience

🎉 Release Status: COMPLETE

Trackeep v1.2.5 is now ready with:

  • Proper semantic versioning
  • Automated release workflow
  • Docker-based update system
  • Complete user documentation
  • Industry best practices

Users can now:

  • 🚀 docker compose up and get automatic updates
  • 🔄 See update notifications in left navigation
  • Install updates with one click
  • 📦 Always get the latest versions

The update system is production-ready! 🚀